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

A voir également:

18 réponses

Melooo Messages postés 1405 Date d'inscription   Statut Membre Dernière intervention   84
 
Bonjour,
il se déconnecte ? c'est à dire ?
quand tu essayes de te connecter il se passe quoi ?
0
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
Melooo Messages postés 1405 Date d'inscription   Statut Membre Dernière intervention   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
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

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

Posez votre question
Melooo Messages postés 1405 Date d'inscription   Statut Membre Dernière intervention   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
Utilisateur anonyme
 
ok
donc je remplace les post par des sessions
0
Melooo Messages postés 1405 Date d'inscription   Statut Membre Dernière intervention   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
Utilisateur anonyme
 
mais jai deja mit session=post
0
Melooo Messages postés 1405 Date d'inscription   Statut Membre Dernière intervention   84
 
je ne vois pas de session_start();
0
Utilisateur anonyme
 
un ami m'avait dit que OVH louvrer automatiquement mais c faux
0
hervé56 Messages postés 268 Date d'inscription   Statut Membre Dernière intervention   10
 
je confirme c faux et heureusement
0
Melooo Messages postés 1405 Date d'inscription   Statut Membre Dernière intervention   84
 
oui heureusement
0
Melooo Messages postés 1405 Date d'inscription   Statut Membre Dernière intervention   84
 
avec le session_start() ca marche ?
0
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
Melooo Messages postés 1405 Date d'inscription   Statut Membre Dernière intervention   84
 
ca ca veut dire que tu as des lignes de codes ou un espace ou une ligne vide avant le session_start();
0
Utilisateur anonyme
 
ca marche enfin merci
0
Melooo Messages postés 1405 Date d'inscription   Statut Membre Dernière intervention   84
 
Pas de quoi
résolu ;)
0
Utilisateur anonyme
 
oui
0