30/10-2005 à 15:16Salut,
Le problème c est que je suis dirigé sur la page "Utilisateur identifié" et que je souhaiterais tomber sur la page /admin/index.php
Pour rediriger, il faut utiliser cette fonction :
header('Location: /admin/index.php');
Mais attention, elle ne fonctionnera que si tu ne fais aucun echo ou que tu n'insères aucun code html. De toute manière, cette page d'identification n'a rien à afficher.
cf :
http://www.toutestfacile.com/php/errormsgs/standard_header.php
J ajoute que si un internaute tape l adresse /admin/index.php ne tombe pas sur la page d admin mais bien sur la page d identification.
Pour ça, tu peux utiliser les sessions
http://www.phpfrance.com/tutoriaux/index.php/2005/07/20/34-les-sessions-php
Au lieu de stocker vos informations chez le visiteur, vous les stockez sur le serveur. Techniquement, vous attribuez au visiteur un identifiant. À chaque fois qu'il revient en annonçant cet identifiant, PHP récupérera toutes les informations qu'il avait sauvegardé et qui sont relatives à ce visiteur.
session_start() ;
$_SESSION['identifie'] = "non";
Tu mets non dès le départ et dans la condition d'identification, tu la passes à oui :
if($resp > 0){
//rediriger
//echo "identifié";
$_SESSION['identifie'] = "oui";
header('Location: /admin/index.php');
}
else{
//echo "Utilisateur non identifié";
return -1;
}
Ensuite, dans /admin/index.php, tu vérifies la valeur :
if ( $_SESSION['identifie'] == "oui" ) {
//code pour l'admin
echo $_SESSION['identifie'] ;
} else if ($_SESSION['identifie'] <> "oui" ) {
echo 'pas identifie' ;
}
Je te mets tout.
////////////////////
//verifie_pass.php//
////////////////////
<?
// initialisation
session_start() ;
$_SESSION['identifie'] = "non";
$identifiant = $_POST['identifiant'];
$mot_de_passe = $_POST['mot_de_passe'];
if(empty($identifiant) || empty($mot_de_passe)){
//mettre le code d'action si une des deux zones n'est pas rempli
//echo "non identifie";
return -1;
}
$base = mysql_connect ("localhost", "root", "");
mysql_select_db ("BDD") ;
$sql= "SELECT * FROM id WHERE id='$identifiant' AND passwd='$mot_de_passe'";
$req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
$resp = mysql_fetch_array($req);
$id=$resp['id'];
$passwd=$resp['passwd'];
$resp = mysql_num_rows($req);
if($resp > 0){
//rediriger
//echo "identifié";
$_SESSION['identifie'] = "oui";
header('Location: /admin/index.php');
}
else{
//echo "Utilisateur non identifié";
return -1;
}
?>
///////////////////
//admin/index.php//
///////////////////
<?php
// initialisation
session_start() ;
// tester la présence de la variable 'langage' dans la session
if ( $_SESSION['identifie'] == "oui" ) {
//code pour l'admin
echo $_SESSION['identifie'] ;
} else if ($_SESSION['identifie'] <> "oui" ) {
echo 'pas identifie' ;
}
// on détruit la session
session_destroy();
unset($_SESSION);
?>
----------
