Espace membre

Résolu
Utilisateur anonyme -  
 Utilisateur anonyme -
Bonjour,

jai un probleme dans mon code de mon site il se déconnecté a chaque fois je suis chez OVH mutualiser et voila mon code

<div id="membre">

<?php
// on teste si le visiteur a soumis le formulaire de connexion
if (isset($_POST['connexion']) && $_POST['connexion'] == 'Connexion') {
if ((isset($_POST['login']) && !empty($_POST['login'])) && (isset($_POST['pass']) && !empty($_POST['pass']))) {

$base = new PDO('mysql:host=mysql5.perso;dbname=filmlego, 'filmlego', 'k36hGR5D9F');
$res = $base->query("SELECT * FROM membre WHERE login='".$_POST['login']."'");
$data = $res->fetch();
if ($data['pass']!="" && $data['pass']==$_POST['pass']){
$_SESSION['login'] = $_POST['login'];
//header('Location: http://filmlego.com');
//exit();
}
else $erreur = "Identifiant ou mot de passe incorrect..";

}
else {
$erreur = 'Au moins un des champs est vide.';
}
}

if ($_SESSION['login']=="") {
?>
<p>Connexion à l'espace membre :<br />
<?php
if (isset($erreur)) echo '<span style="color:red" >'.$erreur.'</span><br />';
?>
</p>
<form action="<?php echo $_SERVER['PHP_SELF'] ?>" method="post">
<p> Login : <input type="text" name="login" value="<?php if (isset($_POST['login'])) echo htmlentities(trim($_POST['login'])); ?>">
Mot de passe : <input type="password" name="pass" value="<?php if (isset($_POST['pass'])) echo htmlentities(trim($_POST['pass'])); ?>">
<input type="submit" name="connexion" value="Connexion"></p>
</form>
<a href="inscription.php">Vous inscrire</a>
<?php }
else {
echo "Bienvenue ".htmlentities(trim($_SESSION['login'])) . "!<br />";
echo '<a href="deconnexion.php">Déconnexion</a>';
echo '<a href="moncompte.php">Mon Compte</a>';
}
?>

</div>

merci d'avance nico

18 réponses

  1. Melooo Messages postés 1476 Statut Membre 84
     
    Bonjour,
    il se déconnecte ? c'est à dire ?
    quand tu essayes de te connecter il se passe quoi ?
    0
  2. Utilisateur anonyme
     
    tient tu peux essayer voila le compte test mot de passe test
    tu te connecte sans prob puis va sur une autre page tu vera tu sera deconnecter
    0
  3. Melooo Messages postés 1476 Statut Membre 84
     
    hum je viens d'essayer et en faite je suis rediriger vers la page d'accueil ce qui me semble logique puisque :
    if ($data['pass']!="" && $data['pass']==$_POST['pass']){
    $_SESSION['login'] = $_POST['login'];
    //header('Location: http://filmlego.com');
    //exit();
    } 
    

    je sais pas si tes commentaires sont voulues ou pas..
    mais si le mot de passe est différent de vide et est égale au champ de ma base de données, alors je redirige vers la page d'accueil
    mais si tu as laisser les commentaires dans ton code actuel, prends pas en compte ce que je viens de te dire...
    0
  4. Utilisateur anonyme
     
    ok je sais j'arrive a me connecter c pas le problème
    le problème c quand on est connecter et que le l'on va dans une page on se fait deconnecter et faut se reconnnecter
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. Melooo Messages postés 1476 Statut Membre 84
     
    normal,
    tu utilise des post !
    mais quand tu va sur une autre page, les post sont pas connu !
    solution ?
    utiliser les sessions ! qui permettant de garder des valeurs de pages en pages
    0
  7. Utilisateur anonyme
     
    ok
    donc je remplace les post par des sessions
    0
  8. Melooo Messages postés 1476 Statut Membre 84
     
    euh c'est un poil plus complexe que sa...
    $_SESSION['login'] = $_POST['login'];
    $_SESSION['pass'] = $_POST['pass'];
    

    et à chaque début de page(ce code est à mettre au tout début du script) :
    session_start();
    

    Je te laisse lire ce topic si tu n'a jamais vu les sessions :
    https://www.commentcamarche.net/faq/20499-fusion-de-sessions-php
    0
  9. Utilisateur anonyme
     
    mais jai deja mit session=post
    0
  10. Melooo Messages postés 1476 Statut Membre 84
     
    je ne vois pas de session_start();
    0
  11. Utilisateur anonyme
     
    un ami m'avait dit que OVH louvrer automatiquement mais c faux
    0
  12. hervé56 Messages postés 296 Statut Membre 10
     
    je confirme c faux et heureusement
    0
  13. Melooo Messages postés 1476 Statut Membre 84
     
    oui heureusement
    0
  14. Melooo Messages postés 1476 Statut Membre 84
     
    avec le session_start() ca marche ?
    0
  15. Utilisateur anonyme
     
    mais il me dit sa
    Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at /homez.338/filmlego/www/internet5.php:2) in /homez.338/filmlego/www/internet5.php on line 4

    maintenant
    0
  16. Melooo Messages postés 1476 Statut Membre 84
     
    ca ca veut dire que tu as des lignes de codes ou un espace ou une ligne vide avant le session_start();
    0
  17. Melooo Messages postés 1476 Statut Membre 84
     
    Pas de quoi
    résolu ;)
    0