Php session

Fermé
sirin angel Messages postés 15 Date d'inscription vendredi 10 janvier 2014 Statut Membre Dernière intervention 7 avril 2016 - 27 janv. 2014 à 08:42
Reivax962 Messages postés 3672 Date d'inscription jeudi 16 juin 2005 Statut Membre Dernière intervention 11 février 2021 - 27 janv. 2014 à 13:19
Bonjour,



Bonjour,
<?php
//demarrage de session
session_start();
//inclusion de la page de connexion mysql
include 'connect.php';
//test et traitement des identifiant saisi par l'utilisateur
if(!empty($_POST['identifiant']) && !empty($_POST['motdepass'])){
$identifiant = $_POST['identifiant'];
//supression de caractères indésirables type : ' " < >
$identifiant = mysql_real_escape_string($identifiant);
$identifiant = htmlentities($identifiant);
$motdepass = $_POST['motdepass'];
$motdepass = mysql_real_escape_string($motdepass);
$motdepass = htmlentities($motdepass);
//cryptage sha1 du mot de pass
//$motdepass = sha1($motdepass);

$req = "SELECT login, pw, type FROM user WHERE login = '".$identifiant."'"." AND pw ='".$motdepass."'";
$result = mysql_query($req);
$tableaux = mysql_fetch_row($result);
//test de résultat utilisateur/Mysql
if ($identifiant == $tableaux[0] && $motdepass == $tableaux[1]&& $type=0){
$_SESSION['connection']=1;
$_SESSION['utilisateur']=$tableaux[0];
$type=0 ;
header('Location: content.php');
}

elseif($type=1){
$_SESSION['connection']=1;
$_SESSION['utilisateur']=$tableaux[0];
$type=1;
header('Location: employe.php');
}

else {
$_SESSION['badlogin'] = 1;
sleep(2);
header('Location: index.php');
}
}

else{
echo "Identifiant ou mot de pass incorrect....";
$_SESSION['connection']=0;
header('Location: index.php');
}
?>


voila mon code je veux lorsque le type =0 il me dirige a la page content.php et lorsque type =1 il me dirige a la page employe.php comment fair ca stp et merci d'avance :)
j'espère que tu m'aides

2 réponses

Reivax962 Messages postés 3672 Date d'inscription jeudi 16 juin 2005 Statut Membre Dernière intervention 11 février 2021 1 011
27 janv. 2014 à 13:19
Bonjour,

Dans tes tests, tu mets
$type = 0
et
$type = 1
.
Il faut mettre un double égal pour un test d'égalité, sinon c'est une affectation.
Donc
$type == 0
et
$type == 1
.

À noter, une technique pour éviter ce genre d'erreur est d'inverser les termes de l'égalité :
0 == $type
et
1 == $type
. Syntaxiquement c'est identique, mais si tu oublies un signe =, tu obtiens une erreur de syntaxe (car on ne peut pas affecter une valeur à la constante 0 ou 1).

Xavier
1
GeorgioLPB Messages postés 4 Date d'inscription dimanche 26 janvier 2014 Statut Membre Dernière intervention 27 janvier 2014 1
27 janv. 2014 à 09:35
Salut,

A quelle moment récupères-tu la valeur de "$type" ?
0