Redirection+message+php
                    
        
     
             
                    maje3
    
        
    
                    Messages postés
            
                
     
             
            67
        
            
                                    Statut
            Membre
                    
                -
                                     
kij_82 Messages postés 4260 Statut Contributeur -
        kij_82 Messages postés 4260 Statut Contributeur -
        Bonjour,
J'ai deux pages, ma première page contient mon formulaire (connexion.php) et une page de vérification du login et du mot de passe (verifylog.php). Je voudrais afficher un message d'erreur sur la page connexion.php. j'effectue une redirection au niveau de verifylog.php mais mon message s'affiche dans la barre d'adresse du navigateur. Merci pour votre aide.
                
            
                
    
    
    
        J'ai deux pages, ma première page contient mon formulaire (connexion.php) et une page de vérification du login et du mot de passe (verifylog.php). Je voudrais afficher un message d'erreur sur la page connexion.php. j'effectue une redirection au niveau de verifylog.php mais mon message s'affiche dans la barre d'adresse du navigateur. Merci pour votre aide.
        A voir également:         
- Redirection php
- Easy php - Télécharger - Divers Web & Internet
- Expert php pinterest - Télécharger - Langages
- Avertissement de redirection - Forum Virus
- L'url suivante, censée aboutir à un article, donne lieu à une redirection indiquant que la page n'a pas été trouvée. retrouvez la page recherchée. reportez le titre de l’article et son auteur. - Forum Microsoft Edge / Internet Explorer
- Redirection de mail - Guide
7 réponses
                        
                    Re,
Oui pas étonnant que ça apparaisse dans ton url puisque tu l'y passe en paramètre visible (GET)
Comme l'a précisé Biboo_, il te manque dans la page de connexion, une partie où tu récupère cette valeur pour afficher un message à l'utilisateur (la seconde partie du code qu'il t'a donné)
Prend donc exemple dessus et applique le à ton code, ton problème sera résolu.
                
                
    
                Oui pas étonnant que ça apparaisse dans ton url puisque tu l'y passe en paramètre visible (GET)
Comme l'a précisé Biboo_, il te manque dans la page de connexion, une partie où tu récupère cette valeur pour afficher un message à l'utilisateur (la seconde partie du code qu'il t'a donné)
Prend donc exemple dessus et applique le à ton code, ton problème sera résolu.
                        
                    Bonjour,
Peux-tu mettre le code de tes deux pages (les parties concernant le problème si les code sont vraiment trop long).
Merci.
                
                
    
                Peux-tu mettre le code de tes deux pages (les parties concernant le problème si les code sont vraiment trop long).
Merci.
                        
                    Sur ta page verifylog.php, en fonction du resultat du login (si échoué ou réussi), tu rediriges vers connexion.php avec un message du type :
verifylog.php :
connexion.php :
    
                verifylog.php :
<?php
if(connexionReussi) {
 // on affiche la page d'accueil
} sinon {
 header('location:connexion.php?msg=1');
}
?>
connexion.php :
<?php
if($_GET['msg'] == 1) {
echo "erreur 1 car blabla";
}
?>
                
                Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
                        
                    voici mon code connexion.php:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<HTML>
<HEAD>
<title>Page de connexion</title>
</head>
<body>
<div id="center" align="center">
<form method="post" name="connexion" action="veriflogmdp.php">
<fieldset>
<legend>Veuillez entrer vos login et mot de passe pour vous connecter...</legend>
		
<table class="DHTMLSuite_calendar_timeBar">
<tr>
<td width="137" height="59"><label for="firstname">
<div align="right">Login:</div>
</label></td>
<td width="177"><input type="text" id="login" name="login" tooltipText="Veuillez saisir votre login"></td>
</tr>
<tr>
<td height="46"><label for="lastname">
<div align="right">mot de passe:</div>
</label></td>
<td><input type="password" id="password" name="password" tooltipText="Veuillez saisir votre mot de passe"></td>
</tr>
<tr>
<td height="37">
<div align="right">
<input name="Envoyer" type="submit" class="DHTMLSuite_calendarDropDown_dropDownArrowOver" value="Envoyer">
</div></td>
<td>
<div align="left">
<input name="Réinitialiser" type="reset" class="DHTMLSuite_calendar_dropdownAMinuteOver" value="Réinitialiser">
</div></td></tr>
<tr>
<td height="55" colspan="2"><a href="#" onclick="displayMessage('message.html');return false">Mot de passe oublié?</a> </td>
</tr>
</table>
<p><div><?php
if(!isset($_POST['Envoyer'])) {
echo $message;
}
?></div></p>
</fieldset>
<div style="height:15px"></div>
</form>
</body>
</html>
Voici ma page verifylog.php:
<?php
$login= $_POST['login'];
$password = $_POST['password'];
if($login=="" || $password=="")
{
$message="Renseignez votre login et password SVP!";
header("location: connexion.php?message=$message");
}
else
{
$server="*****";
$database="*****";
$dsn="*****";
$username="*****";
$password="****";
$sqlconnect = odbc_connect($dsn, $username, $password);
$sql = "*********** ";
$res = odbc_exec($sqlconnect, $sql) or die ("echec sql");
$login_trouve = false;
 
while (($verif=odbc_fetch_array($res)) and ($login_trouve == false))
{
if ((strtolower($verif['login_agent']) == $_POST['pseudo']) OR (strtoupper($verif['login_agent']) == $_POST['pseudo'])) // Si Login trouvé
{
$login_trouve=true;
if ($verif['mot_de_passe'] == $_POST['passe'] AND $verif['login_agent'] == $_POST['pseudo']) // Si password correct
{
session_start();
$_SESSION['login'] = $_POST['login'];
$_SESSION['profil'] = $verif['Profil'];
$_SESSION['login_ID'] = $verif['Login_ID'];
$_SESSION['nom'] = $verif['nom_agent'];
$_SESSION['prenom'] = $verif['prenoms_agent'];
						
$resultat=odbc_fetch_array($res);
$nb_res=odbc_num_rows($res);
if($nb_res == 1)
{
	
$nom=$resultat['nom_agents'];
$prenoms=$resultat['prenoms_agents'];
$service=$resultat['direction_service'];
$matricule=$resultat['matricule_agents'];
$sq='INSERT INTO pointage values ("","'.$matricule.'","'.$nom.'","'.$prenoms.'","'.$service.
'","'.gmdate("Y-m-d\TH:i:s\Z").'")';
  
mysql_query ($sq) or die ('cd erreur mysql! '.$sq.'<br/> '.mysql_error());
mysql_close ();
	
						
header("location: page2.php");
}
}
else // Password incorrect
{
$message="Login ou Mot de passe incorrect: Vérifiez le profil";
header("Location: connexion.php?message=$message");
}
}
}
}
if ($login_trouve == false) // Si login absent de la BD
{
$message="Login et Mot de passe incorrect: Vérifiez le profil";
header("Location: connexion.php?message=$message");
}
?>
    
                <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<HTML>
<HEAD>
<title>Page de connexion</title>
</head>
<body>
<div id="center" align="center">
<form method="post" name="connexion" action="veriflogmdp.php">
<fieldset>
<legend>Veuillez entrer vos login et mot de passe pour vous connecter...</legend>
<table class="DHTMLSuite_calendar_timeBar">
<tr>
<td width="137" height="59"><label for="firstname">
<div align="right">Login:</div>
</label></td>
<td width="177"><input type="text" id="login" name="login" tooltipText="Veuillez saisir votre login"></td>
</tr>
<tr>
<td height="46"><label for="lastname">
<div align="right">mot de passe:</div>
</label></td>
<td><input type="password" id="password" name="password" tooltipText="Veuillez saisir votre mot de passe"></td>
</tr>
<tr>
<td height="37">
<div align="right">
<input name="Envoyer" type="submit" class="DHTMLSuite_calendarDropDown_dropDownArrowOver" value="Envoyer">
</div></td>
<td>
<div align="left">
<input name="Réinitialiser" type="reset" class="DHTMLSuite_calendar_dropdownAMinuteOver" value="Réinitialiser">
</div></td></tr>
<tr>
<td height="55" colspan="2"><a href="#" onclick="displayMessage('message.html');return false">Mot de passe oublié?</a> </td>
</tr>
</table>
<p><div><?php
if(!isset($_POST['Envoyer'])) {
echo $message;
}
?></div></p>
</fieldset>
<div style="height:15px"></div>
</form>
</body>
</html>
Voici ma page verifylog.php:
<?php
$login= $_POST['login'];
$password = $_POST['password'];
if($login=="" || $password=="")
{
$message="Renseignez votre login et password SVP!";
header("location: connexion.php?message=$message");
}
else
{
$server="*****";
$database="*****";
$dsn="*****";
$username="*****";
$password="****";
$sqlconnect = odbc_connect($dsn, $username, $password);
$sql = "*********** ";
$res = odbc_exec($sqlconnect, $sql) or die ("echec sql");
$login_trouve = false;
while (($verif=odbc_fetch_array($res)) and ($login_trouve == false))
{
if ((strtolower($verif['login_agent']) == $_POST['pseudo']) OR (strtoupper($verif['login_agent']) == $_POST['pseudo'])) // Si Login trouvé
{
$login_trouve=true;
if ($verif['mot_de_passe'] == $_POST['passe'] AND $verif['login_agent'] == $_POST['pseudo']) // Si password correct
{
session_start();
$_SESSION['login'] = $_POST['login'];
$_SESSION['profil'] = $verif['Profil'];
$_SESSION['login_ID'] = $verif['Login_ID'];
$_SESSION['nom'] = $verif['nom_agent'];
$_SESSION['prenom'] = $verif['prenoms_agent'];
$resultat=odbc_fetch_array($res);
$nb_res=odbc_num_rows($res);
if($nb_res == 1)
{
$nom=$resultat['nom_agents'];
$prenoms=$resultat['prenoms_agents'];
$service=$resultat['direction_service'];
$matricule=$resultat['matricule_agents'];
$sq='INSERT INTO pointage values ("","'.$matricule.'","'.$nom.'","'.$prenoms.'","'.$service.
'","'.gmdate("Y-m-d\TH:i:s\Z").'")';
mysql_query ($sq) or die ('cd erreur mysql! '.$sq.'<br/> '.mysql_error());
mysql_close ();
header("location: page2.php");
}
}
else // Password incorrect
{
$message="Login ou Mot de passe incorrect: Vérifiez le profil";
header("Location: connexion.php?message=$message");
}
}
}
}
if ($login_trouve == false) // Si login absent de la BD
{
$message="Login et Mot de passe incorrect: Vérifiez le profil";
header("Location: connexion.php?message=$message");
}
?>
                        
                    j'ai essayé le code de biboo mais rien n'y fait. je precise que je n'utilise pas de de paramètre GET.
                
                
    
                
                        
                    Ceci :
Signifie que tu redirige ta page courante vers la page 'connexion.php' en lui passant un paramètre GET nommé 'message' qui a pour valeur 'message'.
A partir de là, ne soit pas choqué de voir apparaitre ton message dans l'url étant donné que les paramètres GET apparaissent en clair dans cette dernière.
Et si effectivement tu ne fais rien pour récupérer via $_GET ton message dans ta page de connexion pour pouvoir l'afficher, que veux-tu que je te dise ? Ne viens plus poser de question si c'est pour ne pas appliquer les solutions qu'on te donne ?
Bonne chance pour la suite.
                
                
    
                
header("Location: connexion.php?message=$message");
Signifie que tu redirige ta page courante vers la page 'connexion.php' en lui passant un paramètre GET nommé 'message' qui a pour valeur 'message'.
A partir de là, ne soit pas choqué de voir apparaitre ton message dans l'url étant donné que les paramètres GET apparaissent en clair dans cette dernière.
Et si effectivement tu ne fais rien pour récupérer via $_GET ton message dans ta page de connexion pour pouvoir l'afficher, que veux-tu que je te dise ? Ne viens plus poser de question si c'est pour ne pas appliquer les solutions qu'on te donne ?
Bonne chance pour la suite.
