Page 1 sur 1

Une erreur de session PHP

Posté : 22 juin 2005, 17:06
par harry67
Bonjour, j'ai une page qui crée un tableau conteant une session :
<?php
session_start();
$_SESSION['log']="ok";
?>
et une page qui vérifie si la session est correcte :
<?php
if (@$_SESSION['log'] != "ok"
{ header ("Location: http://cavero.nuxit.net/erreur_3.htm");
  exit();
}
?>
A la page qui vérifie la session, j'obtiens cette erreur :
Parse error: parse error, unexpected '{' in /home3/c/cavero/www/admin_2.php on line 3

Quelqu'un pourrait-il me dire ou se trouve l'erreur? Merci.

Posté : 22 juin 2005, 17:13
par zeus
Tu as oublié de fermer la parenthèse de ton if
if (@$_SESSION['log'] != "ok")

Une erreur de session PHP

Posté : 22 juin 2005, 17:38
par harry67
Cette fois ci ça marche, le seul problème c'est que ça m'envoie toujours à la page erreur_4.htm
Bizzare...

Posté : 22 juin 2005, 17:41
par zeus
Dans ta 2nd page, il faut quand même que tu fasse un session_start() sinon PHP ne peut pas retrouver tes variables de session
<?php
session_start();
if (@$_SESSION['log'] != "ok"
{ header ("Location: http://cavero.nuxit.net/erreur_3.htm");
  exit();
}
?>

Une erreur de session PHP

Posté : 22 juin 2005, 17:48
par harry67
Désolé, ça ne marche toujours pas. Je te met tout mon code après, à toi de voir :
Première page :
<?php
session_start();
$host="***********";
$user="************";
$mpasse="*************";
$database="*********";

$connexion = mysql_connect($host, $user, $mpasse) 
or die ("Connexion à la base impossible");

$db = mysql_select_db($database) 
or die("Sélection de la base impossible");

$sql = "SELECT login FROM connect";
$res = mysql_query($sql)
      or die ("La requête à échoué");
$ligne = mysql_fetch_array($res, MYSQL_ASSOC);

if ($ligne['login'] == $_GET['login'])
{ $_SESSION['log']="ok";
}
   else
{ include("erreur_1.htm");
}
$sql = "SELECT mp FROM connect";
$res = mysql_query($sql)
      or die ("La requête à échoué");
$ligne2 = mysql_fetch_array($res, MYSQL_ASSOC);
if ($ligne2['mp'] == $_GET['mp'])
{ header ("Location: http://cavero.nuxit.net/admin_2.php");
}
else 
{ header ("Location: erreur_2.htm");
}
mysql_close($connexion); 
?>
Deuxième page :
<?php 
session_start(); 
if (@$_SESSION['log'] != "ok");
{ header ("Location: http://cavero.nuxit.net/erreur_3.htm"); 
  exit(); 
} 
?>

Posté : 22 juin 2005, 21:06
par Sowilho
Voila comment moi je ferais
<?php 
session_start(); 
$host="***********"; 
$user="************"; 
$mpasse="*************"; 
$database="*********"; 

$connexion = mysql_connect($host, $user, $mpasse) 
or die ("Connexion à la base impossible"); 

$db = mysql_select_db($database) 
or die("Sélection de la base impossible"); 

$sql = "SELECT login, mp FROM connect WHERE login='".$_GET['login']."'";
$res = mysql_query($sql);

if(mysql_num_rows($res)==1) { //  Le login existe dans la table?
	$ligne=mysql_fetch_array($res);
	if($ligne['mp']==$_GET['mp']) { // Le mot de passe est-il correct?
		$_SESSION['log']="ok";         // Oui
		header ("Location: http://cavero.nuxit.net/admin_2.php");
	}else{                             // No
		header ("Location: erreur_2.htm");
	}
}else{                       // Le login n'existe pas!
	include("erreur_1.htm");
}

mysql_close($connexion); 
?>