Poll Problem...

den setcookie Befehl nach dem voten setzen.
http://www.php.net/manual/de/function.setcookie.php

PHP:
setcookie( "voted", "true", "/", ".your-domain.de", 0 );
setcookie( "voteID", $ID, "/", ".your-domain.de", 0 );

// dann halt noch die Abfrage
// ...

ausserdem, solltest du dich auf einen Stil einigen. Entweder machst du alles nach der alten Schreibweise( $HTTP_POST_VARS, ... ) oder nach der neuen( $_GET, $_POST, $_COOKIE, usw. ), das erhoeht die uebersichtlichkeit enorm.

Noch ein Tipp( musst du alles nich machen ):
du kannst dir das ganze echo Zeugs ersparen wenn du, das z.b. so machst:
PHP:
<?php
// ...

while( list( $i, $answer ) = mysql_fetch_row( $result )) {
	?>
	<tr>
		<td width="10">&nbsp;</td>;
		<td class="poll_smalltext">
			<input class="radio" type="radio" name="a_id" value="<?=$i?>"> <?=$answer?>
		</td>
	</tr><br />
	<?php
}

// ...
?>
Die Methode kannst du eigentlich ueberall andwenden und erspart dir viel Schreibarbeit.

Wenn du dein Poll System noch verbessern willst, kannste alles per OOP machen.
 
Zuletzt bearbeitet:
ich habe mir mal gedanken gemacht, wenn ich den cookie setze am anfang der abfrage und ich aber als user gar nciht vote, wird dann im nächsten moment wenn ich auf meine nächste seite springe nciht direkt das ergebnis angezeigt?

Kann man nicht sagen das der Cookie erst gesetzt werden muss sobald man gevoted hat! oder geht das nicht?
 
natürlich geht das. machst halt im formular irgendwo noch ein unsichtbares input-feld, und am anfang der datei kommt dann folgendes hin:
PHP:
<?php
if(isset($_POST["name_des_unsichtbaren_input_feldes"]))
  setcookie();
?>
alles klar? na wunderbar.:)
 
oder du leitest über eine andere seite um, die dann über nen automatischen Refresh wieder auf die Anfangsseite geht.
Beispiel:

Index mit den Poll Optionen
mit dem <form method="post" action="poll.php">

=> durch submit auf die seite poll.php weiterleiten, bei dieser seite das Gewählte auswerten und gleichzeitig ein Cookie setzen

=> durch meta-refresh von der poll seite wieder zurück zur Index-Seite weiterleiten.
 
Mir wurde gesagt das eine Lösung durch Sessions eine noch bessere Variante wäre, leuchtet mir auch ein. Weiss jemand zufällig wie das funktioniert?
 
Zurück