Mysqli faux ?
mezianembe
Messages postés
8
Statut
Membre
-
jordane45 Messages postés 40050 Date d'inscription Statut Modérateur Dernière intervention -
jordane45 Messages postés 40050 Date d'inscription Statut Modérateur Dernière intervention -
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
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")
}
}
}
}
A voir également:
- Mysqli faux ?
- Mysqli::real_connect(): (hy000/1698): access denied for user 'root'@'localhost' - Forum MySQL
- Problème de requête MySQLi ✓ - Forum PHP
- &Quot;Il manque l'extension mysqli." Erreur MySQLi - Forum Webmastering
- Connection base avec mysqli ✓ - Forum PHP
- Equivalemnt Mysqli de mysql_fetch_array ✓ - Forum PHP
5 réponses
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())
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())
merci,
mais l'ereur maintenant est :
Parse error: syntax error, unexpected '{' in C:\wamp\www\site_dynamique\login.php on line 16
mais l'ereur maintenant est :
Parse error: syntax error, unexpected '{' in C:\wamp\www\site_dynamique\login.php on line 16
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
https://openclassrooms.com/fr/courses/918836-concevez-votre-site-web-avec-php-et-mysql/914293-lisez-des-donnees
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
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.
.
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.
.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
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")
}
}
}
}
?>