[PHP-MYSQL] formulaire de connexion

Fermé
goldenmike - 16 avril 2010 à 11:20
Giorgiolino Messages postés 253 Date d'inscription vendredi 15 mai 2009 Statut Contributeur Dernière intervention 2 mars 2015 - 18 avril 2010 à 01:00
Bonjour , je suis actuellement en train de créer mon site en PHP / MYSQL ...
Donc ca c'est la page ' PRINCIPALE ' de mon site web :
---------------------------
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Document sans titre</title>
</head>
<head><title>Formulaire de saisie utilisateur </title></head>
<body>
<h1><img src="../../../Users/BirdHouse/Documents/Lotto !/Les logos/Weezo_LOGO.png" width="450" height="100" alt="Weezo : Tu te connectes , tu cliques , tu gagnes" /></h1>
<p><img src="../../../Users/BirdHouse/Documents/Lotto !/Les logos/INSCRIPTION.png" width="200" height="70" alt="Inscription" /></p>
<form action="Teste[PHP!].php" method="post" name="inscription" >
<p>:<img src="../../../Users/BirdHouse/Documents/Lotto !/Les logos/Pseudo.png" width="80" height="25" alt="pseudo" />
<input type="text" name="id"/> <br/>
:<img src="../../../Users/BirdHouse/Documents/Lotto !/Les logos/Passe.png" width="70" height="25" />
<input type="password" name="passe"/> <br/>
:

<img src="../../../Users/BirdHouse/Documents/Lotto !/Les logos/Email.png" width="65" height="25" />
<input type="text" name="mail"/>
<br/>
<input type="submit" name="valider" value="Inscription"/>
</p>
</form>
<form action="visu.php" method="post" name="inscription" >
pseudo :
<input type="text" name="id2"/> <br/>
passe :
<input type="password" name="passe2"/> <br/>
<br/>
<input type="submit" name="valider" value="Inscription"/>
</p>
</form>
<p><img src="../../../Users/BirdHouse/Documents/Lotto !/Les logos/Le principe.png" width="550" height="450" alt="Principe de Weezo!" /></p>
</body>
<?php
if(isset($_POST['valider'])){
$id=$_POST['id'];
$passe=$_POST['passe'];
$mail=$_POST['mail'];
mysql_connect('localhost', 'root', '');
mysql_select_db ('teste') ;
mysql_query("INSERT INTO news (id,passe,mail) VALUES ('$id','$passe','$mail')");
}
?>
</html>

<body>
</body>
</html>
--------------------------

--------------------------

LA PAGE CONNEXION [ visu.php ] :

--------------------------
<?php
$_POST['id2'];
$_POST['passe2'];
$db = mysql_connect('localhost', 'root', '');
mysql_select_db('teste');
$sql = 'SELECT id,passe FROM news WHERE id = .id2.';
$req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
while($data = mysql_fetch_assoc($req))
{
echo '<b>'.$data['id'].' '.$data['prenom'].'</b> ';
echo ' <i>date de naissance : '.$data['id'].'</i><br>';
}

mysql_close();
?>
---------------------------

Quand j'exécute , il me dit ceci :
Erreur SQL !
SELECT id,passe FROM news WHERE id = .id2.
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1

6 réponses

ailp Messages postés 83 Date d'inscription vendredi 16 avril 2010 Statut Membre Dernière intervention 16 septembre 2010 8
Modifié par ailp le 16/04/2010 à 15:54
Essaye ça pour ta requête SQL :
$sql = "SELECT id,passe FROM news WHERE id = '$id2'";
ou :
$sql = 'SELECT id,passe FROM news WHERE id = ' . $id2;

ailp - aide informatique
Gironde - CUB - Bordeaux
0
non , rien , les deux pages me renvoies une page blanche ...
0
Giorgiolino Messages postés 253 Date d'inscription vendredi 15 mai 2009 Statut Contributeur Dernière intervention 2 mars 2015 52
16 avril 2010 à 22:51
Salut,

goldenmike avait déjà vu un premier écueil. Le 2ème vient du fait qu'à aucun moment tu n'a initialisé ta variable $id2.
En l'occurence, au lieu de
$_POST['id2'];
$_POST['passe2'];

essaye plutôt ceci
$id2 = $_POST['id2'];
$passe2 = $_POST['passe2'];


et aussi, ta requête sql peut s'écrire ainsi
$ql = "SELECT id,passe FROM news WHERE id = $id2";


Avec doubles quotes et pas de point autour de $id2


Ceci dit, je te conseille vivement de lire (voire relire) si c'est déjà fait, le tuto du site du zéro qui expliquent bien ces différentes notions.

https://openclassrooms.com/fr/courses/918836-concevez-votre-site-web-avec-php-et-mysql/913099-transmettez-des-donnees-avec-les-formulaires

0
ailp Messages postés 83 Date d'inscription vendredi 16 avril 2010 Statut Membre Dernière intervention 16 septembre 2010 8
17 avril 2010 à 12:40
Tu n'es pas obligé d'initialiser ta variable $id2, lorsqu'il soumet son formulaire et arrive sur sa page, $id2 vaut la valeur du formulaire...

Par contre, pour essayer d'avancer, je te conseille d'afficher ta requête pour vérifier qu'elle correspond à ce que tu attends :
echo $sql;

Tu pourras déjà vérifier que la requête est ok avec les paramètres.
Tu peux ensuite tester ta requête directement dans phpmyadmin pour voir ce qu'elle te retourne.
0
Giorgiolino Messages postés 253 Date d'inscription vendredi 15 mai 2009 Statut Contributeur Dernière intervention 2 mars 2015 52
Modifié par Giorgiolino le 17/04/2010 à 18:33
1)lorsqu'il soumet son formulaire et arrive sur sa page, $id2 vaut la valeur du formulaire...

A mon avis tu m'as mal compris. Je parlais d'initialiser la variable avant de l'utiliser dans la requête sql. $id2 est un nom de variable qui n'existe pas tant qu'on ne l'a pas créé. Par ailleurs si on veut l'utiliser (la variable), il faut lui attribuer une valeur (l'initialiser).
La seule chose qui existe après validation du formulaire, ce sont les variables superglobales notamment celles du tableau $_POST ($_POST['id'] ou $_POST['id2'] selon le formulaire qui a été validé) qui nous itnéressent.

2)Tu n'es pas obligé d'initialiser ta variable $id2

Voir 1).
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
non , rien toujoyrs des fautes ... Voici le forumoriginal de la question :
http://www.phpscripts-fr.net/forum1/lire.php?id=159584

merci :)
0
Giorgiolino Messages postés 253 Date d'inscription vendredi 15 mai 2009 Statut Contributeur Dernière intervention 2 mars 2015 52
Modifié par Giorgiolino le 17/04/2010 à 18:50
J'ai regardé ton pots original. Il m'est avis qu'il y a encore certaine choses que tu as du mal à saisir concernant l'accès aux bases de données en particulier et le scripting php en général. Un premier test c'est déjà de voir si tu comprends ce que te disent les messages d'erreur php. Si ce n'est pas le cas, on peut corriger ton script mais alors au prochain bug tu ne comprendras pas plus --> perte de temps pour toi.

Par ailleurs ailp t'as suggéré de tester ta requête directement dans PHPMyAdmin pour voir si elle renvoie un résultat. L'as-tu fait ? Si tu ne l'as pas fait, est-ce parce que tu ne sais pas comment le faire ou alors que tu n'as pas accès à (ou que tu ne connais pas) phpMyAdmin ?
0
je ne sais pas coment faire ppour phpmyadmin .. merci de me l'indiquer :)
0
enfin je connais phpmyadmin , mais je ne sasi pas comment tester direct dedans ^^
0
Giorgiolino Messages postés 253 Date d'inscription vendredi 15 mai 2009 Statut Contributeur Dernière intervention 2 mars 2015 52
18 avril 2010 à 01:00
0