Sessions php

Résolu
Fetide68 Messages postés 745 Date d'inscription   Statut Membre Dernière intervention   -  
Fetide68 Messages postés 745 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

J'ai un problème avec des sessions : ce ne sont pas vraiment des sessions. elles marchent une seule fois et après, dès que je clique sur un lien, la session est détruite.

Tout se passe sur la page index. Et voici le code (simplifié) :

<?php 
	include ('header.php');

	// J'ouvre une session sir le mot de passe et le login ont été saisis :
	if ($_POST['login'] != "" && $_POST['login'] != "") {
		session_start();
		
		$_SESSION['login'] = $_POST['login'];
		$_SESSION['password'] = $_POST['password'];
	}

	// Je teste ma session :
	if (isset($_SESSION['login']) && isset($_SESSION['password'])) {
		// conneexion à la base de données
		require ('connect.php');
		
		// requête :
		$reponse = mysql_query ("SELECT * FROM bdd WHERE login = '".$_SESSION['login']."' AND password = '".$_SESSION['password']."'");
		
		// Si l'utilisateur existe :
		if ($donnees = mysql_fetch_array($reponse)) {
			echo "C'est bon !";
		}
		// Sinon :
		else {
			// Ici j'ai mon formulaire de connexion
		}
		
		// Déconnexion de la base de données.
		require ('deconnect.php');
	}
?> 
A voir également:

47 réponses

Fetide68 Messages postés 745 Date d'inscription   Statut Membre Dernière intervention   32
 
Non, le rep logs est d'origine, l'autre je l'ai créé mais ça ne change rien...

Désolé d'insister, ça devient interminable. Merci pour ton aide.
0
jjsteing Messages postés 1670 Date d'inscription   Statut Contributeur Dernière intervention   181
 
ok, on reprend...

on va fgaire un test..

crée un fichier test.php et met ca dedans :

<?php
session_start();
$Html="";
$Html.='<FORM Method="POST" Action="test.php">';
if (isset($_GET['Deconnect'])){session_destroy();
header('location: test.php');
}
if (!isset($_POST['login']) && !isset($_SESSION['login']) ){
if (isset($_GET['Erreur'])){$Html.= "Erreur login/mdp<br>";}
$Html.="

login : <INPUT type='text' size=20 name='login'><BR>
psw : <INPUT type='text' size=20 name='password'><BR>
<INPUT type='submit' value='Envoyer'>";

}else{
if (!isset($_SESSION['login']) ){
if ($_POST['login']=="monnom" && $_POST['password'] =="monpsw") {

$_SESSION['login'] = $_POST['login'];
$_SESSION['password'] = $_POST['password'];

$Html.="Bienvenue ".$_SESSION['login']."<br>";
$Html.="<a href=test.php?Deconnect=1>ici</a> pour deconnecter<br>";
$Html.="<a href=test.php>ici</a> pour acceder au site";
}else{
header('location: test.php?Erreur=1');
}
}else{
$Html.=" Ici le code de ma page quand l'utilisateur est logué<br>";
$Html.="<a href=test.php?Deconnect=1>ici</a> pour deconnecter";
}
}
$Html.='</FORM>';

echo $Html;
?>

met le en local et sur ton site et teste le...

login:monnom password : monpsw

je te l'ai mis aussi en ligne ici : http://jjsteing.ifrance.com/test.php
0
Fetide68 Messages postés 745 Date d'inscription   Statut Membre Dernière intervention   32
 
Désolé pour le retard...

http://www.mauvais-artistes.com/test/ toujours rien visiblement. Et j'ai pas touché à ton code...
0
jjsteing Messages postés 1670 Date d'inscription   Statut Contributeur Dernière intervention   181
 
ben il m affiche bien la 1ere page, mais apres.. comme y a une réécriture de l adresse j ai erreur 404

pourquoi tu as http://www.mauvais-artistes.com/test/ et non http://www.mauvais-artistes.com/test.php ?

Car apres, comme je fait un post test.php dans le form et dans le header.. ca marche plus !!
0

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

Posez votre question
Fetide68 Messages postés 745 Date d'inscription   Statut Membre Dernière intervention   32
 
J'avais bien regardé ton code, sauf là ou il fallait...

http://www.mauvais-artistes.com/test/test.php

Ca marche !
0
Fetide68 Messages postés 745 Date d'inscription   Statut Membre Dernière intervention   32
 
J'essaie en comparant avec la base de données.
0
Fetide68 Messages postés 745 Date d'inscription   Statut Membre Dernière intervention   32
 
M'en voudras-tu après ceci ? Mais j'ai enfin trouvé la solution la où je n'ai jamais songé chercher.

J'ai juste déplacé mon dossier admin et je l'ai rapproché de la racine...

Avant : http://www.mauvais-artistes.com/ad/admin/

Maintenant : http://www.mauvais-artistes.com/admin/
0