Un probleme avec !empty($_POST...
Résolu
ALIMIRO
Messages postés
104
Date d'inscription
Statut
Membre
Dernière intervention
-
Profil bloqué -
Profil bloqué -
Bonjour,
voila les amis j'ai un petit pblm et j'espere ke je trouve la solution ds kelkan...
voila un code k'il similaire un p a mon code:
<?php
// On démarre la session
session_start();
$loginOK = false; // cf Astuce
// On n'effectue les traitement qu'à la condition que
// les informations aient été effectivement postées
if ( isset($_POST) && (!empty($_POST['login'])) && (!empty($_POST['password'])) ) {
extract($_POST); // je vous renvoie à la doc de cette fonction
// On va chercher le mot de passe afférent à ce login
$sql = "SELECT pseudo, age, sexe, ville, mdp FROM user WHERE login = '".addslashes($login)."'";
$req = mysql_query($sql) or die('Erreur SQL : <br />'.$sql);
// On vérifie que l'utilisateur existe bien
if (mysql_num_rows($req) > 0) {
$data = mysql_fetch_assoc($req);
// On vérifie que son mot de passe est correct
if ($password == $data['mdp']) {
$loginOK = true;
}
}
}
// Si le login a été validé on met les données en sessions
if ($loginOK) {
$_SESSION['pseudo'] = $data['pseudo'];
$_SESSION['age'] = $data['age'];
$_SESSION['sexe'] = $data['sexe'];
$_SESSION['ville'] = $data['ville'];
}
else {
echo 'Une erreur est survenue, veuillez réessayer !';
}
?>
------------------------------------------------------------------------
le probleme si je retourner a cette page une erreur est declanche par ce ke le test
if ( isset($_POST) && (!empty($_POST['login'])) && (!empty($_POST['password'])) )
il prendre ke $_POST['login'] et $_POST['password'] sont vide comment le faire ...
Merci pour l'aide...
voila les amis j'ai un petit pblm et j'espere ke je trouve la solution ds kelkan...
voila un code k'il similaire un p a mon code:
<?php
// On démarre la session
session_start();
$loginOK = false; // cf Astuce
// On n'effectue les traitement qu'à la condition que
// les informations aient été effectivement postées
if ( isset($_POST) && (!empty($_POST['login'])) && (!empty($_POST['password'])) ) {
extract($_POST); // je vous renvoie à la doc de cette fonction
// On va chercher le mot de passe afférent à ce login
$sql = "SELECT pseudo, age, sexe, ville, mdp FROM user WHERE login = '".addslashes($login)."'";
$req = mysql_query($sql) or die('Erreur SQL : <br />'.$sql);
// On vérifie que l'utilisateur existe bien
if (mysql_num_rows($req) > 0) {
$data = mysql_fetch_assoc($req);
// On vérifie que son mot de passe est correct
if ($password == $data['mdp']) {
$loginOK = true;
}
}
}
// Si le login a été validé on met les données en sessions
if ($loginOK) {
$_SESSION['pseudo'] = $data['pseudo'];
$_SESSION['age'] = $data['age'];
$_SESSION['sexe'] = $data['sexe'];
$_SESSION['ville'] = $data['ville'];
}
else {
echo 'Une erreur est survenue, veuillez réessayer !';
}
?>
------------------------------------------------------------------------
le probleme si je retourner a cette page une erreur est declanche par ce ke le test
if ( isset($_POST) && (!empty($_POST['login'])) && (!empty($_POST['password'])) )
il prendre ke $_POST['login'] et $_POST['password'] sont vide comment le faire ...
Merci pour l'aide...
A voir également:
- Un probleme avec !empty($_POST...
- Remove empty directories - Télécharger - Nettoyage
- Empty folder finder - Télécharger - Bureautique
- Boot options priorities empty - Forum logiciel systeme
- Empty dns cache - Guide
- [PHP] incrémentation de $_POST[] ... ✓ - Forum PHP
5 réponses
Salut,
<Mode modération>
Merci de ne plus écrire en langage SMS. CCM n'est pas un téléphone mobile et nous les utilisateurs on aime avoir des message lisible pas de kk et ke, etc.
Sur le site il y a aussi des non-francophones et ils ne comprendront rien de ton message.
D'ailleurs les français ne comprennent pas non plus.
</Mode modération>
<Mode modération>
Merci de ne plus écrire en langage SMS. CCM n'est pas un téléphone mobile et nous les utilisateurs on aime avoir des message lisible pas de kk et ke, etc.
Sur le site il y a aussi des non-francophones et ils ne comprendront rien de ton message.
D'ailleurs les français ne comprennent pas non plus.
</Mode modération>
J'aurai plutôt mis:
if( isset($_POST) && (!empty($_POST['login']) && !empty($_POST['password'])) ) {
J'ai du mal à comprendre ta formulation, mais essaie de mettre plutôt
if ( isset($_POST['login']) && isset($_POST['password']) && (!empty($_POST['login'])) && (!empty($_POST['password'])) )
if ( isset($_POST['login']) && isset($_POST['password']) && (!empty($_POST['login'])) && (!empty($_POST['password'])) )
Logiquement, même le code que tu avais mis devrait fonctionner.
Peux tu nous mettre ton formulaire?
Peux tu nous mettre ton formulaire?
pour simplifier les choses ...
ds une page j'ai ecris ce code: if (isset($_POST)&&(empty($_POST['login'])==false)&& (empty($_POST['motp'])==false))
login et motp sont des noms des champs de text d'une page ki appele index et ce test il ecrit ds une page ki appele index1 le probleme comment faire pour eviter l'erreur ki resultant de ce test si j'aller a une page index2 et apres je fait un retour avec <a href....>
un msg est declanche "les champs sont vides" ki j'ecris ds un else de if (isset($_POST)&&(empty($_POST['login'])==false)&& (empty($_POST['motp'])==false))
ds une page j'ai ecris ce code: if (isset($_POST)&&(empty($_POST['login'])==false)&& (empty($_POST['motp'])==false))
login et motp sont des noms des champs de text d'une page ki appele index et ce test il ecrit ds une page ki appele index1 le probleme comment faire pour eviter l'erreur ki resultant de ce test si j'aller a une page index2 et apres je fait un retour avec <a href....>
un msg est declanche "les champs sont vides" ki j'ecris ds un else de if (isset($_POST)&&(empty($_POST['login'])==false)&& (empty($_POST['motp'])==false))
Très honnêtement, je ne comprends pas du tout quel est ton problème.
Tu expliques assez mal ce que tu veux et ce que tu veux.
Si tu fais pas un minimum d'effort et tu ne nous fournis pas le code correspondant, je pourrai rien pour toi.
Pour t'apporter une solution, il faudrait d'abord comprendre le problème.
Tu expliques assez mal ce que tu veux et ce que tu veux.
Si tu fais pas un minimum d'effort et tu ne nous fournis pas le code correspondant, je pourrai rien pour toi.
Pour t'apporter une solution, il faudrait d'abord comprendre le problème.
mmmmmmmmmmmmmmmmmmmmmm!!!!!!!!!!!!!!!!!!!!!!!!! voila mon code
<?php
session_start();
$id=mysql_connect ("localhost","root","");
mysql_select_db ("loc",$id)or die("imposible de connecter au serveur");
if (isset($_POST)&&(empty($_POST['login'])==false)&& (empty($_POST['motp'])==false))
{
$login=$_POST['login'];
$motp=$_POST['motp'];
$recherche="SELECT *
FROM util
WHERE 'login' = 'admin'
AND 'motdepasse' = '$motp' ";
$req=mysql_query($recherche,$id);
if (mysql_num_rows($req)>0)
{
$_SESSION['pseudo']=$login;
$_SESSION['PAS']=$motp;
}
else
{
print '<body onLoad="alert(\'ERREUR, mot de passe ou login errone ...\')">';
echo '<meta http-equiv="refresh" content="0;URL=index.php">';
}
}
else
{
print '<body onLoad="alert(\'ERREUR, tu oublier des champs vide ...\')">';
echo '<meta http-equiv="refresh" content="0;URL=index.php">';
}
?>
cette page est nome index1.php et ds cette page il existe des liens c je clik sur un lien et apres je fait un retour sur cette page(index1) une erreur "\'ERREUR, mot de passe ou login errone ...\'"
Que dois-je faire pour eviter ce msg c-a-d pour garder les valeurs de motp et login
<?php
session_start();
$id=mysql_connect ("localhost","root","");
mysql_select_db ("loc",$id)or die("imposible de connecter au serveur");
if (isset($_POST)&&(empty($_POST['login'])==false)&& (empty($_POST['motp'])==false))
{
$login=$_POST['login'];
$motp=$_POST['motp'];
$recherche="SELECT *
FROM util
WHERE 'login' = 'admin'
AND 'motdepasse' = '$motp' ";
$req=mysql_query($recherche,$id);
if (mysql_num_rows($req)>0)
{
$_SESSION['pseudo']=$login;
$_SESSION['PAS']=$motp;
}
else
{
print '<body onLoad="alert(\'ERREUR, mot de passe ou login errone ...\')">';
echo '<meta http-equiv="refresh" content="0;URL=index.php">';
}
}
else
{
print '<body onLoad="alert(\'ERREUR, tu oublier des champs vide ...\')">';
echo '<meta http-equiv="refresh" content="0;URL=index.php">';
}
?>
cette page est nome index1.php et ds cette page il existe des liens c je clik sur un lien et apres je fait un retour sur cette page(index1) une erreur "\'ERREUR, mot de passe ou login errone ...\'"
Que dois-je faire pour eviter ce msg c-a-d pour garder les valeurs de motp et login
J'attendais le formulaire qui va avec aussi...
Dans ta requête, tu imposes visiblement un utilisateur précis "admin".
Tu n'utilises pas le champ $_POST['login'] de ton formulaire.
C'est peut-être de là que viens le problème...
Il semblerai que dans le cas actuelle des choses, mysql_num_rows($req) te renvoi 0. Vérifie donc ta requête.
Les champs sont bien login et motdepasse ?
Je te conseil de virer momentanement les
de tes deux conditions le temps de travailler sérieusement ton script.
En fait, ça t'empêche de voir les éventuelles message d'erreur renvoyé par PHP que tu pourrai avoir.
Dans ta requête, tu imposes visiblement un utilisateur précis "admin".
$recherche="SELECT * FROM util WHERE 'login' = 'admin' AND 'motdepasse' = '$motp' ";
Tu n'utilises pas le champ $_POST['login'] de ton formulaire.
C'est peut-être de là que viens le problème...
Il semblerai que dans le cas actuelle des choses, mysql_num_rows($req) te renvoi 0. Vérifie donc ta requête.
Les champs sont bien login et motdepasse ?
Je te conseil de virer momentanement les
print '<body onLoad="alert(\'ERREUR, tu oublier des champs vide ...\')">'; echo '<meta http-equiv="refresh" content="0;URL=index.php">';
de tes deux conditions le temps de travailler sérieusement ton script.
En fait, ça t'empêche de voir les éventuelles message d'erreur renvoyé par PHP que tu pourrai avoir.
non non ne me comprenait pas très bien ...
mon ami le probleme n'est pas comme tu dis...si je clic sur le boutton valider de la page index
<form name="form2" method="post" action="index1.php">
la page ouverte sans erreur le pblm si quand je vais vers une autre page et apres je vais un retour a la page index1...
mon ami le probleme n'est pas comme tu dis...si je clic sur le boutton valider de la page index
<form name="form2" method="post" action="index1.php">
la page ouverte sans erreur le pblm si quand je vais vers une autre page et apres je vais un retour a la page index1...
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question