PHP - Utilisation données formulaires
Résolu
parisiendu95360
Messages postés
22
Date d'inscription
Statut
Membre
Dernière intervention
-
petinouv Messages postés 662 Date d'inscription Statut Membre Dernière intervention -
petinouv Messages postés 662 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Alors voilà j'ai un problème avec un petit script PHP que je suis en train de mettre en place et j'espère que vous allez me trouver la solution !
Alors enfait c'est un petit module de notes avec une moyenne qui est faite automatiquement et un compteur de nombre de notes attribuées.
Je vous en explique rapidement l'arborescence, si on peu appeller ça comme ça :
Il y a deux fichiers texte :
- nombre_total_de_notes.txt qui contient le nombre de notes attribuées. (C'est en gros un compteur de visites qui ajoute +1 à chaque fois qu'un vote est confirmé. C'est la faille du système qui pourrait se corriger par une reconnaissance d'adresse IP...)
- nombre_total_de_points.txt qui contient le nombre de points (exemple : Si il y a 3 votes de 4/10, le nombre de points est de 4+4+4=12. Le contenu du fichier sera uniquement "12" et non pas "4+4+4")
Et deux pages avec du codes :
- Une page html, nommée "index.php" (elle ne contient pas de code PHP, elle pourrait tout aussi bien s'appeller "index.html") C'est dans cette page que se trouve le formulaire, en voici le contenu :
<html>
<head>
<title>
Esaai script de note de page - Page de vote
</title>
</head>
<body>
<center>
<strong>
<font face="calibri" size=4>
Notez cette page !
<br />
<br />
<form method="post" action="script.php">
0<input type="radio" name="note_donnee" value="0"> -
1<input type="radio" name="note_donnee" value="1"> -
2<input type="radio" name="note_donnee" value="2"> -
3<input type="radio" name="note_donnee" value="3"> -
4<input type="radio" name="note_donnee" value="4"> -
5<input type="radio" name="note_donnee" value="5" checked> -
6<input type="radio" name="note_donnee" value="6"> -
7<input type="radio" name="note_donnee" value="7"> -
8<input type="radio" name="note_donnee" value="8"> -
9<input type="radio" name="note_donnee" value="9"> -
10<input type="radio" name="note_donnee" value="10">
<br />
<br />
<input type="submit" value="Envoyer">
</form>
</font>
</strong>
</center>
</body>
</html>
- Et une page script.php là où se trouve le script. En voici le contenu :
<html>
<head>
<title>
Esaai script de note de page - Page de confirmation du vote
</title>
</head>
<body>
<center>
<strong>
<font face="calibri" size=4>
Votre note a bien été prise en compte.
<br />
<br />
<?php
// Récupération des données du formulaire - Création variable
$note_donnee = $_POST['note_donnee'];
// Ajout d'un vote - Ecriture dans "nombre_total_de_notes.txt"
$ajout_note = fopen ("nombre_total_de_notes.txt", "r+");
$nb_notes = fgets ($ajout_note, 11);
$nb_notes = $nb_notes + 1;
fseek ($ajout_note, 0);
fputs ($ajout_note, $nb_notes);
fclose ($ajout_note);
// Ajout des points - Ecriture dans "nombre_total_de_points.txt"
$ajout_points = fopen ("nombre_total_de_points.txt", "r+");
$nb_points = fgets ($ajout_points, 1);
$nb_points = $nb_notes + $note_donnee;
fseek ($ajout_points, 0);
fputs ($ajout_points, $nb_points);
fclose ($ajout_points);
// Calcul de la moyenne - $nb_points divisé par $nb_notes
$moyenne_accueil = $nb_points / $nb_notes;
// affichage des messages - Nombre total de notes et moyenne
echo 'Moyenne : '.$moyenne_accueil.'/10. <br/>';
echo 'Nombre total de votants : '.$nb_notes.'.';
?>
</font>
</strong>
</center>
</body>
</html>
Les votes se déroulent bien, pas de fonctions mal notées, pas de variables mal déclarées.
C'est que la moyenne est fausse !
Déjà, pour le premier vote, il m'ajoute +1 a chaque fois ! Si je vote 10, il me dit que la moyenne est de 11/10...
Le nombre de votants semble correct ! JE supposerai donc que le souci vien du calcul de la moyenne !
Pourriez-vous m'aider s'il vous plait !
Merci !!
----
http://parisiendu95360.free.fr
Alors voilà j'ai un problème avec un petit script PHP que je suis en train de mettre en place et j'espère que vous allez me trouver la solution !
Alors enfait c'est un petit module de notes avec une moyenne qui est faite automatiquement et un compteur de nombre de notes attribuées.
Je vous en explique rapidement l'arborescence, si on peu appeller ça comme ça :
Il y a deux fichiers texte :
- nombre_total_de_notes.txt qui contient le nombre de notes attribuées. (C'est en gros un compteur de visites qui ajoute +1 à chaque fois qu'un vote est confirmé. C'est la faille du système qui pourrait se corriger par une reconnaissance d'adresse IP...)
- nombre_total_de_points.txt qui contient le nombre de points (exemple : Si il y a 3 votes de 4/10, le nombre de points est de 4+4+4=12. Le contenu du fichier sera uniquement "12" et non pas "4+4+4")
Et deux pages avec du codes :
- Une page html, nommée "index.php" (elle ne contient pas de code PHP, elle pourrait tout aussi bien s'appeller "index.html") C'est dans cette page que se trouve le formulaire, en voici le contenu :
<html>
<head>
<title>
Esaai script de note de page - Page de vote
</title>
</head>
<body>
<center>
<strong>
<font face="calibri" size=4>
Notez cette page !
<br />
<br />
<form method="post" action="script.php">
0<input type="radio" name="note_donnee" value="0"> -
1<input type="radio" name="note_donnee" value="1"> -
2<input type="radio" name="note_donnee" value="2"> -
3<input type="radio" name="note_donnee" value="3"> -
4<input type="radio" name="note_donnee" value="4"> -
5<input type="radio" name="note_donnee" value="5" checked> -
6<input type="radio" name="note_donnee" value="6"> -
7<input type="radio" name="note_donnee" value="7"> -
8<input type="radio" name="note_donnee" value="8"> -
9<input type="radio" name="note_donnee" value="9"> -
10<input type="radio" name="note_donnee" value="10">
<br />
<br />
<input type="submit" value="Envoyer">
</form>
</font>
</strong>
</center>
</body>
</html>
- Et une page script.php là où se trouve le script. En voici le contenu :
<html>
<head>
<title>
Esaai script de note de page - Page de confirmation du vote
</title>
</head>
<body>
<center>
<strong>
<font face="calibri" size=4>
Votre note a bien été prise en compte.
<br />
<br />
<?php
// Récupération des données du formulaire - Création variable
$note_donnee = $_POST['note_donnee'];
// Ajout d'un vote - Ecriture dans "nombre_total_de_notes.txt"
$ajout_note = fopen ("nombre_total_de_notes.txt", "r+");
$nb_notes = fgets ($ajout_note, 11);
$nb_notes = $nb_notes + 1;
fseek ($ajout_note, 0);
fputs ($ajout_note, $nb_notes);
fclose ($ajout_note);
// Ajout des points - Ecriture dans "nombre_total_de_points.txt"
$ajout_points = fopen ("nombre_total_de_points.txt", "r+");
$nb_points = fgets ($ajout_points, 1);
$nb_points = $nb_notes + $note_donnee;
fseek ($ajout_points, 0);
fputs ($ajout_points, $nb_points);
fclose ($ajout_points);
// Calcul de la moyenne - $nb_points divisé par $nb_notes
$moyenne_accueil = $nb_points / $nb_notes;
// affichage des messages - Nombre total de notes et moyenne
echo 'Moyenne : '.$moyenne_accueil.'/10. <br/>';
echo 'Nombre total de votants : '.$nb_notes.'.';
?>
</font>
</strong>
</center>
</body>
</html>
Les votes se déroulent bien, pas de fonctions mal notées, pas de variables mal déclarées.
C'est que la moyenne est fausse !
Déjà, pour le premier vote, il m'ajoute +1 a chaque fois ! Si je vote 10, il me dit que la moyenne est de 11/10...
Le nombre de votants semble correct ! JE supposerai donc que le souci vien du calcul de la moyenne !
Pourriez-vous m'aider s'il vous plait !
Merci !!
----
http://parisiendu95360.free.fr
A voir également:
- PHP - Utilisation données formulaires
- Fuite données maif - Guide
- Utilisation chromecast - Guide
- Télécharger gratuitement notice d'utilisation - Guide
- Easy php - Télécharger - Divers Web & Internet
- Supprimer les données de navigation - Guide
5 réponses
Slt,
le script est correct y a juste une faute d'attention
quand tu ajoute les points tu fai ceci :
// Ajout des points - Ecriture dans "nombre_total_de_points.txt"
$ajout_points = fopen ("nombre_total_de_points.txt", "r+");
$nb_points = fgets ($ajout_points, 1);
$nb_points = $nb_notes + $note_donnee; --> le probleme est la ^^
$nb_points = $nb_points + $note_donnee;
le script est correct y a juste une faute d'attention
quand tu ajoute les points tu fai ceci :
// Ajout des points - Ecriture dans "nombre_total_de_points.txt"
$ajout_points = fopen ("nombre_total_de_points.txt", "r+");
$nb_points = fgets ($ajout_points, 1);
$nb_points = $nb_notes + $note_donnee; --> le probleme est la ^^
$nb_points = $nb_points + $note_donnee;
Salut !!
Ahhh ouiii !!!
Mercii beaucoup !!
C'est sympa ! C'est dur a trouver ce genre de script sur le net ... un simple script de notes...
Merci beaucoup !
Ahhh ouiii !!!
Mercii beaucoup !!
C'est sympa ! C'est dur a trouver ce genre de script sur le net ... un simple script de notes...
Merci beaucoup !
Re,
si ça t'interesse j'ai fai un script de ce genre sauf que c'est avec des etoiles la notation et ça utilise une base de données mais tout est géré en ajax...
si ça t'interesse j'ai fai un script de ce genre sauf que c'est avec des etoiles la notation et ça utilise une base de données mais tout est géré en ajax...
Je fai un fichier readme et je te donne ça ^^
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Re !
Moi aussi je veux bien ton petit script pour la notation par etoiles !
Je te passe mon email en MP !
Mercii encore.
----
http://parisiendu95360.free.fr
Moi aussi je veux bien ton petit script pour la notation par etoiles !
Je te passe mon email en MP !
Mercii encore.
----
http://parisiendu95360.free.fr