Précédent   Forum des professionnels en informatique > PHP > PHP & SGBD > PHP & MySQL
PHP & MySQL Forum d'entraide sur les fonctions MySQL avec PHP. Avant de poster -> FAQ MySQL, Cours MySQL et Sources MySQL. Pour les questions concernant le moteur MySQL plutôt que les fonctions PHP, merci d'utiliser le forum MySQL.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 15/06/2011, 11h32   #1
Invité de passage
 
Femme
Étudiant
Inscription : juin 2011
Messages : 13
Détails du profil
Informations personnelles :
Sexe : Femme
Localisation : France

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : juin 2011
Messages : 13
Points : 4
Points : 4
Par défaut Perte de SESSION

Bonjour, je travaille sur un formulaire d'identification, je mets les session_start à chaque début de page mais l'include de connexion me perd systématiquement les $_SESSION. Voici mes codes :

cnx.php
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
<?php
if(isset($_POST['c_pseudo']) AND isset($_POST['c_mdp']))
{
	try
	{
		$bdd=new PDO('mysql:host=localhost;dbname=etudes-avenir', 'root', 'mdp');
	}
	catch (Exception $e)
	{
		die('Erreur : '.$e->getMessage());
	}
 
	$req=$bdd->query('SELECT PseudoEtudiant, MotDePasse FROM Etudiant;');
 
	$a = 0;
	while($affiche = $req->fetch())
	{
		if($_POST['c_pseudo'] == $affiche['PseudoEtudiant'] AND $_POST['c_mdp'] == $affiche['MotDePasse'])
			$a = 1;
			$_SESSION['login'] = $_POST['c_pseudo'];
			$_SESSION['pwd']=$_POST['c_mdp'];
	}
	if($a == 0)
		header('location: questionnaire.php');
		session_destroy();
}
elseif(isset($_SESSION['login']) AND isset($_SESSION['pwd']))
{
	'test';
}
else
{
	header('location: questionnaire.php');
}
?>
//questionnaire.php est la page du formulaire

choix_questionnaire.php
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
<?php
    session_start();
    include("inc/cnx.inc.php");
    include("inc/head.inc.php");
    include("inc/navigation.inc.php");
?>
 
<div class="content">
 
	<div id="breadcrumbs">
		Vous êtes ici : <a href="index.php" title="Accueil">Accueil</a>	&raquo;&nbsp;<strong>Choix du questionnaire</strong>
	</div>
 
	<h1>Choisir un questionnaire</h1>
 
	<p style="text-align: center;">Veuillez sélectionner le questionnaire auquel vous voulez accéder</p>
	<?php
		$req= $bdd->query ('SELECT idQuestionnaire FROM Questionnaire;');
 
		echo '<form method="post" action="#">';
		while ($affiche = $req->fetch())
		{
			echo '<p style="font-size: 18px; color:#a1358a;"><input type="radio" name="choix" value=\''.$affiche["idQuestionnaire"].'\' /> Questionnaire n° '.$affiche["idQuestionnaire"].'<br /><br />';
		}
		echo '<div style="text-align:right">
				<input type="submit" class="selection" value="" />
				</div>';
 
		echo '</p></form>';
 
		if (isset($_POST['choix']))
		{
			$_SESSION['id'] = $_POST['choix'];
			header('location: code_quest'.$_POST["choix"].'.php');
		}
	?>
</div>
 
<?php
    include("inc/footer.inc.php");
?>
code_quest1.php //là où je perd les $_SESSION
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
<?php
    session_start();
    include("inc/cnx.inc.php");
    include("inc/head.inc.php");
    include("inc/navigation.inc.php");
?>
 
<div class="content">
 
	<div id="breadcrumbs">
		Vous êtes ici : <a href="index.php" title="Accueil">Accueil</a>	&raquo;&nbsp;<strong>Code du questionnaire <?php echo $_SESSION['id']; ?></strong>
	</div>
 
	<h1>Code du questionnaire n° <?php echo $_SESSION['id']; ?></h1>
 
	<div class="block">
		<h2>Veuillez saisir le code reçu pour le questionnaire</h2><?php var_dump($_SESSION); ?>
		<form onsubmit="return validerCode()" name="FrmCode" method="post" action="formulaire/questionnaire<?php echo $_SESSION['id']; ?>.php">
			<p>
				<label>code :</label>
				<input type="text" name="code" title="Veuillez saisir le code." size="30" maxlength="60" />
			</p>
		<div style="text-align:right">
				<input type="submit" class="commencer" value="" />
		</div>
		</form>
	</div>
</div>
 
<?php
    include("inc/footer.inc.php");
?>
Natsuko est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/06/2011, 11h37   #2
Membre éprouvé
 
Avatar de Nheo_
 
Homme
Étudiant
Inscription : avril 2011
Messages : 317
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : avril 2011
Messages : 317
Points : 405
Points : 405
Bonjour,

Je ne vois pas de session_start() dans cnx.php : oublie lors du copier coller ?
Nheo_ est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/06/2011, 12h30   #3
Invité de passage
 
Femme
Étudiant
Inscription : juin 2011
Messages : 13
Détails du profil
Informations personnelles :
Sexe : Femme
Localisation : France

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : juin 2011
Messages : 13
Points : 4
Points : 4
il n'y en a pas puisque qu'ils sont déjà placés dans les pages. cnx est un include
Natsuko est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/06/2011, 13h59   #4
Membre éprouvé
 
Avatar de Nheo_
 
Homme
Étudiant
Inscription : avril 2011
Messages : 317
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : avril 2011
Messages : 317
Points : 405
Points : 405
Ou l’inclus-tu alors ? Je n'en vois pas dans le code posté.
Nheo_ est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/06/2011, 14h19   #5
Invité de passage
 
Femme
Étudiant
Inscription : juin 2011
Messages : 13
Détails du profil
Informations personnelles :
Sexe : Femme
Localisation : France

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : juin 2011
Messages : 13
Points : 4
Points : 4
effectivement ça a sauté au copier/coller (j'ai coupé une partie du code entre les include et le corps).

j'édite le premier message.
Natsuko est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/06/2011, 14h29   #6
Membre régulier
 
Avatar de Netek
 
Homme Damien Gros
Développeur Web
Inscription : mars 2011
Messages : 58
Détails du profil
Informations personnelles :
Nom : Homme Damien Gros
Âge : 25
Localisation : France, Gard (Languedoc Roussillon)

Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : mars 2011
Messages : 58
Points : 73
Points : 73
Envoyer un message via MSN à Netek
Hm apparemment c'est parceque tu n'as pas imbriqué le session_destroy dans le if dans cnx.php
__________________
Développeur web netek.fr PHP, MySQL, Ajax, jQuery, Drupal, Magento
Netek est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/06/2011, 14h34   #7
Invité de passage
 
Femme
Étudiant
Inscription : juin 2011
Messages : 13
Détails du profil
Informations personnelles :
Sexe : Femme
Localisation : France

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : juin 2011
Messages : 13
Points : 4
Points : 4
Citation:
Envoyé par Netek Voir le message
Hm apparemment c'est parceque tu n'as pas imbriqué le session_destroy dans le if dans cnx.php
Lequel de if ?
Natsuko est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/06/2011, 14h36   #8
Membre régulier
 
Avatar de Netek
 
Homme Damien Gros
Développeur Web
Inscription : mars 2011
Messages : 58
Détails du profil
Informations personnelles :
Nom : Homme Damien Gros
Âge : 25
Localisation : France, Gard (Languedoc Roussillon)

Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : mars 2011
Messages : 58
Points : 73
Points : 73
Envoyer un message via MSN à Netek
Code :
1
2
3
if($a == 0)
		header('location: questionnaire.php');
		session_destroy();
__________________
Développeur web netek.fr PHP, MySQL, Ajax, jQuery, Drupal, Magento
Netek est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 15/06/2011, 14h38   #9
Membre régulier
 
Avatar de Netek
 
Homme Damien Gros
Développeur Web
Inscription : mars 2011
Messages : 58
Détails du profil
Informations personnelles :
Nom : Homme Damien Gros
Âge : 25
Localisation : France, Gard (Languedoc Roussillon)

Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : mars 2011
Messages : 58
Points : 73
Points : 73
Envoyer un message via MSN à Netek
Et pareil ici:
Code :
1
2
3
4
if($_POST['c_pseudo'] == $affiche['PseudoEtudiant'] AND $_POST['c_mdp'] == $affiche['MotDePasse'])
			$a = 1;
			$_SESSION['login'] = $_POST['c_pseudo'];
			$_SESSION['pwd']=$_POST['c_mdp'];
Il ne suffit pas d'indenter le code pour qu'il soit englobé dans le if ^^
__________________
Développeur web netek.fr PHP, MySQL, Ajax, jQuery, Drupal, Magento
Netek est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 15/06/2011, 14h41   #10
Invité de passage
 
Femme
Étudiant
Inscription : juin 2011
Messages : 13
Détails du profil
Informations personnelles :
Sexe : Femme
Localisation : France

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : juin 2011
Messages : 13
Points : 4
Points : 4
effectivement, maintenant ça marche !merci bien.

je clos
Natsuko est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 21h08.


 
 
 
 
Partenaires

Hébergement Web