Sondage sans base de données

Contenu du snippet

Alors voilà, je n'aime pas les bases de données !
Donc je fait tout avec des fichiers texte. Certains me diront que c'est plus compliqué, plus long, plus lourd, etc... mais il faut voir aussi le côté rapidité et simplicité !

Donc cette source est un sondage qui utilise un fichier texte. On peut faire autant de sondage que l'on veut, il suffit de changer l'intitulé du sujet du sondage.

Cela fait 2 mois que je me suis mis au PHP alors un peu d'indulgence. De plus c'est la 1ère source que je poste en PHP !

Toutes les remarques (positives !) sont les bienvenues !

Enjoy !!!

Source / Exemple :


<?php

$sujet="site";
$buttonsubmit="b1";

$infini = time() + 3600*24 ;      // Durée d'existence du cookie : 1 journée
setcookie($sujet,"1",$infini);

$lignes=file($sujet.".txt");

$value1=trim(stripslashes(strtok($lignes[0],"\n")));
$value2=trim(stripslashes(strtok($lignes[1],"\n")));
$value3=trim(stripslashes(strtok($lignes[2],"\n")));
$value4=trim(stripslashes(strtok($lignes[3],"\n")));
$value5=trim(stripslashes(strtok($lignes[4],"\n")));

if(empty($_GET['note']))
{ 
// ben on fait rien !
}
else
{
  $fp = fopen($sujet.".txt", "w");
  $contenu = $_GET['note'];

  if ($contenu==1) $value1++;
  if ($contenu==2) $value2++;
  if ($contenu==3) $value3++;
  if ($contenu==4) $value4++;
  if ($contenu==5) $value5++;

  $datavote= $value1."\n".$value2."\n".$value3."\n".$value4."\n".$value5;

  fputs($fp, $datavote);
  fclose($fp);
}

?>

<html>
<head>
</head>
<body BGCOLOR=#ADADAD>

<?php

$total=$value1+$value2+$value3+$value4+$value5;
if (pourcent1!=0) $pourcent1=round((($value1*100)/$total),2);
if (pourcent2!=0) $pourcent2=round((($value2*100)/$total),2);
if (pourcent3!=0) $pourcent3=round((($value3*100)/$total),2);
if (pourcent4!=0) $pourcent4=round((($value4*100)/$total),2);
if (pourcent5!=0) $pourcent5=round((($value5*100)/$total),2);

$pourcent1b=(int)($pourcent1);
$pourcent2b=(int)($pourcent2);
$pourcent3b=(int)($pourcent3);
$pourcent4b=(int)($pourcent4);
$pourcent5b=(int)($pourcent5);

$moyenne=array_sum($lignes) / count($lignes);

?>

<CENTER><font face="verdana" color="#000000" size="3"><b>Que pensez-vous de ce site ?</b></font><BR><BR></CENTER>
<form name="form" action='sondage.php' target="contents">
<CENTER>
<font face="verdana" color="#000000" size="1">
<TABLE BORDER=1 CELLSPACING=0 CELLPADDING=5 BGCOLOR="#A6A6A6">
<TR><TD><input type="radio" name="note" value="1" checked>Très bien<BR></TD>
<TD><?php echo "<img src='bleu.jpg' width='$pourcent1b' height='10' alt='$pourcent1 %'> $value1 vote(s)"; ?></TD></TR>
<TR><TD><input type="radio" name="note" value="2">Bien<BR></TD>
<TD><?php echo "<img src='bleu.jpg' width='$pourcent2b' height='10' alt='$pourcent2 %'> $value2 vote(s)"; ?></TD></TR>
<TR><TD><input type="radio" name="note" value="3">Bof<BR></TD>
<TD><?php echo "<img src='bleu.jpg' width='$pourcent3b' height='10' alt='$pourcent3 %'> $value3 vote(s)"; ?></TD></TR>
<TR><TD><input type="radio" name="note" value="4">Nul<BR></TD>
<TD><?php echo "<img src='bleu.jpg' width='$pourcent4b' height='10' alt='$pourcent4 %'> $value4 vote(s)"; ?></TD></TR>
<TR><TD><input type="radio" name="note" value="5">Sans avis<BR></TD>
<TD><?php echo "<img src='bleu.jpg' width='$pourcent5b' height='10' alt='$pourcent5 %'> $value5 vote(s)"; ?></TD></TR>
</TABLE>
</font>
<?php

if($_COOKIE[$sujet])
{
  echo "<input type=\"submit\" name=\"$buttonsubmit\" value=\"Déjà Noté !\" onclick=\"alert('Votre note a bien été prise en compte !')\"></form>";
}
else
{
  echo "<input type=\"submit\" name=\"$buttonsubmit\" value=\"Noter\" onclick=\"alert('Votre note a bien été prise en compte !')\"></form>";
}
?>
</CENTER>
<CENTER><font face="verdana" color="#000000" size="-3">(1 vote par jour)</font></CENTER>

<?php

if($_COOKIE[$sujet]) echo "<script language=\"Javascript\">document.form.$buttonsubmit.disabled=true</script>"; 

?>

</body>
</html>

Conclusion :


Je sais ... le code est un peu brouillon mais vous conviendrez qu'il est très facile à comprendre !!!

Visitez mon site SVP ... http://ri7.free.fr

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.