Les Allergies
Alimentaires
Posez votre question Signaler

[PHP-MYSQL] formulaire de connexion

goldenmike - Dernière réponse le 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
Lire la suite 

[PHP-MYSQL] formulaire de connexion »

10 réponses
Réponse
+0
moins plus
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
Ajouter un commentaire
Réponse
+0
moins plus
non , rien , les deux pages me renvoies une page blanche ...
Ajouter un commentaire
Réponse
+0
moins plus
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.

http://www.siteduzero.com/...

Ajouter un commentaire
Réponse
+0
moins plus
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.
Giorgiolino- 17 avril 2010 à 18:28
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).
Ajouter un commentaire
Réponse
+0
moins plus
non , rien toujoyrs des fautes ... Voici le forumoriginal de la question :
http://www.phpscripts-fr.net/forum1/lire.php?id=159584

merci :)
Giorgiolino- 17 avril 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 ?
Ajouter un commentaire
Réponse
+0
moins plus
je ne sais pas coment faire ppour phpmyadmin .. merci de me l'indiquer :)
goldenmike - 17 avril 2010 à 20:17
enfin je connais phpmyadmin , mais je ne sasi pas comment tester direct dedans ^^
Giorgiolino- 18 avril 2010 à 01:00
Encore et toujours, le site du zéro...

http://www.siteduzero.com/tutoriel-3-14496-phpmyadmin.html
Ajouter un commentaire
Ce document intitulé « [PHP-MYSQL] formulaire de connexion » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Dossier à la une
Passage au tout numérique : quel coût pour les particuliers ?