problème header dans formulaire connexion

Eléphant du PHP | 388 Messages

20 nov. 2010, 09:17

bonjour,

j'ai une page de connexion lorsque la personne s'identifie si tout est ok il est redirigé vers une autre page mais si toute fois il renseigne mal ces champs il doit etre redirigé vers une page nommé erreurconnexion.
mais le header qui renvoie vers la page erreurconnexion fonctionne pas pourriez vous m'aiguillé merci.

Voici mon code
<?php
$email = $_POST['email'];
$password  = $_POST['password'];

$password = md5($password);

include 'connect.php';

$sql = "SELECT idutilisateurs, email FROM utilisateurs WHERE email = '$email' AND password = '$password'";

$req = mysql_query($sql) or exit('<pre>' .  $sql . PHP_EOL . mysql_error() . '</pre>');


$user = mysql_fetch_assoc($req) or die(mysql_error()); 	
		 header('Location: erreurconnexion.php');
		
session_start();

$_SESSION['email'] = $user['email'];
$_SESSION['idutilisateurs'] = $user['idutilisateurs'];
 
header('Location: ../test.php');
?>
cela me renvoie vers la page connexion on dirait que cela fait une boucle

Eléphant du PHP | 388 Messages

20 nov. 2010, 09:46

j'ai trouver mon problème j'ai fait cela si il y a mieu pouvez vous me le dire merciiiiii
$user = mysql_fetch_assoc($req) or exit(header('Location: erreurconnexion.php'));

ViPHP
ViPHP | 2291 Messages

20 nov. 2010, 11:59

Salut,

Tu devrais prendre l'habitude de protéger tes données reçue.
$email    = mysql_real_escape_string($_POST['email']);                    
$password = mysql_real_escape_string($_POST['password']);
Sinon pour les reste ?
<?php
 session_start();
 include_once 'connect.php';

 $email    = mysql_real_escape_string($_POST['email']);
 $password = mysql_real_escape_string($_POST['password']);


 $sql = "SELECT email, idutilisateurs  FROM utilisateurs WHERE email = '".$email"' AND password = '".md5($password)."'";

 $req   = mysql_query($sql);
 $count = mysql_num_rows($req);
 $row   = mysql_fetch_assoc($req);

	//Le couple doit être de 1 sinon il y une erreur.
	if($count != 1)
	{
		header('Location: erreurconnexion.php');
		exit();
	}
	else
	{
		//La suite ici.
	   $_SESSION['email']          = $user['email'];
       $_SESSION['idutilisateurs'] = $user['idutilisateurs'];
    }

 header('Location: ../test.php');


 ?>

ImageCe que l'on apprend par l'effort reste toujours ancré beaucoup plus longtemps.

Eléphant du PHP | 388 Messages

20 nov. 2010, 12:41

merci pour ta réponse je viens d'essayer ton code jai une erreur qui est
Parse error: syntax error, unexpected T_CONSTANT_ENCAPSED_STRING in C:\Program Files\EasyPHP-5.3.3\www\php\connexion.php on line 9

ViPHP
ViPHP | 2291 Messages

20 nov. 2010, 13:02

Effectivement il manque un . a la fin de la variable $email dans la requête :)
ImageCe que l'on apprend par l'effort reste toujours ancré beaucoup plus longtemps.