AIDE! Parse error: syntax error, unexpected T_IF on line 3 [Résolu]

Signaler
Messages postés
27
Date d'inscription
samedi 17 mai 2014
Statut
Membre
Dernière intervention
4 novembre 2015
-
Messages postés
29895
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
27 octobre 2020
-
Bonjour, j'ai une simple erreur que je ne comprend pas :( c'est la seule erreur de mon gros espace membre :(
Voici l'erreur:

Parse error: syntax error, unexpected T_IF in /Site/Membre/login.php on line 3

Et voici le code:

<?php include('includes/config.php'); 
if(isset($_POST['envoyer'])) {
if(isset($_POST['pseudo']) AND !empty($_POST['pseudo']) AND if(isset($_POST['motdepasse']) AND !empty($_POST['motdepasse']))
{
//Tout les champs ont été remplis
$pseudo = mysql_escape_string($_POST['pseudo']);
$motdepasse = mysql_escape_string(md5($_POST['motdepasse']));

$req1 = mysql_query('SELECT * FORM membres WHERE pseudo ="'.$pseudo.'"');
$info_membre = mysql_fetch_array($req1);

if(isset($info_membre['pseudo'])) {


if($motdepasse == $info_membre['motdepasse'])
{

$_SESSION['pseudo'] = $pseudo;
$succes = 'Connexion réussie';

}
else
{
$erreur = 'Le pseudo ou mot de passe entré sont incorrect,';
}

}
else
{
$erreur = 'Le pseudo n\'existe pas';
}
}
else
{
$erreur = 'Tout les champs sont obligatoires. ';
}
}



?>
<h1 style="text-align: center;">Connexion</h1>
<hr>
<?php if(isset($erreur)) { echo $erreur; } ?>
<?php if(isset($succes)) { echo $succes; } ?>
<hr>
<form action="register.php" method="post">
Pseudo : <input type="text" name="pseudo" value="<?php if(isset($_POST['pseudo'])) { echo $_POST['pseudo']; } ?>"><br>
Mot de passe : <input type="password" name="motdepasse" value="<?php if(isset($_POST['motdepasse'])) { echo $_POST['motdepasse']; } ?>"><br>
<input type="submit" name="envoyer" value="Se connecter">
</form>




Merci d'avance pour votre précieuse aide!

3 réponses

Messages postés
29895
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
27 octobre 2020
338
Bonjour.
Dans la ligne 3 ... remplacer les "AND" par des "&&"
Messages postés
27
Date d'inscription
samedi 17 mai 2014
Statut
Membre
Dernière intervention
4 novembre 2015

Comme le voici?

if(isset($_POST['pseudo']) AND !empty($_POST['pseudo']) && if(isset($_POST['motdepasse']) && !empty($_POST['motdepasse']))
Messages postés
14923
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
27 octobre 2020
447
Bonsoir, je pense que jordane voulait dire TOUS les "and" et pas seulement les 2 derniers....
Messages postés
27
Date d'inscription
samedi 17 mai 2014
Statut
Membre
Dernière intervention
4 novembre 2015

Oui, j'ai bien essayé , mais la même erreur surviens...
Messages postés
14923
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
27 octobre 2020
447
Ha bon, parce que dans le code que tu as reposté, il reste un and.....

Posté depuis CCM Live forum pour iPhone/iPad
Messages postés
27
Date d'inscription
samedi 17 mai 2014
Statut
Membre
Dernière intervention
4 novembre 2015

Oui désoler, c'est par la suite que j'ai eu l'idée de l'essayer TOUS les AND , mais en vain. Toujours la même erreur.
Messages postés
29895
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
27 octobre 2020
338
Redonne nous ton code (modifié) et le message d'erreur exacte..
Messages postés
27
Date d'inscription
samedi 17 mai 2014
Statut
Membre
Dernière intervention
4 novembre 2015

Bonjour,

Le re-voici, modifier:

<?php include('includes/config.php'); 
if(isset($_POST['envoyer'])) {
if(isset($_POST['pseudo']) && !empty($_POST['pseudo']) && if(isset($_POST['motdepasse']) && !empty($_POST['motdepasse']))
{
//Tout les champs ont été remplis
$pseudo = mysql_escape_string($_POST['pseudo']);
$motdepasse = mysql_escape_string(md5($_POST['motdepasse']));

$req1 = mysql_query('SELECT * FORM membres WHERE pseudo ="'.$pseudo.'"');
$info_membre = mysql_fetch_array($req1);

if(isset($info_membre['pseudo'])) {


if($motdepasse == $info_membre['motdepasse'])
{

$_SESSION['pseudo'] = $pseudo;
$succes = 'Connexion réussie';

}
else
{
$erreur = 'Le pseudo ou mot de passe entré sont incorrect,';
}

}
else
{
$erreur = 'Le pseudo n\'existe pas';
}
}
else
{
$erreur = 'Tout les champs sont obligatoires. ';
}
}




?>
<h1 style="text-align: center;">Connexion</h1>
<hr>
<?php if(isset($erreur)) { echo $erreur; } ?>
<?php if(isset($succes)) { echo $succes; } ?>
<hr>
<form action="register.php" method="post">
Pseudo : <input type="text" name="pseudo" value="<?php if(isset($_POST['pseudo'])) { echo $_POST['pseudo']; } ?>"><br>
Mot de passe : <input type="password" name="motdepasse" value="<?php if(isset($_POST['motdepasse'])) { echo $_POST['motdepasse']; } ?>"><br>
<input type="submit" name="envoyer" value="Se connecter">
</form>


Et voici l'erreur:

Parse error: syntax error, unexpected T_IF in /Site/Membre/login.php on line 3

Merci
Messages postés
29895
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
27 octobre 2020
338
Tu essaies d'imbriquer in IF dans un autre IF..
( ce que te dis le message d'erreur... Ligne 3 ... unexpected T_IF...

Bref :Si tu enlèves ton second if...ça devrait mieux fonctionner
if( isset($_POST['pseudo']) 
     && !empty($_POST['pseudo']) 
     &&  isset($_POST['motdepasse']) 
    && !empty($_POST['motdepasse'])
    ){