Hulp met Poll opdracht voor school

Pagina: 1
Acties:

  • Erhnam
  • Registratie: Januari 2000
  • Laatst online: 20-09 16:25

Erhnam

het Hardware-Hondje :]

Topicstarter
Ik moet voor school een opdracht maken: Een meerdere vragen-formulier. Ik zat zelf te denken aan een poll waar de bezoeker op kan stemmen.

Een poll maken is me al gelukt. Alle informatie wordt keurig opgeslagen. Alleen nu wil ik dat zodra de bezoeker heeft gestemd hij door wordt gelinkt naar een volgende site waar een nieuwe poll op hem aan het wachten is. Een andere optie kan zijn meerdere polls te maken op 1 site die de bezoeker allemaal in vult en als hij op Klaar drukt dat alle resultaten dan naar voren komen.

Iemand tips en idee's ?

http://www.xbmcfreak.nl/


  • Dennis
  • Registratie: Februari 2001
  • Laatst online: 00:03
Ehm, dat is toch reuze simpel. Bij de processing van de 1e krijg je meteen de volgende poll voor je neus geschoteld in de html output :)

  • Erhnam
  • Registratie: Januari 2000
  • Laatst online: 20-09 16:25

Erhnam

het Hardware-Hondje :]

Topicstarter
php_poll.php, Mijn PHP Polletje.. Werkt Prima..


<?php
// En: Begin PHP Code
// Necessary Variables:

$RESULT_FILE_NAME = "poll_data.txt";
// En: Absolute path and name to file contain poll data.

$QUESTION = "Op welke partij zou u nu stemmen?";
// En: Question Text.

$ANSWER = array("VVD", "PvdA", "CDA", "D66", "GroenLinks");
// En: All answer.

$IMG_DIR_URL = "./vote";
// En: URL Directory of poll graphs.

$REVOTE_TIME = 3600;
// En: Time (second) after people can revote, use cookies.

// End Necessary Variables section
/******************************************************************************/

if (! $vote && ! $result) {
echo "<FORM METHOD=\"POST\">\n";
echo "<TABLE WIDTH=200 BORDER=1><TR><TD><TABLE WIDTH=\"100%\" BORDER=0>\n";
echo "<TR><TH>$QUESTION</TH></TR>\n";
while (list($key, $val) = each($ANSWER)) {
echo "<TR><TD align=\"left\"><INPUT TYPE=\"radio\" NAME=\"answer\" VALUE=\"$key\"> $val</TD></TR>\n";
}
echo "<TR><TD align=\"left\"><INPUT TYPE=\"Submit\" NAME=\"vote\" VALUE=\" Vote \"></TD></TR>\n";
echo "<TR><TD align=\"left\"><INPUT TYPE=\"Submit\" NAME=\"result\" VALUE=\" See Result \"></TD></TR>\n";
echo "</TABLE></TD></TR></TABLE></FORM>";
} else {

$file_array = file($RESULT_FILE_NAME); // or error("Can not open \$RESULT_FILE_NAME");

// En: Save result
if ($answer < count($ANSWER) && $vote) {
if (count($file_array) < count($ANSWER)) {
$file_array = array("0\n", "0\n", "0\n", "0\n", "0\n", "0\n", "0\n", "0\n", "0\n", "0\n");
}
$old_answer = $file_array[$answer];
$old_answer = preg_replace("/\n\r*/", "", $old_answer);
$file_array[$answer] = ($old_answer + 1)."\n";

$file = join('', $file_array);
$fp = fopen("$RESULT_FILE_NAME", "w"); //or error("Can not write \$RESULT_FILE_NAME");
flock($fp, 1);
fputs($fp, $file);
flock($fp, 3);
fclose($fp);
echo "Hier kan later nog wat neer gezet worden!";
}

// En: Display result
while (list($key, $val) = each($file_array)) {
$total += $val;
}

echo "<h2>Resultaten:</h2>";
echo "<TABLE CELLSPACING=2 CELLPADDING=1 BORDER=1>";
echo "<tr><th>Antwoord</th><th>Percentage</th><th>Stemmen</th></tr>";

while (list($key, $val) = each($ANSWER)) {
$percent = $file_array[$key] * 100 / $total;
$percent_int = floor($percent);
$percent_float = number_format($percent, 1);
$tp += $percent_float;
echo "<tr><td> $ANSWER[$key] </td><td>[img]\"$IMG_DIR_URL/vote_left.gif\"><img[/img][img]\"$IMG_DIR_URL/vote_right.gif\">[/img]<td>$file_array[$key]</td></tr>";
}

echo "</TABLE><br>";
}




test.php, Page waar poll in komt te staan en die ga ik mooi maken :)

<HTML><HEAD><TITLE>Enquete Vraag 1</TITLE></HEAD>
<BODY BGCOLOR="white">

<BR><BR>
<P ALIGN="Center"><FONT FACE="Arial, helvetica" SIZE="+2" COLOR="#336699"><STRONG><EM>Vraag1</EM></STRONG></FONT></P>
<BR>

<CENTER>

<!-- En: execute poll -->
<?php require "php_poll.php"; ?>

</CENTER>


<CENTER><BR><BR>
<FONT FACE="Arial" SIZE=-2> <EM>&copy Copyright 2000 <A HREF="mailto:Piethein.Strengholt@iie.nl">PietheinStrengholt
</A></EM></FONT>
</CENTER></BODY></HTML>


Misschien zou iemand kunnen zeggen wat ik hier dan aan moet veranderen ? bedankt!

http://www.xbmcfreak.nl/


  • ACM
  • Registratie: Januari 2000
  • Niet online

ACM

Software Architect

Werkt hier

(jarig!)
Op woensdag 03 oktober 2001 14:49 schreef Erhnam het volgende:
Misschien zou iemand kunnen zeggen wat ik hier dan aan moet veranderen ? bedankt!
Vervang die [i] tags es door [php] tags?

  • FireFoz
  • Registratie: Juni 2001
  • Laatst online: 31-08 23:38
met header ofzo?

Leef lekker in het nu, er is niks anders


  • Erhnam
  • Registratie: Januari 2000
  • Laatst online: 20-09 16:25

Erhnam

het Hardware-Hondje :]

Topicstarter
Onder die tabel die er uit komt wil ik een Linkje van iets van.. Ga door naar de volgende vraag...

Denk dat hier iets in gesleuteld moet worden:

// En: Display result

while (list($key, $val) = each($file_array)) {
$total += $val;
}

echo "<h2>Resultaten:</h2>";
echo "<TABLE CELLSPACING=2 CELLPADDING=1 BORDER=1>";
echo "<tr><th>Antwoord</th><th>Percentage</th><th>Stemmen</th></tr>";

while (list($key, $val) = each($ANSWER)) {
$percent = $file_array[$key] * 100 / $total;
$percent_int = floor($percent);
$percent_float = number_format($percent, 1);
$tp += $percent_float;
echo "<tr><td> $ANSWER[$key] </td><td>[img]\"$IMG_DIR_URL/vote_left.gif\"><img[/img][img]\"$IMG_DIR_URL/vote_right.gif\">[/img]<td>$file_array[$key]</td></tr>";
}

echo "</TABLE><br>";
}


Maar ik weet niet wat :'(

http://www.xbmcfreak.nl/


  • Erhnam
  • Registratie: Januari 2000
  • Laatst online: 20-09 16:25

Erhnam

het Hardware-Hondje :]

Topicstarter
Het is me wel al gelukt om er iets onder te zetten

echo "Ga door naar de Volgende Vraag!";

Maar nu laat die alleen tekst zien. Hoe link ik hem nou door ? of te wel hoe maak ik een Url in PHP waar je op kan klikken.

http://www.xbmcfreak.nl/


  • LuCarD
  • Registratie: Januari 2000
  • Niet online

LuCarD

Certified BUFH

Op woensdag 03 oktober 2001 15:11 schreef Erhnam het volgende:
Het is me wel al gelukt om er iets onder te zetten

echo "Ga door naar de Volgende Vraag!";

Maar nu laat die alleen tekst zien. Hoe link ik hem nou door ? of te wel hoe maak ik een Url in PHP waar je op kan klikken.
Hoe doe je dat in HTML? *HINT*

Programmer - an organism that turns coffee into software.


Verwijderd

Op woensdag 03 oktober 2001 15:11 schreef Erhnam het volgende:
Het is me wel al gelukt om er iets onder te zetten

echo "Ga door naar de Volgende Vraag!";

Maar nu laat die alleen tekst zien. Hoe link ik hem nou door ? of te wel hoe maak ik een Url in PHP waar je op kan klikken.
mag ik raden op welke school je zit?

en hier maak je een denkfout.
je maakt gewoon HTML hoor, al laat je dat samenstellen door php. Dus die url blijft gewoon hetzelfde, of je hem nu maakt zoals je dat in je pagina zou doen of dat je het met php doet.
php genereert alleen je HTML in jou geval, remember that :)


Ik heb ooit een poll geschreven die het volgende doet:
random een poll pakken die niet gesloten is.
antwoorden opslaan in table +ip erbij
in een cookie opslaan welke poll al gevote is, zodat die niet meer gevraagd wordt wanneer de poll wordt aangeroepen.
als er geen 'open' polls meer zijn die niet zijn beantwoord geeft de poll de resultaten uit eerdere polls terug.

  • Erhnam
  • Registratie: Januari 2000
  • Laatst online: 20-09 16:25

Erhnam

het Hardware-Hondje :]

Topicstarter
hmmzzz

Kijk ik kan die url wel in die html code neer zetten.. Alleen staat die er dan al voordat de bezoeker een stem heeft uitgebracht en dat wil ik dus niet :)

Ik wil het in de php code zetten.. zodat pas als die bezoeker gestemd heeft de volgende url voor zijn gezicht krijgt. Ik neem aan dat ik niet zo maar: <a href="vraag2.php"> in mijn PHP code kan zetten.

http://www.xbmcfreak.nl/


Verwijderd

Op woensdag 03 oktober 2001 15:20 schreef Erhnam het volgende:
hmmzzz

Kijk ik kan die url wel in die html code neer zetten.. Alleen staat die er dan al voordat de bezoeker een stem heeft uitgebracht en dat wil ik dus niet :)

Ik wil het in de php code zetten.. zodat pas als die bezoeker gestemd heeft de volgende url voor zijn gezicht krijgt. Ik neem aan dat ik niet zo maar: <a href="vraag2.php"> in mijn PHP code kan zetten.
zoals ik al zei: "je maakt een denkfout"

dmv je PHP script stel je je HTML code samen, in php kun je dus voorwaarden aangeven wanneer er iets wel of iets niet weer gegeven moet worden. Maar de HTML die je uitspuigt is gewoon HTML, en niet PHP :) PHP zie je niet als gebruiker!!!!!!!!!!!!!!!!

Een voorbeeld voor jou:
PHP:
1
2
3
4
5
<?
if ($voted){
echo "<a href='$PHP_SELF?action=next'>volgende vraag</a>";
}
?>

en nee dit niet simpelweg in je code gooien want dan zul je zien dat het niet werkt, het is alleen een VOORBEELD.

  • Erhnam
  • Registratie: Januari 2000
  • Laatst online: 20-09 16:25

Erhnam

het Hardware-Hondje :]

Topicstarter
THX

echo "<a href='$PHP_SELF?action=next'>Ga door naar de Volgende vraag</a>";

Die had ik nodig :)

http://www.xbmcfreak.nl/

Pagina: 1