332 visiteur(s) en ligne
Date actuelle : 20-04-2024, 14:17 PM Bienvenue, Visiteur ! ( Identification S'enregistrer )







 
[Résolu] Problème de script de sondage
 
Note de cette discussion :
  • Moyenne : 0 (0 vote(s))
  • 1
  • 2
  • 3
  • 4
  • 5
Auteur Message
Toto Hors ligne
Animateur / Modérateur
******

Messages : 6 415
Inscription : Feb 2007
Réputation : 14
Message : #1
[Résolu]Problème de script de sondage
Bonjour, j'ai décidé de me lancer dans un script de sondage, malheureusement, il ne fonctionne pas. Pourquoi? Je vous le demande Smile

Page Index.php

<form method="post" action="form.php" enctype="multipart/form-data">
<select name="choix" id="choix">
<option value=""></option>
<option value="Choix1">Choix1</option>
<option value="Choix2">Choix2</option>
<option value="Choix3">Choix3</option>
</select>
<p><input type="submit" value="Valider" /></p>
</form>
</body>
</html>
</div>



Page form.php

<?php

if (empty($_POST['choix']))
{
echo 'Vous n\'avez pas sélectionné de choix. Cliquez AJOUTER JS ici pour revenir a la page.';
}
else
{
if ($_POST['choix'] == Choix1)
{
mysql_connect("localhost", "root", "");
mysql_select_db("nomdelabase");
mysql_query("INSERT INTO nomdelatable VALUES ('".$_POST['choix']."', '', '')");
mysql_close();
}
elseif ($_POST['choix'] == Choix2)
{
mysql_connect("localhost", "root", "");
mysql_select_db("nomdelabase");
mysql_query("INSERT INTO nomdelatable VALUES ('', '".$_POST['choix']."', '')");
mysql_close();
}
else ($_POST['choix'] == Choix3)
{
mysql_connect("localhost", "root", "");
mysql_select_db("nomdelabase");
mysql_query("INSERT INTO nomdelatable VALUES ('', '', '".$_POST['choix']."')");
mysql_close();
}
}
?>
</div>
</body>
</html>



J'obtient un message d'erreur:

Parse error: syntax error, unexpected '{' in C:\wamp\www\techno\form.php on line 24

Lignes 23, 24, et 25:


23: else ($_POST['choix'] == Choix3)
24: {
25: mysql_connect("localhost", "root", "");



Merci de m'aider Smile


"Dans la vie, j'ai eu le choix entre l'amour, la drogue et la mort. J'ai choisi les deux premières et c'est la troisième qui m'a choisi..."
Jim Morrison
28-05-2008 12:42 PM
Envoyer un email à cet utilisateur Trouver tous les messages de cet utilisateur Citer ce message dans une réponse
Troll Hors ligne
Trolls' master
******

Messages : 15 818
Inscription : Mar 2006
Réputation : 21
Message : #2
 
Salut Toto,

Si je puis me permettre, quelques habitudes à prendre qui vont changer ta vie...

1°) Ne pas remettre les trois fonctions "mysql_close()" mysql_connect() et mysql_select_db() à chaque fois.
Pour la connexion, tu mets les fonctions "mysql_connect()" et mysql_select_db dans un fichier, que tu inclueras au début de ton fichier. Et à la fin de ton fichier tu mets la déconnexion mysql_close()


2°) Indentes ton code, là c'est illisible et donc impossible de voir les fautes, voici ton code indenté correctement :



if (empty($_POST['choix']))
{
echo 'Vous n\'avez pas sélectionné de choix. Cliquez AJOUTER JS ici pour revenir a la page.';
}
else
{
if ($_POST['choix'] == Choix1)
{
mysql_connect("localhost", "root", "");
mysql_select_db("nomdelabase");
mysql_query("INSERT INTO nomdelatable VALUES ('".$_POST['choix']."', '', '')");
mysql_close();
}
elseif ($_POST['choix'] == Choix2)
{
mysql_connect("localhost", "root", "");
mysql_select_db("nomdelabase");
mysql_query("INSERT INTO nomdelatable VALUES ('', '".$_POST['choix']."', '')");
mysql_close();
}
else ($_POST['choix'] == Choix3)
{
mysql_connect("localhost", "root", "");
mysql_select_db("nomdelabase");
mysql_query("INSERT INTO nomdelatable VALUES ('', '', '".$_POST['choix']."')");
mysql_close();
}
}



Ensuite encore, n'écrit pas :


	else ($_POST['choix'] == Choix3)



Mais :


	else ($_POST['choix'] == "Choix3")




Enfin, pour ton erreur, soit elle vient de cet oublie de guillemets, soit elle vient du fait que tu dois avoir un " ou un ' dans la variable $_POST['choix']

Ce qui fait que ca fait sortir PHP de la chaine de requete, et planter le code.

De plus c'est très dangereux, ca s'appelle des injections SQL c'est à dire que je peux envoyer à ton script ceci :



CHOIX 1') UNION SELECT motdepasse FROM users WHERE rank = 'admin'



Et en supposant que les tables users et les champs "modepasse" et "rank" existent, j'aurai obtenu ton mot de passe !

Il faut donc faire :



//On vire tout ce qui pourrait planter la requete, attention il faut déjà être connecté à la bdd ! (mysql_connect())
$insertion = mysql_real_escape_string($_POST['choix']);
mysql_query(....".$insertion.");




Voilou Wink

NB : C'est pas simple un bon script de sondage, surtout pour le protéger, crois-moi !


Un poste sans accent ? La faute au clavier qwerty :/
|| Merci de mettre des titres explicites !!! || La bouille à Troll ? || 
Vous voulez remercier l'équipe du forum ? Participez ! Exprimez-vous ! Revenez et parlez de ce que vous voulez ! Wink Image: actualites-informatiques-pcw.1.gif
28-05-2008 14:32 PM
Visiter le site internet de cet utilisateur Trouver tous les messages de cet utilisateur Citer ce message dans une réponse
-Sh4D0w- Hors ligne
~ Modérateur ~
******

Messages : 1 753
Inscription : Sep 2007
Réputation : 3
Message : #3
 
fais attention au failles SQL


Image: modrateurf.png
~~~~~~~ PC INFO-WEB ~~~~~~~

" Sauver ou Périr "
" On peut aimer le sport & l'informatique , si je vous l'assure Smile "
28-05-2008 14:44 PM
Trouver tous les messages de cet utilisateur Citer ce message dans une réponse
Toto Hors ligne
Animateur / Modérateur
******

Messages : 6 415
Inscription : Feb 2007
Réputation : 14
Message : #4
 
Salut, merci de ta réponse, mais ca ne marche toujours pas Sad

"Dans la vie, j'ai eu le choix entre l'amour, la drogue et la mort. J'ai choisi les deux premières et c'est la troisième qui m'a choisi..."
Jim Morrison
29-05-2008 09:11 AM
Envoyer un email à cet utilisateur Trouver tous les messages de cet utilisateur Citer ce message dans une réponse
Troll Hors ligne
Trolls' master
******

Messages : 15 818
Inscription : Mar 2006
Réputation : 21
Message : #5
 
Le code que tu nous as donné, c'est le code entier de ta page ?

Tu peux nous poster tout le code, après tes modifications ?

Et aussi tu envoies quelle valeur à "$_POST['choix']" ?

Un poste sans accent ? La faute au clavier qwerty :/
|| Merci de mettre des titres explicites !!! || La bouille à Troll ? || 
Vous voulez remercier l'équipe du forum ? Participez ! Exprimez-vous ! Revenez et parlez de ce que vous voulez ! Wink Image: actualites-informatiques-pcw.1.gif
29-05-2008 20:03 PM
Visiter le site internet de cet utilisateur Trouver tous les messages de cet utilisateur Citer ce message dans une réponse
Toto Hors ligne
Animateur / Modérateur
******

Messages : 6 415
Inscription : Feb 2007
Réputation : 14
Message : #6
 
C'est bon c'est réglé Wink

"Dans la vie, j'ai eu le choix entre l'amour, la drogue et la mort. J'ai choisi les deux premières et c'est la troisième qui m'a choisi..."
Jim Morrison
31-05-2008 12:02 PM
Envoyer un email à cet utilisateur Trouver tous les messages de cet utilisateur Citer ce message dans une réponse
Troll Hors ligne
Trolls' master
******

Messages : 15 818
Inscription : Mar 2006
Réputation : 21
Message : #7
 
Euh voui mais on aimerait quand même bien savoir comment :mrgreen:

Un poste sans accent ? La faute au clavier qwerty :/
|| Merci de mettre des titres explicites !!! || La bouille à Troll ? || 
Vous voulez remercier l'équipe du forum ? Participez ! Exprimez-vous ! Revenez et parlez de ce que vous voulez ! Wink Image: actualites-informatiques-pcw.1.gif
01-06-2008 12:22 PM
Visiter le site internet de cet utilisateur Trouver tous les messages de cet utilisateur Citer ce message dans une réponse
Toto Hors ligne
Animateur / Modérateur
******

Messages : 6 415
Inscription : Feb 2007
Réputation : 14
Message : #8
 
J'ai remplacé else par elseif


else ($_POST['choix'] == Choix3)
{
mysql_connect("localhost", "root", "");
mysql_select_db("nomdelabase");
mysql_query("INSERT INTO nomdelatable VALUES ('', '', '".$_POST['choix']."')");
mysql_close();
}


=


elseif ($_POST['choix'] == Choix3)
{
mysql_connect("localhost", "root", "");
mysql_select_db("nomdelabase");
mysql_query("INSERT INTO nomdelatable VALUES ('', '', '".$_POST['choix']."')");
mysql_close();
}


"Dans la vie, j'ai eu le choix entre l'amour, la drogue et la mort. J'ai choisi les deux premières et c'est la troisième qui m'a choisi..."
Jim Morrison
01-06-2008 12:58 PM
Envoyer un email à cet utilisateur Trouver tous les messages de cet utilisateur Citer ce message dans une réponse
Troll Hors ligne
Trolls' master
******

Messages : 15 818
Inscription : Mar 2006
Réputation : 21
Message : #9
 
Oh putain oui je n'avais même pas fait attention que tu avais mis des parenthèses de condition après le else ! Fatigué moi ><

Un poste sans accent ? La faute au clavier qwerty :/
|| Merci de mettre des titres explicites !!! || La bouille à Troll ? || 
Vous voulez remercier l'équipe du forum ? Participez ! Exprimez-vous ! Revenez et parlez de ce que vous voulez ! Wink Image: actualites-informatiques-pcw.1.gif
01-06-2008 13:39 PM
Visiter le site internet de cet utilisateur Trouver tous les messages de cet utilisateur Citer ce message dans une réponse
Toto Hors ligne
Animateur / Modérateur
******

Messages : 6 415
Inscription : Feb 2007
Réputation : 14
Message : #10
 
Bref j'ai réussi a faire tout ce que je voulais, je suis content, c'est mon premier script sans aide que je réussi (j'ai pas pu aller sur le sdz, j'ai fait ca sans connexion internet Big Grin )

Ce que j'ai fait, même pour l'affichage des votes, je suis sur qu'il y avait plus simple mais bon.. xD

"Dans la vie, j'ai eu le choix entre l'amour, la drogue et la mort. J'ai choisi les deux premières et c'est la troisième qui m'a choisi..."
Jim Morrison
01-06-2008 13:42 PM
Envoyer un email à cet utilisateur Trouver tous les messages de cet utilisateur Citer ce message dans une réponse




Discussions apparemment similaires...
Discussion : Auteur Réponses : Affichages : Dernier message
  Problème avec Java Lila26 3 6 010 20-08-2015 08:03 AM
Dernier message: leader.75
  Problème connexion internet avec ordi portable windows 7 esteban 3 5 915 15-12-2012 09:29 AM
Dernier message: Troll
  [Résolu] Problème code c++ QT Informaticien zero 4 7 119 11-07-2012 19:22 PM
Dernier message: Troll
  Aide sur un script PHP regord 5 7 046 06-07-2012 16:40 PM
Dernier message: Troll
  [Résolu] [PHP] Besoin d'aide sur un script de gestion d'offres Quentin 14 8 987 03-01-2012 08:11 AM
Dernier message: Troll
  Problème pour fixer bouton sur NamoWeb6 Mari jo 4 6 423 12-03-2011 09:11 AM
Dernier message: Luaine
  [php/javascript]aide sur un script Nell95 8 6 729 18-07-2010 10:27 AM
Dernier message: Troll
  [Resolu]Problème avec la fonction mail(). (PHP) sasuke41 1 9 757 01-09-2009 20:35 PM
Dernier message: Troll
  [RESOLU] Problème démarrage Firefox Kouara 15 12 960 05-11-2008 20:19 PM
Dernier message: Troll
  [php] petit script avec function time() et date() sheitan 8 6 571 01-11-2008 10:53 AM
Dernier message: Troll

Aller à :


Utilisateur(s) parcourant cette discussion : 1 visiteur(s)