Je suis nocice et en plein apprentissage du php5 mysql5 et j ai un probleme certainement bete mais chiant : je m explique :
J ai un espace membre et lorsque que je veux m inscrire tout se passe bien mon javascript me dit "ok" et lorsue je valide, j ai cette erreur :
Erreur : 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
donc voila ma table :
CREATE TABLE `membres` (
`id` mediumint(9) NOT NULL auto_increment,
`session` text NOT NULL,
`pseudo` text NOT NULL,
`passe` text NOT NULL,
`email` text NOT NULL,
`typesport` text NOT NULL,
KEY `id` (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=0 ;
mon fichier index.php :
<?php
/* Script écrit par RVJ-WEB
Créé le 27 MAI 2006
Droits de reproduction autorisés */
if(isset($_GET['erreur']))
{
echo'';
$erreur=$_GET['erreur'];
if($erreur=="pseudo")
{
echo'Erreur : Votre pseudo est invalide';
}
if($erreur=="passe")
{
echo'Erreur : Votre mot de passe est invalide';
}
if($erreur=="connexion")
{
echo"Erreur : Votre mot de passe ne correspond pas avec votre pseudo";
}
echo'';
}
?>
<?php
if (isset($_GET['type'])) $type=$_GET['type'];
else $type="";
?>
<?php
if (isset($_GET['typesport'])) $type=$_GET['typesport'];
else $typesport="";
?>
<html>
<header>
<script language="javascript"> // FONCTION JAVASCRIPT VERIFIE GRAPHIQUEMENT LA SAISIE //
function verif ()
{
var erreur="";
if(document.getElementById('idpseudo').value=='')
erreur=erreur+"-titre\n";
if(document.getElementById('idmdp').value=='')
erreur=erreur+"-mot de passe\n";
if(document.getElementById('idmdp2').value=='')
erreur=erreur+"-confirmation passe\n";
if(document.getElementById('idemail').value=='')
erreur=erreur+"-email\n";
if(document.getElementById('idtypesport').value=='')
erreur=erreur+"-type de sport\n";
if (erreur!="")
{
alert ("Formulaire incomplet, les champs suivant sont vide :\n"+erreur);
}
else if (confirm("Souhaitez-vous vraiement transmettre le formulaire ?"))
{
document.getElementById('monform').submit();
}
}
</script>
</header>
if(!$mdp || !$mdp2 || strlen($mdp) < 7)
{
echo'Votre mot de passe ou sa confirmation est inexisant ou votre mot de passe fait moins de 7 carractères
[inscription.php?type=membres Retour]';
includ_once('bas.php');
return FALSE;
}
if($mdp!=$mdp2)
{
echo'Votre mot de passe n\'est pas le meme que sa confirmation
[inscription.php?type=membres Retour]';
include_once('bas.php');
return FALSE;
}
if(!$pseudo || strlen($pseudo) > 15)
{
echo'Votre pseudo est inexisant ou fait plus de 15 carractères
[inscription.php?type=membres Retour]';
include_once('bas.php');
return FALSE;
}
if(!$email)
{
echo'Votre e-mail est innexistant.
[inscription.php?type=membres Retour]';
include_once('bas.php');
return FALSE;
}
if(!$typesport)
{
echo'Votre type de sport est innexistant.
[inscription.php?type=membres Retour]';
include_once('bas.php');
return FALSE;
}
//// VERIFICATIONS PARAMETRES FORMULAIRES ////
$reponse_mail=mysql_query("SELECT email FROM membres WHERE email='$email'") or die ('Erreur : '.mysql_error()); //verification si e-mail existe déjà
$count_mail=mysql_num_rows($reponse_mail);
if($count_mail == 1)
{
echo'Cet e-mail existe déjà.
[inscription.php?type=membres Retour]';
include_once('bas.php');
return FALSE;
}
$reponse_pseudo=mysql_query("SELECT pseudo FROM membres WHERE pseudo='$pseudo'") or die ('Erreur : '.mysql_error()); //verification si pseudo existe déjà
$count_pseudo=mysql_num_rows($reponse_pseudo);
if($count_pseudo == 1)
{
echo 'Ce pseudo existe déjà.
[inscription.php?type=membres Retour]';
include_once('bas.php');
return FALSE;
}
$reponse_typesport=array('football','rugby','basketball','volleyball');
{
if (in_array($_GET['typesport'],$reponse_typesport)==false)
$erreur .= "La champs sport n'est pas correct
";
}
for ($ligne=0;$ligne<30;$ligne++) //Création d'un identifiant aléatoire
{
@$session.=substr('0123456789AZERTYUIOPMLKJHGFDSQWXCVBN',(rand()%(strlen('0123456789AZERTYUIOPMLKJHGFDSQWXCVBN'))),1);
}
$mdp=md5($mdp); //Codage du mot de passe
mysql_query("INSERT INTO membres VALUES ('', '$session', '$pseudo', '$mdp', '$email','$typesport',") or die ('Erreur : '.mysql_error()); //insertion dans la bdd
echo'Merci de vous vous etre inscrit à '.$nom_du_site.'
[index.php?type=membres Identifiez vous !]';
include_once('bas.php');
?>
voili voilou j espere que mes script son assez lisible ( j essaie tous du moins)
bon alors voila le truc maintenant c que lorsque je m inscrit tous ce passe bien je suis bien enregistrer dans la bdd mais lorsque je veux me loger il me dit quil ne peut faire la connexion !!
plus exactement en fait il me ressort mon erreur
"Votre mot de passe ne correspond pas avec votre pseudo"
qui se situe dans mon index.php
j ai cherche, je pense que ca vient du fait qu on a changer le codage tu passe, mais je ne vois pas la solution !!!
bon alors voila mais c le meme code que plus haut :
INDEX.PHP ou se trouve mon login ainsi que mon erreur
<?php
/* Script écrit par RVJ-WEB
Créé le 27 MAI 2006
Droits de reproduction autorisés */
session_start();
if(!@$_SESSION['session'])
{
require_once('config.php') ;
$titre_page='Index';
include_once('haut.php') ;
if(isset($_GET['erreur']))
{
echo' ';
$erreur=$_GET['erreur'] ;
if($erreur=="pseudo")
{
echo'Erreur : Votre pseudo est invalide' ;
}
if($erreur=="passe")
{
echo'Erreur : Votre mot de passe est invalide' ;
}
if($erreur=="connexion")
{
echo'Erreur : Votre mot de passe ne correspond pas avec votre pseudo' ; // cette erreur là qui ressort //
}
echo'';
}
?>
<html>
<header>
<script language="javascript"> // FONCTION JAVASCRIPT VERIFIE GRAPHIQUEMENT LA SAISIE //
function verif ()
{
var erreur="";
if(document.getElementById('idpseudo').value=='')
erreur=erreur+"-titre\n";
if(document.getElementById('idmdp').value=='')
erreur=erreur+"-mot de passe\n";
if (erreur!="")
{
alert ("Login incomplet, les champs suivant sont vide :\n"+erreur);
}
else if (confirm("Souhaitez-vous vraiement transmettre le formulaire ?"))
{
document.getElementById('monform').submit();
}
}
</script>
</header>
<form method="post" action="login.php?type=membres" id='monform'>
----
Identification,
----
<label for="pseudo">Pseudo : </label>,
,
----
<label for="mdp">Mot de passe : </label>,
<td>
</form>
[inscriptions.php?type=membres Pas encore inscrit ?]
</html>
<?php
if($localite != 'local')
echo'
[perdu.php?type=membres Mot de passe perdu ?]';
echo'
';
}
else
{
require_once('config.php');
require_once('verifications.php');
$titre_page='Index membres';
include_once('haut.php');
echo'
Bonjour et bienvenue dans votre espace membres '. $typesport .''. $pseudo .' !
Votre e-mail : '. $email .'
Votre sport : '. $typesport .'
[profil.php?type=membres Modification du profil]
[logout.php?type=membres Deconnexion]
';
}
include_once('bas.php');
?>
MON LOGON.PHP
<?php
/* Script écrit par RVJ-WEB
Créé le 27 MAI 2006
Droits de reproduction autorisés */
session_start();
require_once('config.php');
//récupération des variables
$pseudo = formulaires($_POST['pseudo']);
$mdp = formulaires($_POST['mdp']);
$typesport = formulaires($_POST['typesport']);
$mdp=md5($mdp); //Codage du mdp
if(!$pseudo)
{
header('Location:index.php?erreur=pseudo');
}
if(!$mdp)
{
header('Location:index.php?erreur=passe');
}
if(!$typesport)
{
header('Location:index.php?erreur=sport');
}
$reponse_cores=mysql_query("SELECT * FROM membres WHERE passe='$mdp' AND pseudo='$pseudo' AND typesport='$typesport' ") or die ('Erreur : '.mysql_error());
$count_cores=mysql_num_rows($reponse_cores);
if($count_cores == 0 )
{
header('Location:index.php?erreur=connexion'); //on vérifie la correspondance
}
else
{
for ($ligne=0;$ligne<30;$ligne++) //Création d'un identifiant aléatoire
{
@$session.=substr('0123456789AZERTYUIOPMLKJHGFDSQWXCVBN',(rand()%(strlen('0123456789AZERTYUIOPMLKJHGFDSQWXCVBN'))),1);
}
mysql_query("UPDATE membres SET session='$session' WHERE passe='$mdp'AND typesport='$typesport'") or die ('Erreur : '.mysql_error());
$_SESSION['session'] = "$session"; //création de la session
header('Location:index.php?type=membres'); //redirection vers l'index
}
include_once('bas.php');
?>
donc voila je pense a un probleme de session je pense mais je ne comprend pas pourquoi l inscription se passe bien et est effective dans ma bdd et lorsque je veux me logger avec le bon pseudo et mot de passe il me ressort l erreur en rouge alors que je suis sur de mes info : pseudo et mdp !!!!
salut a tous,
voila je c que ce topic date de 2007, mais je tente quand meme ...
voila en fait g le meme message d'erreur que ci-plus haut "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 'option, image, date, txtDetails, photoDetail1, photoDetail2, photoDetail3, photo' at line 1"
et je ne trouve pas l'erreur sql ,voici mon code :
<?php
if (!function_exists("GetSQLValueString")) {
function GetSQLValueString($theValue, $theType, $theDefinedValue "", $theNotDefinedValue "")
{
if (PHP_VERSION < 6) {
$theValue = get_magic_quotes_gpc() ? stripslashes($theValue) : $theValue;
}
$theValue = function_exists("mysql_real_escape_string") ? mysql_real_escape_string($theValue) : mysql_escape_string($theValue);
switch ($theType) {
case "text":
$theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
break;
case "long":
case "int":
$theValue = ($theValue != "") ? intval($theValue) : "NULL";
break;
case "double":
$theValue = ($theValue != "") ? doubleval($theValue) : "NULL";
break;
case "date":
$theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
break;
case "defined":
$theValue = ($theValue != "") ? $theDefinedValue : $theNotDefinedValue;
break;
}
return $theValue;
}
}
mysql_select_db($database_ConnexionTradeslux, $ConnexionTradeslux);
$query_rstest = "SELECT * FROM annonces";
$rstest = mysql_query($query_rstest, $ConnexionTradeslux) or die(mysql_error());
$row_rstest = mysql_fetch_assoc($rstest);
$totalRows_rstest = mysql_num_rows($rstest);
//init des variables
if(!isset($_POST['reference'])) $reference=""; else $reference=$_POST['reference'];
if(!isset($_POST['modele'])) $modele=""; else $modele=$_POST['modele'];
if(!isset($_POST['type'])) $type=""; else $type=$_POST['type'];
if(!isset($_POST['energie'])) $energie=""; else $energie=$_POST['energie'];
if(!isset($_POST['couleur'])) $couleur=""; else $couleur=$_POST['couleur'];
if(!isset($_POST['kilometres'])) $kilometres=""; else $kilometres=$_POST['kilometres'];
if(!isset($_POST['annee'])) $annee=""; else $annee=$_POST['annee'];
if(!isset($_POST['prix'])) $prix=""; else $prix=$_POST['prix'];
if(!isset($_POST['option'])) $option=""; else $option=$_POST['option'];
if(!isset($_POST['date'])) $date=""; else $date=$_POST['date'];
if(!isset($_POST['txtDetails'])) $txtDetails=""; else $txtDetails=$_POST['txtDetails'];
if(!isset($_POST['ajoutAnnonce'])) $ajoutAnnonce="non"; else $ajoutAnnonce=$_POST['ajoutAnnonce'];
if(!isset($erreur_reference)) $erreur_reference=0;
if(!isset($_POST['ajoutAnnonce'])) $ajoutAnnonce=""; else $ajoutAnnonce=$_POST['ajoutAnnonce'];
//----------------------------
?>
<?php
if ($ajoutAnnonce=="ok")
{
//sélection de la base de données
mysql_select_db($database_ConnexionTradeslux, $ConnexionTradeslux);
//vérification si la référence existe déjà dans la base
$query_rsReference "SELECT reference FROM annonces WHERE reference '$reference' ";
$rsReference = mysql_query($query_rsReference, $ConnexionTradeslux) or die(mysql_error());
$totalRows_rsReference = mysql_num_rows($rsReference);
//si la référence n'existe pas encore alors :
if ($totalRows_rsReference==0)
{
//test si un fichier photo est sélectionné sinon c'est une photo par défaut
if ($_FILES['image']['error']==0)
$image_name=$_FILES['image']['name'];
else $image_name="photo0.jpg";
//test si un fichier photo est sélectionné sinon c'est une photo par défaut
if ($_FILES['photoDetail1']['error']==0)
$photoDetail1_name=$_FILES['photoDetail1']['name'];
else $photoDetail1_name="photo0.jpg";
//test si un fichier photo est sélectionné sinon c'est une photo par défaut
if ($_FILES['photoDetail2']['error']==0)
$photoDetail2_name=$_FILES['photoDetail2']['name'];
else $photoDetail2_name="photo0.jpg";
//test si un fichier photo est sélectionné sinon c'est une photo par défaut
if ($_FILES['photoDetail3']['error']==0)
$photoDetail3_name=$_FILES['photoDetail3']['name'];
else $photoDetail3_name="photo0.jpg";
//test si un fichier photo est sélectionné sinon c'est une photo par défaut
if ($_FILES['photoDetail4']['error']==0)
$photoDetail4_name=$_FILES['photoDetail4']['name'];
else $photoDetail4_name="photo0.jpg";
//enregistrement dans la base du nouveau compte client
mysql_select_db($database_ConnexionTradeslux, $ConnexionTradeslux);
$insertAnnonces = "INSERT INTO annonces ( reference, modele, type, energie, couleur, kilometres, annee, prix, option, image, date, txtDetails, photoDetail1, photoDetail2, photoDetail3, photoDetail4 ) VALUES ('$reference', '$modele', '$type', '$energie', '$couleur', '$kilometres', '$annee', '$prix', '$option', '$image_name', '$date', '$txtDetails', '$photoDetail1_name', '$photoDetail2_name', '$photoDetail3_name', '$photoDetail4_name')";
mysql_query($insertAnnonces, $ConnexionTradeslux) or die(mysql_error());
//----Gestion de la photo de l'article si elle a été modifiée
if ($_FILES['image']['error']==0)
{//s'il y a une photo, alors elle est copiée dans le répertoire Images
$repertoire="../imgannonces";
move_uploaded_file($_FILES['image']['tmp_name'],$repertoire.$_FILES['image']['name' ]);
}
//----Gestion de la photo de l'article si elle a été modifiée
if ($_FILES['photoDetail1']['error']==0)
{//s'il y a une photo, alors elle est copiée dans le répertoire Images
$repertoire="../imgannonces";
move_uploaded_file($_FILES['photoDetail1']['tmp_name'],$repertoire.$_FILES['photoDetail1']['name' ]);
}
//----Gestion de la photo de l'article si elle a été modifiée
if ($_FILES['photoDetail2']['error']==0)
{//s'il y a une photo, alors elle est copiée dans le répertoire Images
$repertoire="../imgannonces";
move_uploaded_file($_FILES['photoDetail2']['tmp_name'],$repertoire.$_FILES['photoDetail2']['name' ]);
}
//----Gestion de la photo de l'article si elle a été modifiée
if ($_FILES['photoDetail3']['error']==0)
{//s'il y a une photo, alors elle est copiée dans le répertoire Images
$repertoire="../imgannonces";
move_uploaded_file($_FILES['photoDetail3']['tmp_name'],$repertoire.$_FILES['photoDetail3']['name' ]);
}
//----Gestion de la photo de l'article si elle a été modifiée
if ($_FILES['photoDetail4']['error']==0)
{//s'il y a une photo, alors elle est copiée dans le répertoire Images
$repertoire="../imgannonces";
move_uploaded_file($_FILES['photoDetail4']['tmp_name'],$repertoire.$_FILES['photoDetail4']['name' ]);
}
//redirection vers la page ArticlesGestion.php
header("Location: gestion_annonces.php");
}//fin du if
//si la référence existe déjà alors active un message d'erreur
else
{
$erreur_reference=1;
}
}
?>
ceci est la partie concerné par le "prbleme" enfin je pense...
voila ,merci d'avance a ceux qui ce pencheront sur mon cas