Identification avec tableau-->page blanche
Résolu
Patoch250
Messages postés
66
Date d'inscription
Statut
Membre
Dernière intervention
-
Patoch250 Messages postés 66 Date d'inscription Statut Membre Dernière intervention -
Patoch250 Messages postés 66 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Avec l'aide généreuse de ktm620enduro que je remercie encore nous avons créer ce script PHP pour une identification avec redirection. Sur la machine de ktm620enduro le code fonctionne cependant pour ma part celle-ci affiche une page blanche. Je ne vois pas pourquoi quelqu'un à une idée?
<?
$login='bureau_sushiba';
$pass='troc';
$identifiants=array('','bureau_sushiba','standard_sushiba','responsable_sushiba','cuisine_sushiba');
$passwords=array('','756b25da610ecf7fe6f751ccc9947f6a','pass-2','pass-3','pass-4');
$headers=array('','FAQ-bureau.php','FAQ-standard.php','FAQ-responsable.php','FAQ-cuisine.php');
if (!preg_match('#[a-z0-9]+#i',$pass) or !preg_match('#[a-z_]+#i',$login))
die('mot de passe ou login inexistant ou invalide');
$pass=md5($pass);
if ($key = array_search($login, $identifiants))
{
if ($passwords[$key]==$pass)
{
$header=$headers[$key];
$_SESSION['_login'] = $login;
$_SESSION['_pass'] =$pass;
header('location: '.$header);
exit();
}
else die ('mauvais mot de passe');
}
else die('mauvais login');
?>
Avec l'aide généreuse de ktm620enduro que je remercie encore nous avons créer ce script PHP pour une identification avec redirection. Sur la machine de ktm620enduro le code fonctionne cependant pour ma part celle-ci affiche une page blanche. Je ne vois pas pourquoi quelqu'un à une idée?
<?
$login='bureau_sushiba';
$pass='troc';
$identifiants=array('','bureau_sushiba','standard_sushiba','responsable_sushiba','cuisine_sushiba');
$passwords=array('','756b25da610ecf7fe6f751ccc9947f6a','pass-2','pass-3','pass-4');
$headers=array('','FAQ-bureau.php','FAQ-standard.php','FAQ-responsable.php','FAQ-cuisine.php');
if (!preg_match('#[a-z0-9]+#i',$pass) or !preg_match('#[a-z_]+#i',$login))
die('mot de passe ou login inexistant ou invalide');
$pass=md5($pass);
if ($key = array_search($login, $identifiants))
{
if ($passwords[$key]==$pass)
{
$header=$headers[$key];
$_SESSION['_login'] = $login;
$_SESSION['_pass'] =$pass;
header('location: '.$header);
exit();
}
else die ('mauvais mot de passe');
}
else die('mauvais login');
?>
A voir également:
- Identification avec tableau-->page blanche
- Tableau word - Guide
- Supprimer page blanche word - Guide
- Imprimer tableau excel sur une page - Guide
- Tableau ascii - Guide
- Entrer les informations d'identification reseau - Guide
12 réponses
Bonjour,
euh Waou.....
je copie-colle ce script, page blanche.
je met en commentaire successivement les lignes, page blanche
j'arrive a la dernière ligne a mettre en commentaire, page blanche
je met tout en commentaire et met un echo "coucou" en 1ere ligne, page blanche.
juste Waou ^^
euh Waou.....
je copie-colle ce script, page blanche.
je met en commentaire successivement les lignes, page blanche
j'arrive a la dernière ligne a mettre en commentaire, page blanche
je met tout en commentaire et met un echo "coucou" en 1ere ligne, page blanche.
juste Waou ^^
Patoch250
Messages postés
66
Date d'inscription
Statut
Membre
Dernière intervention
qu'est ce que ca veut dire?
Gremy87
Messages postés
352
Date d'inscription
Statut
Membre
Dernière intervention
38
la réponse est en dessous ^^
trouvé^^
ca vient des balises php
remplace <? par <?php et ca ira tout seul
je dois avouer que ca fait peur au début ^^
ca marche chez ktm620enduro parce que son serveur web/php doit etre configurer pour reconnaitre ces balises et pas le tien ; ) (ni le mien d'ailleurs^^)
RISE OF THE GEEK IS COMMING SOON!!! BWAHAHAHAHA
ca vient des balises php
remplace <? par <?php et ca ira tout seul
je dois avouer que ca fait peur au début ^^
ca marche chez ktm620enduro parce que son serveur web/php doit etre configurer pour reconnaitre ces balises et pas le tien ; ) (ni le mien d'ailleurs^^)
RISE OF THE GEEK IS COMMING SOON!!! BWAHAHAHAHA
euh ben oui c'est normal
if ($key = array_search($login, $identifiants))
cherche $login dans le tableau $identifiants et dans le tableau il y a '' donc si tu mets rien ca valide les tests et donc redirige
if ($key = array_search($login, $identifiants))
cherche $login dans le tableau $identifiants et dans le tableau il y a '' donc si tu mets rien ca valide les tests et donc redirige
if ($key = array_search($login, $identifiants))
ce test regarde si dans le tableau $identifiants que tu as définit plus haut avec cette ligne:
$identifiants=array('','bureau_sushiba','standard_sushiba','responsable_sushiba','cuisine_sushiba');
si tu ne remplit pas ton formulaire $login va valoir '' (vide).
ce vide EST dans ton tableau, la première valeur.
donc le test va être validé, pareil pour le mot de passe et si l'on valide les 2 tests on est a la redirection.
donc c'est normal que si tu ne remplis pas ton formulaire et que tu valides ca te rediriges
compris?
ce test regarde si dans le tableau $identifiants que tu as définit plus haut avec cette ligne:
$identifiants=array('','bureau_sushiba','standard_sushiba','responsable_sushiba','cuisine_sushiba');
si tu ne remplit pas ton formulaire $login va valoir '' (vide).
ce vide EST dans ton tableau, la première valeur.
donc le test va être validé, pareil pour le mot de passe et si l'on valide les 2 tests on est a la redirection.
donc c'est normal que si tu ne remplis pas ton formulaire et que tu valides ca te rediriges
compris?
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Bon je viens de tester tout ce plus en détail. la version de départ était bonne. il faut bien laisser la chaine vide en 1ere valeur car array_search renvoi la position de la chaine et vu que le tableau commence a 0 la valeur de retour sera 0 et le test ne sera pas validé.
je viens de tester en remettant la chaine vide et en mettant un login mdp vide aussi, et ça me jette correctement. je ne vois pas pourquoi toi ça t'acceptais.
je viens de tester en remettant la chaine vide et en mettant un login mdp vide aussi, et ça me jette correctement. je ne vois pas pourquoi toi ça t'acceptais.
<?php
$login='';
$pass='';
$identifiants=array('','bureau_sushiba','standard_sushiba','responsable_sushiba','cuisine_sushiba');
$passwords=array('','756b25da610ecf7fe6f751ccc9947f6a','pass-2','pass-3','pass-4');
$headers=array('','FAQ-bureau.php','FAQ-standard.php','FAQ-responsable.php','FAQ-cuisine.php');
if (!preg_match('#[a-z0-9]+#i',$pass) or !preg_match('#[a-z_]+#i',$login))
die('mot de passe ou login inexistant ou invalide');
$pass=md5($pass);
if ($key = array_search($login, $identifiants))
{
if ($passwords[$key]==$pass)
{
$header=$headers[$key];
$_SESSION['_login'] = $login;
$_SESSION['_pass'] =$pass;
header('location: '.$header);
exit();
}
else die ('mauvais mot de passe');
}
else die('mauvais login');
?>
$login='';
$pass='';
$identifiants=array('','bureau_sushiba','standard_sushiba','responsable_sushiba','cuisine_sushiba');
$passwords=array('','756b25da610ecf7fe6f751ccc9947f6a','pass-2','pass-3','pass-4');
$headers=array('','FAQ-bureau.php','FAQ-standard.php','FAQ-responsable.php','FAQ-cuisine.php');
if (!preg_match('#[a-z0-9]+#i',$pass) or !preg_match('#[a-z_]+#i',$login))
die('mot de passe ou login inexistant ou invalide');
$pass=md5($pass);
if ($key = array_search($login, $identifiants))
{
if ($passwords[$key]==$pass)
{
$header=$headers[$key];
$_SESSION['_login'] = $login;
$_SESSION['_pass'] =$pass;
header('location: '.$header);
exit();
}
else die ('mauvais mot de passe');
}
else die('mauvais login');
?>
et bien ta valeur vient bien de ton formulaire. c'est bien en fait un $_POST['login'] et $_POST['pass'], non?
<?php
if (!isset( $_SESSION['_login']) && isset( $_SESSION['_pass']))
die ('Invalide');
}
?>
if (!isset( $_SESSION['_login']) && isset( $_SESSION['_pass']))
die ('Invalide');
}
?>
voila l'erreur qu'il m'affiche
Notice: Undefined index: login in C:\Program Files\EasyPHP-5.3.1\www\INTRANET\templates\identification2.php on line 3
Notice: Undefined index: mdp in C:\Program Files\EasyPHP-5.3.1\www\INTRANET\templates\identification2.php on line 4
mot de passe ou login inexistant ou invalide
Notice: Undefined index: login in C:\Program Files\EasyPHP-5.3.1\www\INTRANET\templates\identification2.php on line 3
Notice: Undefined index: mdp in C:\Program Files\EasyPHP-5.3.1\www\INTRANET\templates\identification2.php on line 4
mot de passe ou login inexistant ou invalide
Bonjour,
vérifie l'état de tes variables $_SESSION['_login'] et $_SESSION['_pass'] avec un print_r($_SESSION) et cherche pourquoi elles ont ces valeurs.
tu verra quelle page les leur a donnée
vérifie l'état de tes variables $_SESSION['_login'] et $_SESSION['_pass'] avec un print_r($_SESSION) et cherche pourquoi elles ont ces valeurs.
tu verra quelle page les leur a donnée
lol, bon je t'explique le fonctionnement des session parce que la t'as l'air perdu...
pour que les sessions soient pris en comptes sur n'importe quelle page il faut que tout au debut, vraiment tout au debut, tu mette un
<?php
session-start();
?>
a partir de la tu peux utiliser un tableau associatif qui s'appel $_SESSION[]
donc pour pouvoir utiliser ce $_SESSION tu dois avoir mis le session_start()
donc la met le session start tout en haut de la page ou tu as mis ca : print_r($_SESSION)
pour que les sessions soient pris en comptes sur n'importe quelle page il faut que tout au debut, vraiment tout au debut, tu mette un
<?php
session-start();
?>
a partir de la tu peux utiliser un tableau associatif qui s'appel $_SESSION[]
donc pour pouvoir utiliser ce $_SESSION tu dois avoir mis le session_start()
donc la met le session start tout en haut de la page ou tu as mis ca : print_r($_SESSION)
ok ça ça veut dire que tes variables de session n'existent pas donc
<?php
if (isset( $_SESSION['_login']) && isset( $_SESSION['_pass']))
{
}
else
{
echo "Vous n'etes pas identifié";
}
?>
a la place du print_r($_SESSION)
devrait te dire que tu n'est pas identifié.
si ensuite tu redirige directement vers ta page d'identification, ca ira =)
<?php
if (isset( $_SESSION['_login']) && isset( $_SESSION['_pass']))
{
}
else
{
echo "Vous n'etes pas identifié";
}
?>
a la place du print_r($_SESSION)
devrait te dire que tu n'est pas identifié.
si ensuite tu redirige directement vers ta page d'identification, ca ira =)
non c bon ca marche ! juste un petit détail j'ai mi ca dans mes pages
<?php
session_start();
if (isset( $_SESSION['_login']) && isset( $_SESSION['_pass']))
{
}
else
{
echo "Vous n'etes pas identifié";
header("location: accueil.php") ;
}
?>
Niveau secu ca marche par contre j'ai pa le message echo "Vous n'etes pas identifié"; qui s'affiche
<?php
session_start();
if (isset( $_SESSION['_login']) && isset( $_SESSION['_pass']))
{
}
else
{
echo "Vous n'etes pas identifié";
header("location: accueil.php") ;
}
?>
Niveau secu ca marche par contre j'ai pa le message echo "Vous n'etes pas identifié"; qui s'affiche
Quand tu te log correctement tu mets des valeurs a tes variables de session $_SESSION['_login'] et $_SESSION['_pass'].
ensuite en haut de TOUTES les pages que tu ne veux pas avoir accès sans être identifié tu mets
<?php
session_start();
if (isset( $_SESSION['_login']) && isset( $_SESSION['_pass']))
{
}
else
{
header("location:tapage_didentification.php");
}
?>
//tout le code HTML de ta page
si tu est identifié rien ne se passe et ta page s'affiche, si tu ne l'est pas tu est redirigé vers tapage_didentification.php
ok?
ensuite en haut de TOUTES les pages que tu ne veux pas avoir accès sans être identifié tu mets
<?php
session_start();
if (isset( $_SESSION['_login']) && isset( $_SESSION['_pass']))
{
}
else
{
header("location:tapage_didentification.php");
}
?>
//tout le code HTML de ta page
si tu est identifié rien ne se passe et ta page s'affiche, si tu ne l'est pas tu est redirigé vers tapage_didentification.php
ok?