Redirection sous php5

Résolu
Euskalor Messages postés 40 Date d'inscription mardi 4 mars 2008 Statut Membre Dernière intervention 22 avril 2010 - 21 oct. 2008 à 15:49
Euskalor Messages postés 40 Date d'inscription mardi 4 mars 2008 Statut Membre Dernière intervention 22 avril 2010 - 21 oct. 2008 à 19:10
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

fregolo52 Messages postés 1114 Date d'inscription mercredi 15 juin 2011 Statut Membre Dernière intervention 6 mai 2021 4
21 oct. 2008 à 17:08
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 ?
3
fregolo52 Messages postés 1114 Date d'inscription mercredi 15 juin 2011 Statut Membre Dernière intervention 6 mai 2021 4
21 oct. 2008 à 17:23
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
3
coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 44
21 oct. 2008 à 16:05
salut

idealement, on devrait mettre :

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

mais ca devrait quand meme fonctionner en php5...
0
Euskalor Messages postés 40 Date d'inscription mardi 4 mars 2008 Statut Membre Dernière intervention 22 avril 2010
21 oct. 2008 à 16:32
oui je suis d'accord avec toi je ne vois pas pourquoi il ne redirige pas alors !

A moins que cela vienne de wampserver ?
0

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

Posez votre question
Euskalor Messages postés 40 Date d'inscription mardi 4 mars 2008 Statut Membre Dernière intervention 22 avril 2010
21 oct. 2008 à 16:55
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 !
0
Euskalor Messages postés 40 Date d'inscription mardi 4 mars 2008 Statut Membre Dernière intervention 22 avril 2010
21 oct. 2008 à 17:13
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 !
0
Euskalor Messages postés 40 Date d'inscription mardi 4 mars 2008 Statut Membre Dernière intervention 22 avril 2010
21 oct. 2008 à 17:37
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 !
0
coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 44
21 oct. 2008 à 17:40
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.
0
fregolo52 Messages postés 1114 Date d'inscription mercredi 15 juin 2011 Statut Membre Dernière intervention 6 mai 2021 4
21 oct. 2008 à 17:48
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.
0
Euskalor Messages postés 40 Date d'inscription mardi 4 mars 2008 Statut Membre Dernière intervention 22 avril 2010
21 oct. 2008 à 19:10
J'ai adpaté mon code !! Et tout marche :) Merci encore !
0
Rejoignez-nous