Redirection+message+php
maje3
Messages postés
55
Date d'inscription
Statut
Membre
Dernière intervention
-
kij_82 Messages postés 4089 Date d'inscription Statut Contributeur Dernière intervention -
kij_82 Messages postés 4089 Date d'inscription Statut Contributeur Dernière intervention -
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
- Alert php ✓ - Forum PHP
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.