Rediriger suite à un traitement [PHP]

Résolu
Phpu_u Messages postés 54 Date d'inscription   Statut Membre Dernière intervention   -  
Phpu_u Messages postés 54 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

J'apprends actuellement le PHP, mais je but sur un problème :
J'ai réussi à créer un formulaire d'inscription avec le MySQL, mais sur le formulaire de connection je bloc :
Ma page connection.php comporte un formulaire simple (juste POST avec submit, demande de pass et login) redirigeant sur traitement.php ! Je regarde si le mot de passe est dans la base et login blabla... Mais le problème est que lorque je veut rediriger si la connection se déroule correctement... Je ne sais pas faire ! J'ai réussi un truc mais il ne prennait ni en compte la traitement ni le If () {} ou il était placé ! (en java en utilisant print).

Quelqu'un aurrait-il une soluce ?

Merci d'avance !



A voir également:

6 réponses

afrnos Messages postés 59 Date d'inscription   Statut Membre Dernière intervention   16
 
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 .
2
afrnos Messages postés 59 Date d'inscription   Statut Membre Dernière intervention   16
 
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
1
Phpu_u Messages postés 54 Date d'inscription   Statut Membre Dernière intervention   5
 
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 :/
0
Phpu_u Messages postés 54 Date d'inscription   Statut Membre Dernière intervention   5
 
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 !
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
zak
 
header("lacation:bienvenue.php")
0
Phpu_u Messages postés 54 Date d'inscription   Statut Membre Dernière intervention   5
 
: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 )
0