Php mysql pb de session authentification utilisateurs

Salut à tous :), j’ai besoin de votre aide helpppppp ! mon pb est que je souhaiterai donner accès uniquement aux utilisateurs que j’ai créé sur mysql : mail de l’utilisateur + mot de passe, par exemple quand je test email + mot de passe d’un utilisateur inscrit sur mysql ils accèdent dans mon site même en tapent un faux mdp +et quand je tape n’importe quel mail + mdp des utilisateur non enregistrés sur ma base de données mysql peuvent accédés aussi dans mon site je ne comprend pas :-(: Pouvez vous corriger le code svp je vous remercie par avance :wink: Voici le code : mon fichier login.php:

<?php session_start(); ?> social_network <font color="#FFFFF"

Mail
<font color="#FFFFF"
Mot de passe

Connexion/Login

<?php

$base = mysql_connect (‘localhost’, ‘root’, ‘sousou123’);
mysql_select_db (‘demo’);

		if(isset($_POST['login'])){
			
			$email = $_POST['email'];
			$password = $_POST['password'];
			
			$check_user = "select * from account where email=$email' and password=$password'";
			
			$run = mysql_query($chek_user);
			
			if(mysql_num_rows($run)>0){
				
				$_SESSION['email']=$email;
				
				echo 
				"<script>window.open('membre.php','_self)</script>";
				}
		else{
			echo"<script>alert('email or password is incorrect')</script>";
			
			}
		
		}

?>

mon fichier membre.php qui est mon site c’est que n’importe utilisateurs entre :

<?php session_start(); if (!isset($_SESSION['login'])) { header ('Location: membre.php'); exit(); } ?> espace membre

Sur mysql nom de ma base de donnée : demo table : account. colonne ; id int primary key / name varchar 100/ email varchar 100 et password varchar 100

Quelqu?un peut m’aider svp :frowning:

j’ai un souci de connexion utilisateurs qui sont inscrits dans ma base de donné mysql j’ai ce message erreur qui s’affiche quand je rentre l’utilisateur inscrit sur mysql : =>Erreur dans la requête INSERT INTO account ( email,password) VALUES( $email,$password) Unknown column ‘$email’ in ‘field list’ :-(:

j’ai créer une base de donnée pour inscription.php
nom de base de donnée demo
table account

colonne id int primary key

id int => primary key
login => varchar 100
email => varchar 100
password => varchar 100
pass => varchar 100

fichier : inscription.php

<?php

if (isset($_POST['inscription']) && $_POST['inscription'] == 'Inscription') {

	if ((isset($_POST['login']) && !empty($_POST['login'])) && (isset($_POST['pass']) && !empty($_POST['pass'])) && (isset($_POST['pass_confirm']) && !empty($_POST['pass_confirm']))) {

	if ($_POST['pass'] != $_POST['pass_confirm']) {
		$erreur = 'Les 2 mots de passe sont différents.';
	}
	else {
		$base = mysql_connect ('localhost', 'root', 'mdp');
		mysql_select_db ('demo');

	
		$sql = 'SELECT count(*) FROM account WHERE login="'.mysql_escape_string($_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 account VALUES("", "'.mysql_escape_string($_POST['login']).'", "'.mysql_escape_string($_POST['email']).'", "'.mysql_escape_string(md5($_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.';
	}
}
?>
<?php session_start(); $base = mysql_connect ('localhost', 'root', 'mdp'); mysql_select_db ('demo'); $login = isset($_POST['login']) ? $_POST['login'] : NULL; $password = isset($_POST['password']) ? $_POST['password'] : NULL; $email = isset($_POST['email']) ? $_POST['email'] : NULL; if($email && $password){ $sql = 'INSERT INTO account ( email,password) VALUES( $email,$password)'; $result=mysql_query($sql) or die('Erreur dans la requête
'.$sql.'
' . mysql_error()); $sql = 'INSERT INTO account VALUES("", "'.mysql_escape_string($_POST['email']).'", "'.mysql_escape_string(md5($_POST['password'])).'")'; mysql_query($sql) or die('Erreur SQL !'.$sql.'
'.mysql_error()); $num_rows = mysql_num_rows($result); if($num_rows>0){ $_SESSION['login'] = $login; header("location:membre.php"); exit(); }else{ $message = "Erreur ! Utilisateur ou mot de pass incorrect"; } } ?> ma page Mail Mot de passe Connexion
<?php $message; ?>

INSCRIPTION

  </tr>
  <tr>
    <td class="compte">nom prenom :</td><tr>
    <td><input type="text" name="login" required="required" size="25" maxlength="30"  onClick="effacer()"<?php if (isset($_POST['login'])) echo htmlentities(trim($_POST['login'])); ?></td>
  </tr>

    </tr>
  <tr>
    <td class="compte">Mail:</td><tr>
    <td><input type="email" name="email" required="required" size="25" maxlength="30"  onClick="effacer()"<?php if (isset($_POST['email'])) echo htmlentities(trim($_POST['email'])); ?> </td>
  </tr>
    </tr>
  <tr>
    <td class="compte">Re mot de passe :</td><tr>
    <td><input type="password" name="pass_confirm" required="required" size="25" maxlength="30"  onClick="effacer()"<?php if (isset($_POST['pass_confirm'])) echo htmlentities(trim($_POST['pass_confirm'])); ?> </td>
  </tr>
Mot de passe :

Salut,

Je ne suis pas un crack en PHP, mais il semblerait que tu as inséré les noms de tes variables et non leur valeurs.

$sql = ‘INSERT INTO account (
email,password)
VALUES(
$email,$password)’;

à remplacer par

$sql = “INSERT INTO account (
email,password)
VALUES(
“’.$email.”’,”’.$password."’)";