Poll script met admin

Door Deze site laat je geen account deleten, 21 jaar geleden, 7.708x bekeken

Een poll script, ik wil binnenkort graag beginnen met scripts maken en die vervolgens te verkopen, maar ik heb nog wat tips nodig, dus graag tips bij dit script, en goed opgebouwde kritiek is ook welkom.

Het is een simpel script: het laat een administrator polls toevoegen en verwijderen, de bezoekers kunnen stemmen(1x maar) en het script weergeeft het percentage stemmen bij iedere optie. Er kunnen meer polls tegelijkertijd draaien. Installeren is makkelijk, gewoon de instellingen veranderen en de sql uitvoeren, het bestand moet trouwens wel pollscript.php heten, ik ben namelijk vergeten de naam variabel te maken xD.

Voorbeeld: http://www.gtaweb.nl/Nieuwe%20map/pollscript.php

Gesponsorde koppelingen

PHP script bestanden

  1. poll-script-met-admin

 

Er zijn 13 reacties op 'Poll script met admin'

PHP hulp
PHP hulp
0 seconden vanaf nu
 

Gesponsorde koppelingen
Hylke
Hylke
21 jaar geleden
 
Misschien even een online voorbeeldje? Ik ben te lui om nu echt goed te kijken maar de volgende dingen vielen me op: Als ik zo snel even kijk naar je database ontwerp denk ik dat je het nog iets beter zou kunnen doen, je zou bijvoorbeeld een aparte tabel met opties kunnen maken, die je vervolgens een poll_id meegeeft of iets dergelijks. Tevens kun je beter een primary_key maken van die unique. Verder vraag ik me af of het handig is om alle html in je php code te houden. En is het niet handig om hier een soort functie van te maken die je gewoon aanroept op de plek waar je de poll wilt hebben? Ben benieuwd hoe het werkt :-) zet even een voorbeeld online a.u.b
- wes  -
- wes -
21 jaar geleden
 
0 +1 -0 -1
vuile gore backticks eruit , dan praten we verder
PHP Newbie
PHP Newbie
21 jaar geleden
 
0 +1 -0 -1
- De database namen "Poll" en "Polls" zijn niet ideaal

- Successvol verwijdert moet zijn Succesvol verwijderd

- backtics (`) zijn vies

- Gooi altijd een LIMIT 1 achter DELETE queries waarvan je zeker weet dat er maar 1 resultaat verwijderd moet worden. Gewoon voor de zekerheid.

- die() is vies. Daarmee stop je de hele pagina. Los dit gewoon op met een if/else

- Gooi soms een keer een lege regel tussen de code door, verhoogt de leesbaarheid (tussen regel 42 en 43 bijvoorbeeld)

- $iets = $_GET['iets'] heeft niet zo veel nut. Kan je hooguit een notice opleveren

- Al die elseif'jes met $pagina kun je vervangen door een switch()

- Variabelen dien je eigenlijk te declareren d.m.v. $var = null. Bij $var = '' maak je er al direct een string van, terwijl het misschien wel een integer moet worden. In PHP is dit niet zo van belang, maar als je met andere talen aan de slag wilt ga je wel tegen dit probleem aanlopen.

- $i = 0; while($i < $iets) { .. $i++ }. Daar hebben we de for loop voor: for($i = 0; $i < $iets; $i++)

- if(!isset($pagina) || $pagina == '') {. Daar hebben we empty() voor. if(empty($pagina)). Maar dit moet dus eigenlijk zijn: if(empty($_GET['p]))

- if($stap == 1 || !isset($stap) || $stap == ""). Dit levert je gegarandeerd een notice op wanneer $stap niet bestaat.
Cake Masher
Cake Masher
21 jaar geleden
 
0 +1 -0 -1
persoonlijk vind ik het script niet egt overzichterlijk.

Voor de rest gebruik je best wel onnodige dingen (of zie ik dat nou verkeerd..?)

Zoals dit:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
<?php
$pagina
= $_GET['p'];
if(!isset($pagina) || $pagina == '') {
    $pagina = 'poll';
}

if($pagina == 'poll') {

?>


dan zou kunnen worden:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
<?php
if (!isset ($_GET['p']) && empty ($_GET['p']))
{

   // hier alles
}
else
{
   $pagina = $_GET['p'];
}

?>


dat bedoel ik ook met overzichterlijk scripten..
Begin bijvoorbeeld met een enter na het einde van een if, else, while, for, etc.. te zetten

dus dan krijg je zo iets:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
<?php
if (blah) // hier een enter
{

// of

}
else      // ^^
{

// of

for (blah) // enter
{



//ineplaats van:

if (blah){

// of

}else{

//of

for (blah){

?>


Ook als je dingen zoals dit gebruikt:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<a href="mailto:'.$mail.'">'.$mail.'</a>


een spatie tussen de punt, ' en $ zetten.. dus dit:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<a href="mailto:' . $mail . '">' . $mail . '</a>


Snap je een beetje wat ik bedoel??
Dan vind ik het persoonlijk een stuk beter uit zien.

Ik hoop dat je er wat aan hebt ^^.

Veel geluk met je scripts!
M Ypma
M Ypma
21 jaar geleden
 
0 +1 -0 -1
Je zegt dat je wilt gaan verkopen...
dat zijn je scripts echt nog niet waard vriend.
Je constructie alleen al, dat de opties komma gescheiden staan in een varchar die maar 255 tekens aankan... verschrikkelijk, wat is het voor kleine moeite om de opties in een eigen tabel op te slaan?
Verder heb ik nog meer kritiek maar dat is hierboven al genoemd.
Mijn advies is dat je nog heel veel te leren hebt voor je serieus je creaties betaald aan mag bieden.
Onbekend Onbekend
Onbekend Onbekend
21 jaar geleden
 
0 +1 -0 -1
Jammer dat je geen voorbeeld heb, voor zover ik nu snel zie is het best netjes gescript. Je kunt ook $_SERVER['PHP_SELF'] gebruiken ipv pollscript.php, je kunt met dreamweaver dat makkelijk snel overal vervangen dmv replace all.

Ook is heb jammer dat je geen commentaar gebruikt.

Wat rick in z'n eerste argument zegt ben ik het mee eens, maar dat met die enter kost alleen maar meer regels, meer parse tijd en dat vind ik persoonlijk niet overzichtelijker worden.
 
0 +1 -0 -1
Bedankt voor alle tips, voorbeeld kan ik nu helaas niet online zetten omdat ik geen eigen site meer heb xD :S.
Mvos
mvos
21 jaar geleden
 
0 +1 -0 -1
ik heb even een voorbeeltje gemaakt:
http://www.gtaweb.nl/Nieuwe%20map/pollscript.php
Administratiepaneel wachtwoord: test
 
0 +1 -0 -1
Bedankt, ik zie nu dat ik de mogelijkheid op 0 opties had moeten verwijderen
en dat ik number_format had moeten gebruiken voor 2 cijfers achter de komma
Thijs X
Thijs X
21 jaar geleden
 
0 +1 -0 -1
Zie dat meesta al gezegt is ;)

Echter is je Database structuur ook niet goed, nooit meerdere opties in 1 varchar opslaan.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
poll_vraag
-------------
id
vraag

poll_antwoord
-----------------
id
poll_id
antwoord

poll_stem
-------------
id
poll_id
antwoord_id
ip       ( VARCHAR 15 is voldoende! een ip is nooit langer dan 15 chars )
PHP erik
PHP erik
21 jaar geleden
 
0 +1 -0 -1
@Thijs
Ik ben het met je eens dat het datamodel niet klopt en jouw model beter is, wel 2 aanmerkingen. Ten eerste is een ipv6 wel groter dan 15 karakters, ten tweede is varchar variabel (VARchar) dus maakt varchar15 of 255 eigenlijk niets uit, want MySQL gaat je toch geen errormelding geven als de waarde groter is dan 15 karakters (dat is dus een reden om nooit MySQL te gebruiken). Maar een varchar255 neemt niet meer ruimte in dan een varchar15.
Joep Tegelaar
Joep Tegelaar
20 jaar geleden
 
0 +1 -0 -1
Hoi,

Ik heb jouw poll op mijn eigen site gezet. Je kan de poll bekijken: http://myblogsite.nl/pollscript.php
Maar als ik een poll probeer te verwijderen gaat het fout.
Dan krijg ik de volgende foutmelding: Fout in mysql! Mail [email protected] of probeer het opnieuw.
(Ik heb even het E-mail adres weg gehaald want ik wil geen spam)
Zie mijn vraag op het forum: http://phphulp.nl/forum/showtopic.php?cat=1&id=54915&page=
PHP hulp
PHP hulp
0 seconden vanaf nu
 

Gesponsorde koppelingen
Emmanuel Delay
Emmanuel Delay
20 jaar geleden
 
0 +1 -0 -1
Waar wordt die $_POST['id'] uit gehaald (lijn 189)?

Je krijgt radio buttons met de naam verwijder. Die bevat de id die je wil verwijderen.

Op lijn 189 zou waarschijnlijk moeten staan:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<? $id = $_POST['verwijder'];?>
in plaats van
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<? $id = $_POST['id'];?>


Vergis ik me?

Om te reageren heb je een account nodig en je moet ingelogd zijn.

Inhoudsopgave

  1. poll-script-met-admin

Labels

  • Geen tags toegevoegd.

Navigatie

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.