Un parce error dans mon code php

Fermé
fabrice11901 Messages postés 787 Date d'inscription dimanche 31 juillet 2005 Statut Membre Dernière intervention 12 juillet 2007 - 21 févr. 2006 à 10:46
kilian Messages postés 8731 Date d'inscription vendredi 19 septembre 2003 Statut Modérateur Dernière intervention 20 août 2016 - 21 févr. 2006 à 17:52
--
C'est bizarre, on en apprend tous les jours même quand on ne s'informe pas !!!!
Bonjour
J'ai récupérer un script sur internet que j'ai un peu allégé en fait ce script doit vérifier si les $_POST qui arrivent sont vides ou pas et si il sont bien remplis et que le pseudo du membre qui veut s'inscrire n'est pas déjà dans la table alors on l'inscrit mais j'ai une erreur à la ligne 56 qui correspond à session_start(); je ne vois pas l'erreur si vous pouviez m'aider. Merci
voici le code :
<? if ((
isset
($_POST['login']) && !
empty
($_POST['login'])) && (
isset
($_POST['pass']) && !
empty
($_POST['pass'])) && (
isset
($_POST['pass_confirm']) && !
empty
($_POST['pass_confirm']))) {
// 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
('sql.free.fr', 'sons.gratuits', '****');
mysql_select_db
('sons_gratuits', $base);

// on recherche si ce login est déjà utilisé par un autre membre
$sql = 'SELECT
count
(*) FROM membre WHERE login="'.
addslashes
($_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("", "'.
addslashes
($_POST['login']).'", "'.
md5
(
addslashes
($_POST['pass'])).'")';
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.';
}
}
?>
A voir également:

7 réponses

wiwimagique Messages postés 481 Date d'inscription mardi 21 janvier 2003 Statut Membre Dernière intervention 20 avril 2006 108
21 févr. 2006 à 11:31
tu as oublié de fermer la parenthèse à

die
('Erreur SQL !'.$sql.'<br />'.mysql_error.'?>
0
fabrice11901 Messages postés 787 Date d'inscription dimanche 31 juillet 2005 Statut Membre Dernière intervention 12 juillet 2007 64
21 févr. 2006 à 11:59
Salut
J'ai rajouter la parenthèse (je sais pas si je l'ai fermée au bon endroit mais l'erreur est toujours la même à la ligne 56 :
http://sons.gratuits.free.fr/v2/inscription.php

<? if ((
isset
($_POST['login']) && !
empty
($_POST['login'])) && (
isset
($_POST['pass']) && !
empty
($_POST['pass'])) && (
isset
($_POST['pass_confirm']) && !
empty
($_POST['pass_confirm']))) {
// 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
('sql.free.fr', 'sons.gratuits', '****');
mysql_select_db
('sons_gratuits', $base);

// on recherche si ce login est déjà utilisé par un autre membre
$sql = 'SELECT
count
(*) FROM membre WHERE login="'.
addslashes
($_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("", "'.
addslashes
($_POST['login']).'", "'.
md5
(
addslashes
($_POST['pass'])).'")';
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.';
}
}
?>
0
kilian Messages postés 8731 Date d'inscription vendredi 19 septembre 2003 Statut Modérateur Dernière intervention 20 août 2016 1 527
21 févr. 2006 à 12:24
Salut,

Ca:
('Erreur SQL !'.$sql.'<br />'.mysql_error.')?> 

est à remplacer par ça (guillemet en trop):
('Erreur SQL !'.$sql.'<br />'.mysql_error() ) ?> 
0
fabrice11901 Messages postés 787 Date d'inscription dimanche 31 juillet 2005 Statut Membre Dernière intervention 12 juillet 2007 64
21 févr. 2006 à 12:46
Ok pour cette erreur c'est bon :! merci !
mais nous voila dans une nouvelle erreur un problème d'acolade à la ligne 70 : http://sons.gratuits.free.fr/v2/inscription.php si vous pouvez m'aider mais je vais quand même tanter de trouver l'erreur
code :

<? if ((
isset
($_POST['login']) && !
empty
($_POST['login'])) && (
isset
($_POST['pass']) && !
empty
($_POST['pass'])) && (
isset
($_POST['pass_confirm']) && !
empty
($_POST['pass_confirm']))) {
// 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
('sql.free.fr', 'sons.gratuits', '****');
mysql_select_db
('sons_gratuits', $base);

// on recherche si ce login est déjà utilisé par un autre membre
$sql = 'SELECT
count
(*) FROM membre WHERE login="'.
addslashes
($_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("", "'.
addslashes
($_POST['login']).'", "'.
md5
(
addslashes
($_POST['pass'])).'")';
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.';
}
}
?>
0

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

Posez votre question
wiwimagique Messages postés 481 Date d'inscription mardi 21 janvier 2003 Statut Membre Dernière intervention 20 avril 2006 108
21 févr. 2006 à 15:11
il y a plus de } que de {
0
fabrice11901 Messages postés 787 Date d'inscription dimanche 31 juillet 2005 Statut Membre Dernière intervention 12 juillet 2007 64
21 févr. 2006 à 16:01
Merci beaucoup mais voila une encore une autre histoire (comme quoi les scripts sur internet ils sont pas très bien fait... mais je comprend c'est un grand script !) là maintenant je vous donne le code en entier et d'après la parce error : http://sons.gratuits.free.fr/v2/inscription2.php il y a une erreur à la ligne 120 mais c'est la ou le html ferme sa balise donc je vois pas la phote !
code :
<?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']))) {
// 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
('sql.free.fr', 'sons.gratuits', '****');
mysql_select_db
('sons_gratuits', $base);

// on recherche si ce login est déjà utilisé par un autre membre
$sql = 'SELECT
count
(*) FROM membre WHERE login="'.
addslashes
($_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("", "'.
addslashes
($_POST['login']).'", "'.
md5
(
addslashes
($_POST['pass'])).'")';
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="inscription.php" method="post">
Login : <input type="text" name="login" value="<?php if (
isset
($_POST['login']))
echo
stripslashes
(
htmlentities
(
trim
($_POST['login']))); ?>"><br />
Mot de passe : <input type="password" name="pass" value="<?php if (
isset
($_POST['pass']))
echo
stripslashes
(
htmlentities
(
trim
($_POST['pass']))); ?>"><br />
Confirmation du mot de passe : <input type="password" name="pass_confirm" value="<?php if (
isset
($_POST['pass_confirm']))
echo
stripslashes
(
htmlentities
(
trim
($_POST['pass_confirm']))); ?>"><br />
<input type="submit" name="inscription" value="Inscription">
</form>
</body>
</html>
0
kilian Messages postés 8731 Date d'inscription vendredi 19 septembre 2003 Statut Modérateur Dernière intervention 20 août 2016 1 527
21 févr. 2006 à 17:47
Salut Fabrice.

Si tu veux qu'on t'aide, ce serait bien de nous mettre le type d'erreur et d'organiser un minimum le code avec les balises codes (grâce auxquelles les tabulations sont conservées).

Pour comprendre un code il faut conserver ses tabulations, et il arrive trop souvent qu'on doive nous même reconstituer ces tabulations pour y voir plus clair...

C'est le genre de message auquel je ne répond plus d'habitude, après tout, ce n'est pas à nous de faire cet effort....
0
fabrice11901 Messages postés 787 Date d'inscription dimanche 31 juillet 2005 Statut Membre Dernière intervention 12 juillet 2007 64
21 févr. 2006 à 17:50
Salut
Excuses moi je mettrai donc mes prochains code entre les balises
 et 
pour mon problème?
Merci
0
kilian Messages postés 8731 Date d'inscription vendredi 19 septembre 2003 Statut Modérateur Dernière intervention 20 août 2016 1 527
21 févr. 2006 à 17:52
Merci :-)

pour mon problème?

Quand ce sera indenté! :-p

Eh vi quand je suis chiant c'est jusqu'au bout....
0