Sub_Mat
Messages postés79Date d'inscriptionvendredi 27 mai 2005StatutMembreDernière intervention17 octobre 2010
-
23 juil. 2008 à 14:20
nicomilville
Messages postés3472Date d'inscriptionlundi 16 juillet 2007StatutMembreDernière intervention28 février 2014
-
23 juil. 2008 à 17:48
Bonjour à tous,
Voila j'ai trouvé ce script sur internet pour réaliser un sondage :
----------------------------------------------------------------------------------------------------------
<?
$data= "data.dat";
$votes="votes.dat";
$path_img="progress_sond.png";
$poll_name="Comment trouvez-vous notre site ?";
$dataf=file("data.dat");
if ($go !=1) {
echo "<form method=post>";
echo "<center> $poll_name </center><hr>";
for ($i =0; $i<= count($dataf)-1; $i++) {
echo " $dataf[$i]
";
}
echo "<hr>";
echo "<center></center>";
} else {
$file_votes =fopen($votes, "r");
$line_votes= fgets($file_votes, 255);
$single_vote=explode("|", $line_votes);
fclose($file_votes);
if ($result!=1) {
$file_votes=file($votes, "r");
if ($REMOTE_ADDR == $file_votes[1]) {
echo "<center> $poll_name </center><hr>";
echo "<center>
Nous vous rappelons que vous ne pouvez pas voter pour le même sondage 2 fois.<hr></center><center>Votre vote n'a pas été accepté.</center>";
exit;
}
$ficdest =fopen($votes, "w");
for ($i= 0; $i<=count($dataf)-1; $i++) {
if ($i == $vote) {
$single_vote[$i]+=1;
}
fputs($ficdest, "$single_vote[$i]|");
}
fclose($ficdest);
$ficdest=fopen($votes, "a");
fputs($ficdest, "\n$REMOTE_ADDR");
fclose($ficdest);
$result=1;
}
if ($result==1) {
for ($i=0; $i<=count($dataf)-1; $i++) {
$tot_votes+=$single_vote[$i];
}
echo "<center> $poll_name </center><hr>";
for ($i =0; $i<=count($dataf)-1; $i++) {
$stat[$i]=$single_vote[$i]/$tot_votes*100;
echo "";
echo "$dataf[$i]";
echo " (";
printf("%.1f", "$stat[$i]");
echo "%";
echo " (";
echo "$single_vote[$i]";
echo "))
";
echo "
";
}
echo "<hr><center>Total : $tot_votes votes</center>";
}
}
?>
-----------------------------------------------------------------------------------------------------------
Mais voila j'ai un problème, il utilise la fonction exit; et donc la suite du programme ce lance pas, ce qui est normal
Mais le problème c'est que la suite de ma page ne s'affiche pas, et donc le coté droit et le bas de ma page disparaisses.
Si quelqu'un pouvait m'aider sa serait cool
nicomilville
Messages postés3472Date d'inscriptionlundi 16 juillet 2007StatutMembreDernière intervention28 février 201436 23 juil. 2008 à 17:38
Oui, je sais pourquoi !
Le header se place avant tout code HTML, si il y a du code html avant, le header ne marchera pas et normalement il doit vous retourner une ereur du genre :
Fonction header cannot modify already send information...
Ou un truc du genre !
a++
Si la réponse vous convient, pensez : Réponse acceptée !
Sub_Mat
Messages postés79Date d'inscriptionvendredi 27 mai 2005StatutMembreDernière intervention17 octobre 2010 23 juil. 2008 à 16:10
Salut nicomilville,
Merci pour votre réponse, qui à été rapide !
Sa fait deux heures que j'essaye, mais je ni arrive pas !
Je ne vois pas trop comment je peux mettre une fonction
Est-ce que tu pourrais me montré comment je dois faire sur mon code ?
Merci d'avance,
Bonne après midi,
a++
Vous n’avez pas trouvé la réponse que vous recherchez ?
Sub_Mat
Messages postés79Date d'inscriptionvendredi 27 mai 2005StatutMembreDernière intervention17 octobre 2010 23 juil. 2008 à 16:37
J'ai essayé de remplacé exit par } else {, mais sa marche toujours pas.
J'ai aussi essayé d'isoler le code dans un fichier sondage.php,
puis l'appelé sur ma page principale avec <? require ("sondage.php"); ?>
Mais rien à faire, sa marche toujours pas ! (En même tant je mis attendais)
En gros, je suis désespéré !
Mais bon je sens qu'on vas y arriver !
a++
nicomilville
Messages postés3472Date d'inscriptionlundi 16 juillet 2007StatutMembreDernière intervention28 février 201436 23 juil. 2008 à 16:41
enlève carèment ton exit sans changer rien d'autre, il ne sert a rien car il est a la fin d'un else et c'est normal que tu ne puisse pas mettre de else, c'est déja dans un else !
a++
PS : remplace tes : <? en <?php car c'est plus portable !
Si la réponse vous convient, pensez : Réponse acceptée !
Sub_Mat
Messages postés79Date d'inscriptionvendredi 27 mai 2005StatutMembreDernière intervention17 octobre 2010 23 juil. 2008 à 17:09
Je veux qu'il soit compté mais que au premier clic !
Si on reclic après avoir voté, par contre là il ne doit pas reprendre en compte le vote, il doit affiché le message d'erreur "Votre vote n'a pas été accepté." et ne pas s'afficher le résultat du sondage !