Redirection sous php5

Résolu
Signaler
Messages postés
40
Date d'inscription
mardi 4 mars 2008
Statut
Membre
Dernière intervention
22 avril 2010
-
Messages postés
40
Date d'inscription
mardi 4 mars 2008
Statut
Membre
Dernière intervention
22 avril 2010
-
Bonjour à toutes et à tous !

Je suis en train de refaire mon site internet en php sous le format php5. Et pour identifier un internaute j'utilise le système des SESSION.


Après avoir entré son identifiant et son mot de passe et après vérifier que tout est bon normalement l'internaute est rediriger vers sa page membre.


Hors avant sous php4 j'utilisais :


...
if ($loginOK) {
$_SESSION['login'] = $log;       
header('location: zonemembre/connected.php');
exit();  
}

J'ai voulu le refaire pour le nouveau site mais la page ne fait que se rafraichir et et ne fais plus comme avant la redirection vers la page membre.

Ce script n'est plus valable sous php5 ?

Merci d'avance pour vos réponses !

10 réponses

Messages postés
1115
Date d'inscription
mercredi 15 juin 2011
Statut
Membre
Dernière intervention
6 mai 2021
4
J'ai le même genre de code que toi, et je n'ai pas de pb en php4 et php5.

Quel est le comportement du site ? Tu restes sur l'ancienne url ? tu as une page blanche ? un message d'erreur ?
Messages postés
1115
Date d'inscription
mercredi 15 juin 2011
Statut
Membre
Dernière intervention
6 mai 2021
4
perso je débugge un peu bourrin ave le commande echo ou
echo "<script language="javascript">alert("mon message");</script>";

Oups, dans ton code je crois que $password n'est jamais affecté, donc ton test doit etre toujours faux, donc jamais de redirection.

tu n'aurais pas oublié $password = $_POST['mdp'] ? A moins, que le code que tu nous montre ne soit pas complet
Messages postés
12303
Date d'inscription
mardi 10 février 2004
Statut
Modérateur
Dernière intervention
30 juillet 2012
42
salut

idealement, on devrait mettre :

header('Location: urldusite/zonemembre/connected.php');

mais ca devrait quand meme fonctionner en php5...
Messages postés
40
Date d'inscription
mardi 4 mars 2008
Statut
Membre
Dernière intervention
22 avril 2010

oui je suis d'accord avec toi je ne vois pas pourquoi il ne redirige pas alors !

A moins que cela vienne de wampserver ?
Messages postés
40
Date d'inscription
mardi 4 mars 2008
Statut
Membre
Dernière intervention
22 avril 2010

Peut-être aussi que ça viens de mon code mais j'avoue ne pas savoir où puisque sous php4 il marche très bien !

<?php
include("include/config.php");
include("include/connect.php");


session_start();
$loginOK = false;
if ( isset($_POST) && (!empty($_POST['login'])) && (!empty($_POST['mdp'])) ) {


  extract($_POST);


  $sql "SELECT * FROM matable WHERE pseudo '".addslashes($login)."'";
  $req = mysql_query($sql) or die('Erreur SQL :
'.$sql);
 
  if (mysql_num_rows($req) > 0) {
     $data = mysql_fetch_assoc($req);


    if ($password == $data['pass']) {
      $loginOK = true;
    }
  }else{
 $errorMessage = 'Identifiant ou mot de passe incorrect';
 }
}


if ($loginOK) {
$_SESSION['login'] = $log;      
     
header('location: zonemembre/connected.php');
exit();  
}
?>

Les META ...

<fieldset>

<form action="<?php echo htmlspecialchars($_SERVER['PHP_SELF']); ?>" method="post">
<label>Identifiant : </label>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;

<label>Mot de passe : </label>

</form>
[rappel.php Mot de passe oublié ?]

[new_account.php S'inscrire]

</fieldset>

A moins que le problème vienne de form action= ... je ne vois vraiment pas d'où ça vient !
Messages postés
40
Date d'inscription
mardi 4 mars 2008
Statut
Membre
Dernière intervention
22 avril 2010

Le site rafraichi la page au lieu de la rediriger !


J'essaye en ce moment ceci :

  if ($password == $data['pass']) {
      $loginOK = true;
    }
  }else{
 $errorMessage = 'Identifiant ou mot de passe incorrect';
 }


if ($loginOK=true) {
$_SESSION['login'] = $log;      
     
header('location: zonemembre/connected.php');
exit();  
}
}
?>

Mais apparemmnet il n'y a pas de transimission de valeur par le SESSION ! Enfin ça c'est autre chose. Si mo premier code est je ne vois pas le problème de la redirection !
Messages postés
40
Date d'inscription
mardi 4 mars 2008
Statut
Membre
Dernière intervention
22 avril 2010

Enfin effet la valeur $password n'est pas défini ! :) MAis bon le code marchait sans dans la version php4 !! Bref je ne vais as chercher plus loin pour comprendre !

Bon je règle la transmission des données pour SESSION et ça marchera !

Merci beaucoup en tout cas !
Messages postés
12303
Date d'inscription
mardi 10 février 2004
Statut
Modérateur
Dernière intervention
30 juillet 2012
42
c'est une histoire de global_register

si global_register est a on, alors on peut utiliser $pass a la place de $_POST['pass']

pour des raisons de securite, de scripts fous, et de script propre, il faut mettre global_register a off.
Messages postés
1115
Date d'inscription
mercredi 15 juin 2011
Statut
Membre
Dernière intervention
6 mai 2021
4
En effet, regarde ce que dit coucou747, j'ai eu aussi quelque pb quand j'ai recopier le code du serveur linux pour coder en local avec wampserver. Les conf des serveurs n'étaient pas les mêmes et j'avais plein d'erreurs avec la config par défaut de wampserver.

Soit tu adaptes le code soit tu adaptes la conf du serveur.
Messages postés
40
Date d'inscription
mardi 4 mars 2008
Statut
Membre
Dernière intervention
22 avril 2010

J'ai adpaté mon code !! Et tout marche :) Merci encore !