Mysqli faux ?

Fermé
mezianembe Messages postés 8 Date d'inscription jeudi 18 juin 2015 Statut Membre Dernière intervention 19 juin 2015 - 19 juin 2015 à 15:05
jordane45 Messages postés 38138 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 17 avril 2024 - 19 juin 2015 à 15:49
j'ai un code php mais je ne sais pas es que le code est vrai aux mysqli
quand je le mais a navigateur il ma dit : ( ! ) Parse error: syntax error, unexpected '$count_query' (T_VARIABLE) in C:\wamp\www\site_dynamique\login.php on line 13
include ('connexion.php');
if (null !==(email)) {
$email = $_post['email'];
$pass = $_post['pass'];
$remember = $_post['remember'];
if ((!$email) || ($pass)) {
$message = "please check out you email or password";
}else{
$email = mysqli_escape_string($connexion, $email);
$pass = sha1($pass);
$query = mysqli_query($connexion, "SELECT * FROM members WHERE email='$email' AND pass='$pass' LIMIT 1") or die(mysqli_error())
$count_query = mysqli_num_rows($connexion, $query);
if ($count_query == 0) {
$message = 'your information was not right';
}elsr{
$_SESSION['$pass']= $pass;
while ($row = mysqli_fetch_array($query)) {
$username = $row['username'];
$id = $row['id'];
$_SESSION['username'] = $username;
$_SESSION['id'] = $id;
if ($remember == "yes") {
setcookie("id_cookies", $id, time()+60*60*24*30, "/");
setcookie("pass_cookies", $pass, time()+60*60*24*30, "/");
}
header("Location: home.php")
}

}

}
}

5 réponses

nephou Messages postés 210 Date d'inscription jeudi 28 mai 2015 Statut Membre Dernière intervention 3 juillet 2015 22
19 juin 2015 à 15:07
Bonjour,

Il manque un point virgule à la fin de cette ligne :
$query = mysqli_query($connexion, "SELECT * FROM members WHERE email='$email' AND pass='$pass' LIMIT 1") or die(mysqli_error())
2
mezianembe Messages postés 8 Date d'inscription jeudi 18 juin 2015 Statut Membre Dernière intervention 19 juin 2015
19 juin 2015 à 15:09
merci,
mais l'ereur maintenant est :
Parse error: syntax error, unexpected '{' in C:\wamp\www\site_dynamique\login.php on line 16
0
nephou Messages postés 210 Date d'inscription jeudi 28 mai 2015 Statut Membre Dernière intervention 3 juillet 2015 22
19 juin 2015 à 15:11
tu as mis elsr au lieu de else lol
0
CptRomaiin Messages postés 315 Date d'inscription mercredi 23 octobre 2013 Statut Membre Dernière intervention 28 avril 2016 58
19 juin 2015 à 15:14
Salut,

A la ligne 16 tu à écris
}elsr{
au lieu de
}else{
.

Et il manque un ; à la ligne 27 :
header("Location: home.php");
0
CptRomaiin Messages postés 315 Date d'inscription mercredi 23 octobre 2013 Statut Membre Dernière intervention 28 avril 2016 58
Modifié par CptRomaiin le 19/06/2015 à 15:49
Par contre tu devrais utiliser les requêtes préparées au lieu de mysqli_escape_string (d'ailleurs je te conseil plutôt d'utiliser PDO) :

https://openclassrooms.com/fr/courses/918836-concevez-votre-site-web-avec-php-et-mysql/914293-lisez-des-donnees
0
mezianembe Messages postés 8 Date d'inscription jeudi 18 juin 2015 Statut Membre Dernière intervention 19 juin 2015
Modifié par jordane45 le 19/06/2015 à 15:44
oh ! pardon hh :p mais le méme probleme
Parse error: syntax error, unexpected '}' in C:\wamp\www\site_dynamique\login.php on line 28
include ('connexion.php');
if (null !==(email)) {
    $email = $_post['email'];
    $pass = $_post['pass'];
    $remember = $_post['remember'];
    if ((!$email) || ($pass)) {
        $message = "please check out you email or password";
    }else{
        $email = mysqli_escape_string($connexion, $email);
        $pass = sha1($pass);
        $query = mysqli_query($connexion, "SELECT * FROM members WHERE email='$email' AND pass='$pass' LIMIT 1") or die(mysqli_error());
        $count_query = mysqli_num_rows($connexion, $query);
        if ($count_query == 0) {
            $message = 'your information was not right';
        }else{
            $_SESSION['$pass']= $pass;
            while ($row = mysqli_fetch_array($query)) {
                $username = $row['username'];
                $id = $row['id'];
                $_SESSION['username'] = $username;
                $_SESSION['id'] = $id;
                if ($remember == "yes") {
                    setcookie("id_cookies", $id, time()+60*60*24*30, "/");
                    setcookie("pass_cookies", $pass, time()+60*60*24*30, "/");
                }
                header("Location: home.php")
            }

        }

    }
}


EDIT : Ajout du LANGAGE dans les balises de code (la coloration syntaxique).
Explications disponibles ici :
https://codes-sources.commentcamarche.net/faq/10686-le-nouveau-codes-sources-comment-ca-marche#balises-code

Merci d'y penser dans tes prochains messages.
.
0
nephou Messages postés 210 Date d'inscription jeudi 28 mai 2015 Statut Membre Dernière intervention 3 juillet 2015 22
19 juin 2015 à 15:16
Alors déja header("Location: home.php") il manque une point virgule. Ensuite tu doit avoir une accolade fermante en trop. Tu utilise quoi pour dév ? C'est des fautes ultra basique
0
mezianembe Messages postés 8 Date d'inscription jeudi 18 juin 2015 Statut Membre Dernière intervention 19 juin 2015
19 juin 2015 à 15:22
pardon mais je debutant aux php j'ai 14 ans !!
0
mezianembe Messages postés 8 Date d'inscription jeudi 18 juin 2015 Statut Membre Dernière intervention 19 juin 2015
19 juin 2015 à 15:26
Notice: Undefined variable: _post in C:\wamp\www\site_dynamique\login.php on line 5
0
jordane45 Messages postés 38138 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 17 avril 2024 4 649
19 juin 2015 à 15:44
Il faut utiliser $_POST ... et non $_post
0

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

Posez votre question
jordane45 Messages postés 38138 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 17 avril 2024 4 649
19 juin 2015 à 15:49
Voici le code légèrement revu et corrigé :
<?php
//démarrage session si non démarrée
if(session_id() == '') {
  session_start();
}

include ('connexion.php');

//récupération des variables
$email = !empty($_POST['email'])?$_POST['email']:NULL;
$pass = !empty($_POST['pass'])?$_POST['pass']:NULL
$remember = !empty($_POST['remember'])?$_POST['remember']:NULL;

if (null !==($email)) {

    if ((!$email) || (!$pass)) {
        $message = "please check out you email or password";
    }else{
        $email = mysqli_escape_string($connexion, $email);
        $pass = sha1($pass);
				
	$sql="SELECT * 
	         FROM members 
		 WHERE email='$email' 
	         AND pass='$pass' 
		 LIMIT 1";
							
        $query = mysqli_query($connexion, $sql) or die(mysqli_error());
        $count_query = mysqli_num_rows($connexion, $query);
        if ($count_query == 0) {
            $message = 'your information was not right';
        }else{
            $_SESSION['$pass']= $pass;
            while ($row = mysqli_fetch_array($query)) {
                $username = $row['username'];
                $id = $row['id'];
                $_SESSION['username'] = $username;
                $_SESSION['id'] = $id;
                if ($remember == "yes") {
                    setcookie("id_cookies", $id, time()+60*60*24*30, "/");
                    setcookie("pass_cookies", $pass, time()+60*60*24*30, "/");
                }
                header("Location: home.php")
            }

        }

    }
}
?>

0