SQL/PHP: Erreur de syntax HELP ! [Résolu/Fermé]

Messages postés
3
Date d'inscription
lundi 30 juin 2014
Statut
Membre
Dernière intervention
30 juin 2014
-
Bonjour à toute la communauté,


Je programme depuis un bon moment sur HTML/CSS mais depuis pas longtemps. Je "m'amuse" sur PHP et Mysql.

Pour bien commencer. J'ai voulu me lancer dans la création d'un formulaire d'inscription.
Bien que j'ai quelques bases. Je ne suis pas encore très doué avec le SQL. Et mon formulaire me retourne une erreur de syntax que je ne parviens pas à trouver.

Message que SQL me retourne:

Erreur SQL !INSERT INTO membre VALUES("", "a", "0cc175b9c0f1b6a831c399e269772661", "a", "a", "a", "a", "a", "a", "a", "a", "a",)
You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near ')' at line 1

Pouvez-vous m'aider ?

Voici le code de la page d'inscription:

<?php
// on teste si le visiteur a soumis le formulaire
if (isset($_POST['inscription']) && $_POST['inscription'] == 'Inscription') {
 // on teste l'existence de nos variables. On teste également si elles ne sont pas vides
 if ((isset($_POST['login']) && !empty($_POST['login'])) && (isset($_POST['pass']) && !empty($_POST['pass'])) && (isset($_POST['pass_confirm']) && !empty($_POST['pass_confirm'])) && (isset($_POST['nom']) && !empty($_POST['nom'])) && (isset($_POST['prenom']) && !empty($_POST['prenom'])) && (isset($_POST['age']) && !empty($_POST['age'])) && (isset($_POST['formation1']) && !empty($_POST['formation1'])) && (isset($_POST['formation2']) && !empty($_POST['formation2'])) && (isset($_POST['formation3']) && !empty($_POST['formation3'])) && (isset($_POST['email']) && !empty($_POST['email'])) && (isset($_POST['telephone']) && !empty($_POST['telephone'])) && (isset($_POST['avatar']) && !empty($_POST['avatar']))) 
 {
 // on teste les deux mots de passe
 if ($_POST['pass'] != $_POST['pass_confirm']) {
  $erreur = 'Les 2 mots de passe sont différents.';
 }
 else {
  $base = mysql_connect ('blabla','blabla','blabla');
  mysql_select_db ('blabla', $base);

  // on recherche si ce login est déjà utilisé par un autre membre
  $sql = 'SELECT count(*) FROM membre WHERE login="'.mysql_escape_string($_POST['login']).'"';
  $req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());
  $data = mysql_fetch_array($req);

  if ($data[0] == 0) {
  $sql = 'INSERT INTO membre VALUES("", "'.mysql_escape_string($_POST['login']).'", "'.mysql_escape_string(md5($_POST['pass'])).'", "'.mysql_escape_string($_POST['nom']).'", "'.mysql_escape_string($_POST['prenom']).'", "'.mysql_escape_string($_POST['age']).'", "'.mysql_escape_string($_POST['formation1']).'", "'.mysql_escape_string($_POST['formation2']).'", "'.mysql_escape_string($_POST['formation3']).'", "'.mysql_escape_string($_POST['email']).'", "'.mysql_escape_string($_POST['telephone']).'", "'.mysql_escape_string($_POST['avatar']).'",)';
  mysql_query($sql) or die('Erreur SQL !'.$sql.'<br />'.mysql_error());

  session_start();
  $_SESSION['login'] = $_POST['login'];
  header('Location: membre.php');
  exit();
  }
  else {
  $erreur = 'Un membre possède déjà ce login.';
  }
 }
 }
 else {
 $erreur = 'Au moins un des champs est vide.';
 }
}
?>
<html>
<head>
<title>Inscription</title>
</head>

<body>
Inscription à l'espace membre :<br />
<form action="complet.php" method="post">
Login : <input type="text" name="login" value="<?php if (isset($_POST['login'])) echo htmlentities(trim($_POST['login'])); ?>"><br />
Mot de passe : <input type="password" name="pass" value="<?php if (isset($_POST['pass'])) echo htmlentities(trim($_POST['pass'])); ?>"><br />
Confirmation du mot de passe : <input type="password" name="pass_confirm" value="<?php if (isset($_POST['pass_confirm'])) echo htmlentities(trim($_POST['pass_confirm'])); ?>"><br />
Nom : <input type="text" name="nom" value="<?php if (isset($_POST['nom'])) echo htmlentities(trim($_POST['nom'])); ?>"><br />
Prénom : <input type="text" name="prenom" value="<?php if (isset($_POST['prenom'])) echo htmlentities(trim($_POST['prenom'])); ?>"><br />
Age: <input type="text" name="age" value="<?php if (isset($_POST['age'])) echo htmlentities(trim($_POST['age'])); ?>"><br />
Formation/Experience 1 : <input type="text" name="formation1" value="<?php if (isset($_POST['formation1'])) echo htmlentities(trim($_POST['formation1'])); ?>"><br />
Formation/Experience 2 : <input type="text" name="formation2" value="<?php if (isset($_POST['formation2'])) echo htmlentities(trim($_POST['formation2'])); ?>"><br />
Formation/Experience 3 : <input type="text" name="formation3" value="<?php if (isset($_POST['formation3'])) echo htmlentities(trim($_POST['formation3'])); ?>"><br />
Email : <input type="text" name="email" value="<?php if (isset($_POST['email'])) echo htmlentities(trim($_POST['email'])); ?>"><br />
Téléphone : <input type="text" name="telephone" value="<?php if (isset($_POST['telephone'])) echo htmlentities(trim($_POST['telephone'])); ?>"><br />
Avatar: <input type="text" name="avatar" value="<?php if (isset($_POST['avatar'])) echo htmlentities(trim($_POST['avatar'])); ?>"><br />
<input type="submit" name="inscription" value="Inscription">
</form>
<?php
if (isset($erreur)) echo '<br />',$erreur;
?>
</body>
</html>


MERCI d'avance !!! :D

Afficher la suite 

3 réponses

0
Merci
Tu as une virgule de trop à la fin.
Messages postés
150
Date d'inscription
jeudi 27 mai 2010
Statut
Membre
Dernière intervention
14 mai 2018
21
0
Merci
Salut,

Y'a une virgule en trop dans tes INSERT.

Retires les dernières virgules avant de fermer tes parenthèses.
pierrej35
Messages postés
3
Date d'inscription
lundi 30 juin 2014
Statut
Membre
Dernière intervention
30 juin 2014
-
Merci bien ! ;)
Messages postés
3
Date d'inscription
lundi 30 juin 2014
Statut
Membre
Dernière intervention
30 juin 2014
0
Merci
HAHAHA !!!! (honte à moi)

C'est bon !
Merci DDD !

Sujet résolu. ^^