Parse error inresolvable ...
Meteora
-
Meteora -
Meteora -
Bonjour,
Voilà, sur mon code, j'ai un problème sur le formulaire d'inscription
A l'execution de inscription.php, j'ai un message :
Parse error: parse error in C:\wamp\www\...\online.php on line 19
Ligne 19 je regarde j'ai :
Je ne vois aucune erreur :?
Le code PHP complet est :
J'ai essayé de faire une mise en page correcte avec les balise <code> mais bon ^^
Voilà, sur mon code, j'ai un problème sur le formulaire d'inscription
A l'execution de inscription.php, j'ai un message :
Parse error: parse error in C:\wamp\www\...\online.php on line 19
Ligne 19 je regarde j'ai :
'INSERT INTO membre VALUES("", "'.mysql_escape_string($_POST['pseudo']).'", "'.mysql_escape_string($_POST['email'])).'", "'.mysql_escape_string($_POST['email_pay']).'")';
Je ne vois aucune erreur :?
Le code PHP complet est :
<?php
if (isset($_POST['inscription']) && $_POST['inscription'] == 'Suivant') {
if ((isset($_POST['pseudo']) && !empty($_POST['pseudo'])) &&
(isset($_POST['email']) && !empty($_POST['email'])) &&
(isset($_POST['email_pay']) && !empty($_POST['email_pay']))) {
if ($_POST['email'] != $_POST['email_conf']) {
$erreur = 'Les 2 mots de passe sont différents.';
}
else {
$base = mysql_connect ('localhost', 'root', '');
mysql_select_db ('sitefrancais', $base);
$sql = 'SELECT id FROM membre
WHERE pseudo="'.mysql_escape_string($_POST['pseudo']).'"';
$req = mysql_query($sql)
or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());
$nb = mysql_num_rows($req);
if ($nb == 0) {
$sql = 'INSERT INTO membre VALUES
("", "'.mysql_escape_string($_POST['pseudo']).'", "'.mysql_escape_string($_POST['email'])).'", "'.mysql_escape_string($_POST['email_pay']).'")';
mysql_query($sql) or die('Erreur SQL !'.$sql.'<br />'.mysql_error());
// on récupère l'id de notre nouveau membre
$id = mysql_insert_id();
session_start();
$_SESSION['login'] = $_POST['login'];
// on stocke cet id dans une variable de session
$_SESSION['id'] = $id;
header('Location: online2.php');
exit();
}
else {
$erreur = 'Un membre possède déjà ce login.';
}
}
}
else {
$erreur = 'Au moins un des champs est vide.';
}
}
?>
J'ai essayé de faire une mise en page correcte avec les balise <code> mais bon ^^
A voir également:
- Parse error inresolvable ...
- Eespt technical error ✓ - Forum TNT / Satellite / Réception
- Fan error lenovo - Forum PC portable
- Pointage antenne trop faible - Forum Box et Streaming vidéo
- Cmos checksum error ✓ - Forum Carte-mère/mémoire
- Error 1962 ✓ - Forum PC fixe
3 réponses
tu avais une ) en trop après $_POST['email']
ensuite essayes cette forme, et avec la fonction mysql_real...
ensuite essayes cette forme, et avec la fonction mysql_real...
$sql = "INSERT INTO membre VALUES('','".mysql_real_escape_string($_POST['pseudo'])."','".mysql_real_escape_string($_POST['email'])."', '".mysql_real_escape_string($_POST['email_pay'])."')";
Et avec ça, ça dit quoi?
Quand les quotes sont imbriquées, il faut les échapper, c'est à dire mettre des "\" devant.
(j'ai aussi viré la parenthèse comme l'a dis Alain)
Live free, learn free, help free, Happy Hacking!
Plus que tout en informatique, l'erreur est humaine.
$sql = 'INSERT INTO membre VALUES ("", "\'.mysql_escape_string($_POST['pseudo']).\'","\'.mysql_escape_string($_POST['email']).\'", "\'.mysql_escape_string($_POST['email_pay']).\'")';
Quand les quotes sont imbriquées, il faut les échapper, c'est à dire mettre des "\" devant.
(j'ai aussi viré la parenthèse comme l'a dis Alain)
Live free, learn free, help free, Happy Hacking!
Plus que tout en informatique, l'erreur est humaine.
Oh lala quelle honte ... Une paranthèse en trop :x
Merci maintenant ça marche !
Et Apatik ce n'est pas le problème, car en esayant ta methode nouveau parse error ;D ca aurait été valable pour echo ou autre mais la c'est pour la forme '. xxx .'
Quant a la fonction mysql_escape_string..., j'avais effectivement vu sur le site qu'elle etait devenu obsolète, sans y prendre de l'interet ...
Maintenant y'a rien qui s'ecrit dans le bdd ><
sur online2.php, il y a :
Et des que je clique sur Suivant de ma première page, je tombe sur accueil.php ... La session n'a pas été crée ... Help ?
EDIT : En fait j'ai trouvé c'est bon xD merci a vous
Merci maintenant ça marche !
Et Apatik ce n'est pas le problème, car en esayant ta methode nouveau parse error ;D ca aurait été valable pour echo ou autre mais la c'est pour la forme '. xxx .'
Quant a la fonction mysql_escape_string..., j'avais effectivement vu sur le site qu'elle etait devenu obsolète, sans y prendre de l'interet ...
Maintenant y'a rien qui s'ecrit dans le bdd ><
sur online2.php, il y a :
<?php
session_start();
// on vérifie toujours qu'il s'agit d'un membre qui est connecté
if (!isset($_SESSION['pseudo'])) {
// si ce n'est pas le cas, on le redirige vers l'accueil
header ('Location: accueil.php');
exit();
}
?>
Et des que je clique sur Suivant de ma première page, je tombe sur accueil.php ... La session n'a pas été crée ... Help ?
EDIT : En fait j'ai trouvé c'est bon xD merci a vous