Bonsoir/Bonjour,
j'ai de nouveau un problème de connexion dans mon site. Il y a peu j'avais un soucis avec cette ligne de mon code

header("Location: me.php?id=".$_SESSION['id']);

Puis on l'a proposé une solutions qui a bien fonctionné:

echo '<meta http-equiv="refresh" content="0; url=me.php?id='.$id.'" />';

mais je ne comprends pas pourquoi la solution que l'on m'a proposé ne fonctionne plus ... lorsque je me connecte sur mon site, je ne tombe pas sur l'espace membre de mon id mais sur l'espace membre "Général".
Voici mon code, pourriez-vous m'aider s'il vous plait ?

<?php 

include_once('connexion_sql.php');

if(isset($_POST['submit']))
{

  $pseudoconnect = htmlspecialchars($_POST['pseudoconnect']);
  $mdpconnect = sha1($_POST['mdpconnect']);

    if(!empty($pseudoconnect) AND !empty($mdpconnect))
    {

      $requser = $bdd->prepare("SELECT * FROM membres WHERE pseudo = ? AND pass = ?");
      $requser->execute(array($pseudoconnect, $mdpconnect));
      $userexist = $requser->rowCount();

      if($userexist == 1)
      {

        $id = $_SESSION['id'];
        $userinfo = $requser->fetch();
        $_SESSION['id'] = $userinfo['id'];
        $_SESSION['pseudo'] = $userinfo['pseudo'];

        echo '<meta http-equiv="refresh" content="0; url=me.php?id='.$id.'" />';

      }else echo "Pseudo ou Mot de passe Incorrecte";

    }else echo "Les champs sont incomplet";

}

?>

5 réponses


Noviste
Auteur
Réponse acceptée

J'ai trouvé la résolution de mon problème dans une vidéo youtube. Sujet résolu

Les fonctions modifiant le header (dont également le session_start() !! doivent être placer avant l'affichage de quoique ce soit dans la page puisque le serveur va envoyer la page html au navigateur petit à petit par paquet... Si la page est déjà en partie partie (le bégaiement à l'écrit est une pathologie assez rare XD), le serveur ne pourra pas en modifier le header

Noviste
Auteur

@anth07 d'accord mais du coup, je fais quoi je suis bloqué là x)

@Noviste, dans un but communautaire, peux-tu expliquer dans ce poste la résolution du problème? Cela pourra servir à quelqu'un d'autre.

Merci

Noviste
Auteur

J'ai utilisé

echo '<meta http-equiv="refresh" content="0; url=me.php?id='.$id.'" />';

en enlevant cette partie: ?id='.$id.' . Et j'ai mis des conditions pour la session du membre qui se connecte.