Précédent   Forum des professionnels en informatique > PHP > Langage > Sessions
Sessions Forum d'entraide sur les sessions avec PHP. Avant de poster -> FAQ sessions, Cours sessions et Sources sécurité
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 30/10/2006, 18h27   #1
Candidat au titre de Membre du Club
 
Inscription : février 2005
Messages : 48
Détails du profil
Informations forums :
Inscription : février 2005
Messages : 48
Points : 14
Points : 14
Envoyer un message via MSN à Louison
Par défaut Ouverture de sessions

Bonjour,

Voila je m'explique, j'ai un problème de session depuis un bout de temps, et j'ai déjà énormément cherché, autant dans la FAQ de developpez, que sur google, mais rien trouvé à mon problème...
Je sais bien que cette question a déjà été posée 8436 fois et je suis désolé d'ajouter la 8437ème fois, mais la je trouve vraiment pas l'erreur, et je me dis qu'un oeil extérieur pourrait peut etre m'aider en peu de temps....

Enfin voila mon code, j'ai bien fait attention à ne laisser aucune espace, aucune ligne vide, et cette ligne mentionnée n'a rien d'étrange... Je vous laisse regarder :

INDEX_NAV.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
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"/>
<link rel="stylesheet" type="text/css" href="styles.css" />
<title>DAGAR Sarl</title>
<script src="menu2.js" type="text/javascript"></script>
</head>
<body leftmargin="0" topmargin="0" marginwidth="0" marginheight="0" 
onLoad="MM_preloadImages('images/nav/over/navig_06.jpg','images/nav/over/navig_07.jpg','images/nav/over/navig_08.jpg','images/nav/over/navig_09.jpg',
'images/nav/over/navig_10.jpg','images/nav/over/navig_11.jpg','images/nav/over/navig_12.jpg','images/nav/over/navig_13.jpg','images/nav/over/navig_16.jpg')">
<table border="0" cellpadding="0" cellspacing="0" width="100%">
  <tr>
    <td width="160px" ><img src="images/nav/normales/navig_01.jpg" width="160" height="151" alt="" /></td>
    <td width="832px" ><img src="images/nav/normales/navig_02.jpg" alt="" width="832" height="151" /></td>
    <td width="*" colspan="2" background="images/nav/normales/defilement.jpg"></td>
  </tr>
</table>
<table width="992" border="0" cellpadding="0" cellspacing="0">
  <tr>
    <td width="161" height="700">
	<table border="0" cellpadding="0" cellspacing="0">
      <tr>
        <td><img src="images/nav/normales/navig_03.jpg" width="132" height="214" alt="" /></td>
        <td colspan="2" rowspan="13"><img src="images/nav/normales/navig_04.jpg" width="29" height="699" alt="" /></td>
      </tr>
      <tr>
        <td bgcolor="#FFFFFF">
		<a href="index_nav.php?page=presentation" onMouseOut="MM_swapImgRestore()" onMouseOver="MM_swapImage('Image19','','images/nav/over/navig_06.jpg',1)">
		<img src="images/nav/normales/navig_06.jpg" name="Image19" width="132" height="22" border="0" alt="" /></a></td>
      </tr>
      <tr>
        <td><a href="index_nav.php?page=news" onMouseOut="MM_swapImgRestore()" onMouseOver="MM_swapImage('Image20','','images/nav/over/navig_07.jpg',1)">
		<img src="images/nav/normales/navig_07.jpg" name="Image20" width="132" height="22" border="0" alt="" /></a></td>
      </tr>
      <tr>
        <td><a href="index_nav.php?page=prestations" onMouseOut="MM_swapImgRestore()" onMouseOver="MM_swapImage('Image21','','images/nav/over/navig_08.jpg',1)">
		<img src="images/nav/normales/navig_08.jpg" name="Image21" width="132" height="22" border="0" alt="" /></a></td>
      </tr>
      <tr>
        <td><a href="index_nav.php?page=realisations" onMouseOut="MM_swapImgRestore()" onMouseOver="MM_swapImage('Image22','','images/nav/over/navig_09.jpg',1)">
		<img src="images/nav/normales/navig_09.jpg" name="Image22" width="132" height="21" border="0" alt="" /></a></td>
      </tr>
      <tr>
        <td><a href="index_nav.php?page=promotions" onMouseOut="MM_swapImgRestore()" onMouseOver="MM_swapImage('Image23','','images/nav/over/navig_10.jpg',1)">
		<img src="images/nav/normales/navig_10.jpg" name="Image23" width="132" height="23" border="0" alt="" /></a></td>
      </tr>
      <tr>
        <td><a href="index_nav.php?page=guestbook" onMouseOut="MM_swapImgRestore()" onMouseOver="MM_swapImage('Image24','','images/nav/over/navig_11.jpg',1)">
		<img src="images/nav/normales/navig_11.jpg" name="Image24" width="132" height="23" border="0" alt="" /></a></td>
      </tr>
      <tr>
        <td><a href="index_nav.php?page=liens" onMouseOut="MM_swapImgRestore()" onMouseOver="MM_swapImage('Image25','','images/nav/over/navig_12.jpg',1)">
		<img src="images/nav/normales/navig_12.jpg" name="Image25" width="132" height="21" border="0" alt="" /></a></td>
      </tr>
      <tr>
        <td><a href="index_nav.php?page=contact" onMouseOut="MM_swapImgRestore()" onMouseOver="MM_swapImage('Image26','','images/nav/over/navig_13.jpg',1)">
		<img src="images/nav/normales/navig_13.jpg" name="Image26" width="132" height="22" border="0" alt="" /></a></td>
      </tr>
      <tr>
        <td><img src="images/nav/normales/navig_14.jpg" width="132" height="117" alt="" /></td>
      </tr>
      <tr>
        <td><img src="images/nav/normales/navig_15.jpg" width="132" height="23" alt="" /></td>
      </tr>
      <tr>
	  	<td><a href="index_nav.php?page=administrateur" onMouseOut="MM_swapImgRestore()" onMouseOver="MM_swapImage('Image27','','images/nav/over/navig_16.jpg',1)">
		<img src="images/nav/normales/navig_16.jpg" name="Image27" width="132" height="24" border="0" alt="" /></a></td>
		</tr>
      <tr>
        <td><img src="images/nav/normales/navig_17.jpg" width="132" height="145" alt="" /></td>
      </tr>
      <tr>
        <td><img src="images/nav/normales/spacer.gif" width="132" height="1" alt="" /></td>
        <td><img src="images/nav/normales/spacer.gif" width="28" height="1" alt="" /></td>
        <td><img src="images/nav/normales/spacer.gif" width="1" height="1" alt="" /></td>
      </tr>
    </table></td>
    <td width="831" valign="top" background="images/nav/normales/navig_05.jpg" id="affichage"><? include('page.php'); ?></td>
  </tr>
</table>
</body>
</html>
LOGIN.PHP (le formulaire)
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
<? 
include("mysql_connect.php");
$sql="SELECT * FROM donnees";
$req=mysql_query($sql) or die('Erreur SQL : <br />'.$sql);
$data=mysql_fetch_array($req);
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<link rel="stylesheet" type="text/css" href="../styles.css"/>
<title>Dagar Sàrl</title>
</head>
<body>
<p class="titre">Acc&egrave;s Administrateur</p>
<div id="Administration1">
<p class="normal">
  Cet espace est réservé à l'administrateur du site. Il est possible depuis le paneau de configuration du site, de manager les news, les réalisations, les promotions
  les données de l'entreprise, les messages du livre d'or, les liens et les clients de l'entreprise.<br /><br /><br /></p>
  <p class="centre">Pour vous identifier, insérer votre nom d'utilisateur ainsi que votre mot de passe dans les champs suivants
</p>
<div id="Administration2" class="normal">
	Nom d'utilisateur :<p></p><br />
	Mot de passe :<br />
</div>
<div id="Administration3">
	<form name="login" action="index_nav.php?page=login" method="post">
		<input name="log" type="text" size="30" /><br /><br>
		<input name="password" type="password" size="30" /><br /><br />
		<input type="submit" name="envoyer" value="S'identifier" />
	</form>
</div>
</div>
</body>
</html>
VERIFLOGIN.PHP (L'identification)
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("mysql_connect.php");
$identification = false;
//teste si les valeurs ont été postées
if( (isset($_POST)) && (!empty($_POST['log'])) && (!empty($_POST['password'])) ){
	extract($_POST);
	//sélection des données, exécution de requête
	$sql = "SELECT * FROM donnees";
	$req = mysql_query($sql) or die ('Erreur SQL : <br />'.$sql);
	//teste s'il y a au moins un enregistrement
	if(mysql_num_rows($req) > 0) {
	$data = mysql_fetch_assoc($req);
		//teste si les valeurs postées correspondent à celles en BD
		if( ($log == $data['login']) && ($password == $data['password']) ){
		$identification = true;
		}
	}
}
//si ok mise en session des var et redirection
if($identification){
	$_SESSION['nom'] = $data['nom'];	
	$_SESSION['prenom'] = $data['prenom'];
	$_SESSION['login'] = $data['login'];
	header("location: administration/index.php");
}
//sinon affichage d'un message d'erreru
else{
	echo "<br /><br /><div class=centre>L'identification n'est pas correcte. Assurez-vous d'avoir un accès à cet espace, et d'avoir des données correctes (username et 		     password)</div>";	
	echo "<br><center><a href=http://www.archi-dag.ch/index_nav.php?page=administrateur>Retour à la page d'identification<a></center>";
}
?>
Voila j'ai mis mes trois fichiers utilisés, il y a donc l'index contenant en gros le design du site, le formulaire d'identification est inclus comme toutes les autres pages, et la troisième est l'utilisation des sessions...

J'espère trouver de l'aide sans embêter tout le monde sur ce forum....

Merci @+
Louison est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/10/2006, 19h47   #2
Rédacteur/Modérateur
 
Avatar de N1bus
 
Inscription : janvier 2003
Messages : 2 018
Détails du profil
Informations personnelles :
Âge : 47
Localisation : France, Charente Maritime (Poitou Charente)

Informations forums :
Inscription : janvier 2003
Messages : 2 018
Points : 1 992
Points : 1 992
bonjour,

ton veriflogin.php est inclus dans index_nav.php
ici : http://www.archi-dag.ch/index_nav.php?page=login

Le header est déjà envoyé par index_nav.php c'est pourquoi tu as cette erreur.

session_start() doit arriver avant ta balise <!DOCTYPE html PUBLIC .... de la page index_nav.php
N1bus est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/10/2006, 22h12   #3
Candidat au titre de Membre du Club
 
Inscription : février 2005
Messages : 48
Détails du profil
Informations forums :
Inscription : février 2005
Messages : 48
Points : 14
Points : 14
Envoyer un message via MSN à Louison
Effectivement ça fonctionne niquel, j'ai juste passé du formulaire à la page de vérification sans l'affichage dans la page "index_nav.php", et tout fonctionne bien merci beaucoup !

Mais cela veut dire que ma méthode me permettrait pas d'employer les sessions sur toutes mes pages (heureusement je n'en ai pas besoin), puisque je fait l'inclusion au milieu du fichier.. ou bien ?

Puisque le header sera de toute façon envoyé à chaque fois en premier par ma page index_nav.php..... ya une solution mieux que ce que je fait ? ou je suis complètement dans les vapes ?

En tout cas merci pour la réponse, et bonne soirée
Louison est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/10/2006, 22h51   #4
Rédacteur/Modérateur
 
Avatar de N1bus
 
Inscription : janvier 2003
Messages : 2 018
Détails du profil
Informations personnelles :
Âge : 47
Localisation : France, Charente Maritime (Poitou Charente)

Informations forums :
Inscription : janvier 2003
Messages : 2 018
Points : 1 992
Points : 1 992
sinon,

créer une session dés la page d'acceuil (session_start() ) et si le visiteur a fourni les bons codes, enregistrer une variable dans la session qui permet l'acces aux pages d'admin.

Donc dans les pages d'admin, vérifier si la variable en question a la bonne valeur sinon, renvoyer vers une page d'erreur ou la page d'accueil
N1bus 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 18h23.


 
 
 
 
Partenaires

Hébergement Web