Rediriger suite à un traitement [PHP]
Résolu/Fermé
Phpu_u
Messages postés
54
Date d'inscription
mardi 10 avril 2012
Statut
Membre
Dernière intervention
27 février 2014
-
10 avril 2012 à 23:26
Phpu_u Messages postés 54 Date d'inscription mardi 10 avril 2012 Statut Membre Dernière intervention 27 février 2014 - 12 avril 2012 à 07:39
Phpu_u Messages postés 54 Date d'inscription mardi 10 avril 2012 Statut Membre Dernière intervention 27 février 2014 - 12 avril 2012 à 07:39
A voir également:
- Php redirection après traitement
- Easy php - Télécharger - Divers Web & Internet
- Traitement de texte gratuit open office - Télécharger - Suite bureautique
- Php natif - Forum PHP
- Traitement de texte gratuit - Guide
- 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
6 réponses
afrnos
Messages postés
59
Date d'inscription
mercredi 26 novembre 2008
Statut
Membre
Dernière intervention
12 avril 2012
16
11 avril 2012 à 06:47
11 avril 2012 à 06:47
Bonjour,
Montre nous le code php qui ne fonctionne pas.
Il faut utiliser header() pour une redirection via PHP, en prenant soin de le placer avant tout code html.
En javascript, on peut passer par document.location.replace .
Montre nous le code php qui ne fonctionne pas.
Il faut utiliser header() pour une redirection via PHP, en prenant soin de le placer avant tout code html.
En javascript, on peut passer par document.location.replace .
afrnos
Messages postés
59
Date d'inscription
mercredi 26 novembre 2008
Statut
Membre
Dernière intervention
12 avril 2012
16
Modifié par afrnos le 12/04/2012 à 00:47
Modifié par afrnos le 12/04/2012 à 00:47
Pas étonnant que ça ne marche pas.
-> Où se trouve votre connexion à votre BDD ?
Je ne la vois nul part.
Ca doit ressembler à $bdd = new PDO(bdd,login,pass);
-> Dans vos conditions if, vous devez utiliser des opérateurs de comparaisons et non des opérateurs d'affectations,
if ($error=TRUE) (à ne pas utiliser)
if ($error==TRUE) (à utiliser)
-> Votre code n'a pas de sens dès la première condition :
if (!isset($_POST['login']) AND !isset($_POST['mot_de_passe']))
Pourquoi mettre !isset() ?
Si vous voulez vérifier que la variable $_POST est bien présente il faut alors enlever le point d'exclamation '!' avant isset().
Vous devriez même tester si la variable n'est pas vide avec :
if(!empty($_POST['login']))
-> Et pour finir :
if ( $bdd->query('SELECT login FROM users')=$_POST['login'])
Je ne place jamais de requête SQL comme condition, je ne sais même pas si c'est faisable. Mais je vous conseille de procéder autrement.
Faites dans un premier temps votre requête SQL, lisez ensuite le resultat de la requête avec un fetch(), et ensuite placez votre condition.
PS : J'espère que les majuscules aux "If" sont des erreurs de frappe.
Afrnos GH
-> Où se trouve votre connexion à votre BDD ?
Je ne la vois nul part.
Ca doit ressembler à $bdd = new PDO(bdd,login,pass);
-> Dans vos conditions if, vous devez utiliser des opérateurs de comparaisons et non des opérateurs d'affectations,
if ($error=TRUE) (à ne pas utiliser)
if ($error==TRUE) (à utiliser)
-> Votre code n'a pas de sens dès la première condition :
if (!isset($_POST['login']) AND !isset($_POST['mot_de_passe']))
Pourquoi mettre !isset() ?
Si vous voulez vérifier que la variable $_POST est bien présente il faut alors enlever le point d'exclamation '!' avant isset().
Vous devriez même tester si la variable n'est pas vide avec :
if(!empty($_POST['login']))
-> Et pour finir :
if ( $bdd->query('SELECT login FROM users')=$_POST['login'])
Je ne place jamais de requête SQL comme condition, je ne sais même pas si c'est faisable. Mais je vous conseille de procéder autrement.
Faites dans un premier temps votre requête SQL, lisez ensuite le resultat de la requête avec un fetch(), et ensuite placez votre condition.
PS : J'espère que les majuscules aux "If" sont des erreurs de frappe.
Afrnos GH
Phpu_u
Messages postés
54
Date d'inscription
mardi 10 avril 2012
Statut
Membre
Dernière intervention
27 février 2014
5
11 avril 2012 à 13:14
11 avril 2012 à 13:14
J'en ai refais un rapide :
<?php session_start() ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Document sans titre</title>
</head>
<body>
<?php
$connectionOK= FALSE;
$error= FALSE;
$errorLOGIN = FALSE;
If (!isset($_POST['login']) AND !isset($_POST['mot_de_passe']))
{
If ( $bdd->query('SELECT login FROM users')=$_POST['login'])
{ $login = $_POST['login'];
$pass = $bdd->query('SELECT pass FROM users WHERE login $login');
If ($pass = $_POST['mot_de_passe'])
{ $connectionOK = TRUE;
}
Else { $error= TRUE;}
} Else { $errorLOGIN= TRUE;}
If ($error=TRUE) {echo 'Mot de pass incorrect';}
If ($errorLOGIN = TRUE) {echo 'Login incorrect';}
}
If ($connectionOK = TRUE)
{
$_SESSION['pseudo'] = $_POST['login'];
print ("<script language = \"JavaScript\">");
print ("location.href = 'bienvenue.php';");
print ("</script>");
}
?>
</body>
</html>
Voilà, en gros ça ne marche pas :/
<?php session_start() ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Document sans titre</title>
</head>
<body>
<?php
$connectionOK= FALSE;
$error= FALSE;
$errorLOGIN = FALSE;
If (!isset($_POST['login']) AND !isset($_POST['mot_de_passe']))
{
If ( $bdd->query('SELECT login FROM users')=$_POST['login'])
{ $login = $_POST['login'];
$pass = $bdd->query('SELECT pass FROM users WHERE login $login');
If ($pass = $_POST['mot_de_passe'])
{ $connectionOK = TRUE;
}
Else { $error= TRUE;}
} Else { $errorLOGIN= TRUE;}
If ($error=TRUE) {echo 'Mot de pass incorrect';}
If ($errorLOGIN = TRUE) {echo 'Login incorrect';}
}
If ($connectionOK = TRUE)
{
$_SESSION['pseudo'] = $_POST['login'];
print ("<script language = \"JavaScript\">");
print ("location.href = 'bienvenue.php';");
print ("</script>");
}
?>
</body>
</html>
Voilà, en gros ça ne marche pas :/
Phpu_u
Messages postés
54
Date d'inscription
mardi 10 avril 2012
Statut
Membre
Dernière intervention
27 février 2014
5
11 avril 2012 à 15:24
11 avril 2012 à 15:24
Petite précision : Ce que je voulais faire c'était d'ouvrion session, vérifier la connection, si on ne peut pas je ferme mais la pas mis (marchais pas --') et on affiche un message sinon on passe à la page bienvenue avec le pseudo !
Mais marche pas !
Mais marche pas !
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Phpu_u
Messages postés
54
Date d'inscription
mardi 10 avril 2012
Statut
Membre
Dernière intervention
27 février 2014
5
12 avril 2012 à 07:39
12 avril 2012 à 07:39
:ooo
Ben... Au l'avantage c'est qu'on apprends que de ses erreurs :/
Je modifie le scripte si tout va bien je clos le sujet x)
Ps: Pour la connection je m'en suis aperçu hier quand même :D )
Ben... Au l'avantage c'est qu'on apprends que de ses erreurs :/
Je modifie le scripte si tout va bien je clos le sujet x)
Ps: Pour la connection je m'en suis aperçu hier quand même :D )