problème dauthentification - PHP - Programmation
Marsh Posté le 17-02-2006 à 11:08:12
>> pour aller à la page de login : login.php?redir=a.php
>> Dans le script de login :
if ( $login_ok ) header("location: ".$_GET["redir"]);
Marsh Posté le 17-02-2006 à 15:21:33
dwogsi a écrit : >> pour aller à la page de login : login.php?redir=a.php |
Bonjour,
Merci de ta réponse.mais le problème c`est que le lien il y a déja .......php?page=1
le script php de cette page est:
<?php
if(!isset($_SESSION['utilisateur']))
{
echo "<script language='javascript'>document.location='http://www........com/espace_membre.php?page=1?'</script>";
}
?>
Ps(jai mis des points pour cacher le nom de mon vrai site)
Donc je ne sais pas comment faire
Merci de votre aide
STEF
Marsh Posté le 17-02-2006 à 15:27:03
biying a écrit : Bonjour, |
Et ou est le problème alors???
Marsh Posté le 17-02-2006 à 16:10:57
dwogsi a écrit : Et ou est le problème alors??? |
Merci de ton aide.
Une derniere chose
voila le script php pour la page login:
<?php
if(isset($utilisateur) & !empty($utilisateur) & isset($motdepasse) & !empty($motdepasse))
{
$utilisateur=addslashes(htmlspecialchars($_POST[utilisateur]));
$motdepasse=addslashes(htmlspecialchars($_POST[motdepasse]));
connecter();
$query="SELECT * FROM `fournisseur` WHERE `utilisateur` LIKE '$utilisateur' and `motdepasse` LIKE '$motdepasse'";
$result=@mysql_query($query);
$num=@mysql_num_rows($result);
$row=@mysql_fetch_row($result);
if($num==0){
echo "<br><br><center><font color='#990000'>Erreur ce pseudo (et/ou mot de passe) est incorrect!</font></center><br>";
}else{
//connexion ?ablie
$email = $row[3];
$meme = $row;
//-----------------VERSION 1.1-----------------
$_SESSION['utilisateur']=$utilisateur;
$_SESSION['email']=$email;
$_SESSION['meme']=$meme;
//---------------------------------------------
echo "Connexion ?ablie...";
echo "<script language='javascript'>document.location='espace_membre.php?page=1'</script>";
}
}
?>
tu dis de mettre:
if ( $login_ok ) header("location: ".$_GET["redir"]);
Peux-tu me dire ou?
Mille merci
STEF
Marsh Posté le 17-02-2006 à 16:15:03
Code :
|
ET ON NE MET PAS DES LIKE
Marsh Posté le 17-02-2006 à 17:08:28
jai changé le script comme tu mas dit et pourtant ca ne marche pas.après avoir entré le login et le password ça revient a la page login.
le script est:
<?php
if(isset($utilisateur) & !empty($utilisateur) & isset($motdepasse) & !empty($motdepasse))
{
$utilisateur=addslashes(htmlspecialchars($_POST[utilisateur]));
$motdepasse=addslashes(htmlspecialchars($_POST[motdepasse]));
connecter();
$query="SELECT * FROM `fournisseur` WHERE `utilisateur` LIKE '$utilisateur' and `motdepasse` LIKE '$motdepasse'";
$result=@mysql_query($query);
$num=@mysql_num_rows($result);
$row=@mysql_fetch_row($result);
if($num==0){
echo "<br><br><center><font color='#990000'>Erreur ce pseudo (et/ou mot de passe) est incorrect!</font></center><br>";
}else{
//connexion ?ablie
$email = $row[3];
$meme = $row;
//-----------------VERSION 1.1-----------------
$_SESSION['utilisateur']=$utilisateur;
$_SESSION['email']=$email;
$_SESSION['meme']=$meme;
//---------------------------------------------
header("location: ".$_GET["redir"]);
echo "Connexion ?ablie...";
echo "<script language='javascript'>document.location='espace_membre.php?page=1'</script>";
}
}
?>
Merci de ton aide
STEF
Marsh Posté le 18-02-2006 à 01:52:06
Premièrement :
Et ensuite tu fais quoi comme contrôle dans les autres pages???
Marsh Posté le 18-02-2006 à 09:55:23
Bonjour,
Merci de ton aide.Malheureusement cela marche toujours pas.après avoir rentrer le login et le password et validé je reviens sur la page login et non sur la page formulaire
le php des pages ou il y a les formulaires pour controler sont:
<?php
if(!isset($_SESSION['utilisateur']))
{
header("location: http://www.interbizcenter.com/fr/e [...] ge=1" );
}
?>
la page du login est:
<?php
if(isset($utilisateur) & !empty($utilisateur) & isset($motdepasse) & !empty($motdepasse))
{
$utilisateur=addslashes(htmlspecialchars($_POST[utilisateur]));
$motdepasse=addslashes(htmlspecialchars($_POST[motdepasse]));
connecter();
$query="SELECT * FROM `fournisseur` WHERE `utilisateur` LIKE '$utilisateur' and `motdepasse` LIKE '$motdepasse'";
$result=@mysql_query($query);
$num=@mysql_num_rows($result);
$row=@mysql_fetch_row($result);
if($num==0){
echo "<br><br><center><font color='#990000'>Erreur ce pseudo (et/ou mot de passe) est incorrect!</font></center><br>";
}else{
//connexion ?ablie
$email = $row[3];
$meme = $row;
//-----------------VERSION 1.1-----------------
$_SESSION['utilisateur']=$utilisateur;
$_SESSION['email']=$email;
$_SESSION['meme']=$meme;
//---------------------------------------------
header("location: ".$_GET["redir"]);
/*
echo "Connexion ?ablie...";
echo "<script language='javascript'>document.location='espace_membre.php?page=1'</script>";
*/
}
}
?>
la page: espace_membre.php?page=1 est la page login
les pages :espace_membre.php?page=2,espace_membre.php?page=3,etc sont les pages ou il y a des formulaires
Merci de votre aide
Je sais que je suis très embetant
STEF
Marsh Posté le 18-02-2006 à 14:40:16
et session_start() il est ou???
à moins que le session autostart soit activé?
Marsh Posté le 18-02-2006 à 14:40:52
biying a écrit : <?php |
Et ça niveau sécurité c'est pas terrible...
Marsh Posté le 18-02-2006 à 15:30:27
dwogsi a écrit : Et ça niveau sécurité c'est pas terrible... |
bonjour,
tout tourne autour de la page espace_membre
<?php
session_start();
require("config.inc.php" );
include("$functions/functions.inc.php" );
if(isset($page)){
if(!is_numeric($page)){
echo "Erreur la variable $page doit 阾re un entier!";
exit;
}
}
switch($page)
{
case '1': @include ("$repertoire/connecter.php" );break;
case '2': @include("$repertoire1/vdr.php" );break;
case '3': include("$repertoire2/anc.php" );break;
case '4': @include("$repertoire3/adr.php" );break;
case '5': @include("$repertoire4/rps.php" );break;
case '6': @include("$repertoire5/rao.php" );break;
case '7': @include("$repertoire/connecter2.php" );break;
case '8': @include("$repertoire/connecter3.php" );break;
case '9': @include("$repertoire/connecter4.php" );break;
case '10': @include("$repertoire/connecter5.php" );break;
case '11': @include("$repertoire/connecter6.php" );break;
default: @include("$repertoire/connecter.php" );break;
}
?>
tu peux me dire pourquoi je reviens toujours sur la page login après rentrer le login et le password?
comment améliorer la sécurité de mon site?
Merci beaucoup de ton aide
STEF
Marsh Posté le 18-02-2006 à 16:37:46
Bon alors :
Si tu as un système d'authentification, tu dois avoir quelque part un script qui contrôle si l'utilisateur est bien loggé dans les pages à accès restreint.
C'est cette partie que je serais curieux de voir puisque, normalement, si l'utilisateur n'est pas loggé tu dois y faire une redirection vers la page de login. A mon avis c'est par là qu'il y a un problème.
Marsh Posté le 18-02-2006 à 17:14:40
Bonjour
Dabord merci de ton aide.
Jai réussi à trouver la solution.
Mais il y a comme même encore un problème.
Donc quand je midentifie cela retombe sur la page login.Par contre si je clique sur un des boutons pour aller dans une des pages ou il y a un formulaire je suis bien logue.
Donc comment faire pour ne pas retourner dans la page login?
STEF
Marsh Posté le 18-02-2006 à 18:39:16
Ba je dirais...
...de nouveau :
dwogsi a écrit : Bon alors : |
Marsh Posté le 17-02-2006 à 11:05:46
Bonjour,
J'ai un problème dauthentification.Je mexplique:
jai un site avec plusieurs formulaires.Par exemple un des formulaires se trouve sur la page a qui est dans le repertoire a,un autre formulaire se trouve dans la page b qui se trouve dans le repertoire b,etc.Pour pouvoir acceder a un des formulaires il faut dabord passer par une page ou on doit sidentifier(login+password).Je voudrais savoir comment rediriger on fonction du formulaire demandé?
Par exemple:je clique sur la page a .La page identifier souvre.après avoir rentré mon login et mon password cela redirige vers la page a
maintenant je clique sur la page b .La page identifier souvre.après avoir rentré mon login et mon password cela redirige vers la page b
Merci davance
STEF