Page 1 sur 1

header("Location: avec une variable");

Posté : 18 sept. 2017, 18:56
par fifi41
Bonjour,

J'ai ajouter sur mon site une page connexion avec mot de passe.
Mon problème, est que dans ma BDD, j'ai créé une colonne avec le nom des pages a atteindre quand le mot de passe est correct.
je n'arrive pas a modifier le header pour obtenir mon résultat.
header("Location: mapage.php") // fonctionne tres bien
header("Location: $page") // ne fonctionne pas du tout !!!!

Pouvez vous me corriger ?

Merci d'avance

Philippe.

Re: header("Location: avec une variable");

Posté : 18 sept. 2017, 20:11
par or 1
$page = "mapage.php";
header("Location: $page");

que se passe-t-il avec uniquement cela dans un fichier php ?

Re: header("Location: avec une variable");

Posté : 18 sept. 2017, 21:41
par fifi41
En validant, j'arrive bien sur mapage.php.
Mon soucis est que j'ai plusieurs pseudo et mot de passe avec a chaque fois une page différente.
Donc je voudrais que pour chaque pseudo, s'affiche la page correspondant.
C'est là que je bloque complementemnt.

Re: header("Location: avec une variable");

Posté : 18 sept. 2017, 21:54
par or 1
si ça bloque, c'est que $page ne contient pas ce qui est attendu. et comme on a pas le code, on va pouvoir facilement t'aider.

Re: header("Location: avec une variable");

Posté : 19 sept. 2017, 08:23
par fifi41
Je comprends bien, je vous joins la partie de code qui doit correspondre.
Merci de votre aide.

/* Connexion */
try
{
$connect = new PDO('mysql:host='.$hostname.';dbname='.$database, $username, $password, $pdo_options);
}
catch (PDOException $e)
{
exit('problème de connexion à la base');
}

/* Requête pour récupérer les enregistrements répondant à la clause : champ du pseudo et champ du mdp de la table = pseudo et mdp posté dans le formulaire */
/* $requete = "SELECT * FROM membres WHERE pseudo = :nom AND pass = :password"; */
$requete = "SELECT * FROM membres WHERE pseudo = :nom AND pass = :password";
try
{
/* Préparation de la requête*/
$req_prep = $connect->prepare($requete);

/* Exécution de la requête en passant les marqueurs et leur variables associées dans un tableau*/
$req_prep->execute(array(':nom'=>$pseudo,':password'=>$pass));

/* Création du tableau du résultat avec fetchAll qui récupère tout le tableau en une seule fois*/
$resultat = $req_prep->fetchAll();

$nb_result = count($resultat);

if ($nb_result == 1)
{
/* Démarre une session si aucune n'est déjà existante et enregistre le pseudo dans la variable de session $_SESSION['login'] qui donne au visiteur la possibilité de se connecter. */
if (!session_id()) session_start();
$_SESSION['login'] = $pseudo;

$message = 'Bonjour '.htmlspecialchars($_SESSION['login']).', vous etes connecte';

$page="cherche.php";
/*ou redirection vers une page en cas de succès ex : menu.php page a modifier pour ouverture de page */
header("Location:$page");
/* header("Location: cherche.php"); */
exit();

Re: [RESOLU] header("Location: avec une variable");

Posté : 19 sept. 2017, 16:58
par Spols
c'est avec le résultat de la requète que tu dois remplir ta variable $page.

quelque chose comme ceci
$page = $resultat[0]['url_perso'];