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 15/04/2007, 11h19   #1
Candidat au titre de Membre du Club
 
Inscription : avril 2007
Messages : 60
Détails du profil
Informations forums :
Inscription : avril 2007
Messages : 60
Points : 14
Points : 14
Par défaut erreur a la derniere ligne dan mon script session

j'ai un problem a l'execution de cet page car le navigateur m'indique une erreur a la derniere ligne oumeme si dans cette ligne j'ai rien ecrit????? j'ai installé le easyphp et mabase existe!! s'il vous plait aider votre nouveau ami
voila ma page:

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
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Untitled Document</title>
</head>
 
<body>
<?php
 
$dbservertype='mysql';
$servername='localhost';
// username and password to log onto db server
$dbusername='root';
$dbpassword='';
// name of database
$dbname='mabase';
 
////////////////////////////////////////
////// DONOT EDIT BELOW  /////////
///////////////////////////////////////
connecttodb($servername,$dbname,$dbusername);
function connecttodb($servername,$dbname,$dbuser)
{
global $link;
$link=mysql_connect ("$servername","$dbuser");
if(!$link){die("Could not connect to MySQL");}
mysql_select_db("$dbname",$link) or die ("could not open db".mysql_error());
$userid=mysql_real_escape_string($_POST['userid']);
$password=mysql_real_escape_string($_POST['password']);
$sql="SELECT * FROM plus_signup WHERE userid='$userid' AND password = '$password'";
$rec=mysql_fetch_array(mysql_query($sql));
	if(($rec['userid']==$userid)&&($rec['password']==$password)){
// Register $myusername, $mypassword and redirect to file success file
// Yes
 session_start();
$_SESSION['userid']=$userid; 
header("index.php");}
else {
// No
session_unset();
header("index.php");}
?>
</body>
</html>
chochatown est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/04/2007, 11h30   #2
Rédacteur
 
Avatar de Yoshio
 
Homme
Inscription : septembre 2005
Messages : 1 741
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 24
Localisation : Belgique

Informations forums :
Inscription : septembre 2005
Messages : 1 741
Points : 1 497
Points : 1 497
Commence par mettre la balise [CODE ][/CODE ].

Ensuite cette ligne la ne sert strictement à rien :
Citation:
if(($rec['userid']==$userid)&&($rec['password']==$password))
Tu est déjà sur que ton userid et password sont correcte vu que tu les teste dans ta requête sql. Il faut plutôt tester si la requête retourne des lignes.

Vérifie si tu n'a pas envoyé des caractères avant ton session_start() et header().

Et ça serait bien que tu nous mette l'erreur que tu as.
Yoshio est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/04/2007, 11h31   #3
Membre du Club
 
Inscription : mars 2007
Messages : 47
Détails du profil
Informations forums :
Inscription : mars 2007
Messages : 47
Points : 52
Points : 52
Tu peux nous donner le message d'erreur ?
Broswendes est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/04/2007, 11h31   #4
Membre Expert
 
Avatar de Doksuri
 
Tiger Scott
Développeur Web
Inscription : juin 2006
Messages : 1 251
Détails du profil
Informations personnelles :
Nom : Tiger Scott
Âge : 42

Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : juin 2006
Messages : 1 251
Points : 1 514
Points : 1 514
salut,
a première vue, c'est ton "session_start()" qui est l'origine de ton erreur...
en effet, ce "session_start();" doit etre placé dans toutes tes pages utilisant les sessions et AVANT TOUT autre ligne de code
exemple
Code :
1
2
<?php session_start(); ?>
<HTML><HEAD>ect....
__________________
La forme des pyramides prouve que l'Homme a toujours tendance a en faire de moins en moins.

N'oubliez pas le Le tag resolu.

Need_!
Doksuri est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/04/2007, 11h58   #5
Candidat au titre de Membre du Club
 
Inscription : avril 2007
Messages : 60
Détails du profil
Informations forums :
Inscription : avril 2007
Messages : 60
Points : 14
Points : 14
Par défaut c le mesage d'erreur

Parse error:
Citation:
parse error in d:\documents and settings\ahmed\mes documents\annoncesrapides\loginck.php on line 47
et la ligne 47 c la ligne qui vient apres</html>exactement
chochatown est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/04/2007, 12h05   #6
Candidat au titre de Membre du Club
 
Inscription : avril 2007
Messages : 60
Détails du profil
Informations forums :
Inscription : avril 2007
Messages : 60
Points : 14
Points : 14
Par défaut en plus

j'ai ajouté le <?php session_start(); ?> dans toutes les pages qui utilise les session mais l'erreur reste la meme.
a propos du resultat de la requette j('ai bien ajoute le userid et passwd dans ma table mes je croi que meme si la requette ne retourne pas de resultat ce script doit ouvrir la page index mais sans etre identifié! merci pour toutes vos indication
et aider moi pour resoudre se problem s'il vous plait....
chochatown est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/04/2007, 12h19   #7
Membre du Club
 
Inscription : mars 2007
Messages : 47
Détails du profil
Informations forums :
Inscription : mars 2007
Messages : 47
Points : 52
Points : 52
Il manque la balise de fermeture de ta fonction } à la fin.
Comme quoi l'indentation du code, c'est pratique.
Broswendes est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/04/2007, 13h07   #8
Candidat au titre de Membre du Club
 
Inscription : avril 2007
Messages : 60
Détails du profil
Informations forums :
Inscription : avril 2007
Messages : 60
Points : 14
Points : 14
Par défaut re

la ligne d'erreur
header("index.php");
l'erreur c:
Citation:
Warning: Cannot modify header information - headers already sent by (output started at d:\documents and settings\ahmed\mes documents\annoncesrapides\loginck.php:10) in d:\documents and settings\ahmed\mes documents\annoncesrapides\loginck.php on line 38
c'est comme ça qu'ont peut redirectionner la page?
merci pour votre aide
chochatown est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/04/2007, 13h12   #9
Rédacteur
 
Avatar de Yoshio
 
Homme
Inscription : septembre 2005
Messages : 1 741
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 24
Localisation : Belgique

Informations forums :
Inscription : septembre 2005
Messages : 1 741
Points : 1 497
Points : 1 497
Citation:
Envoyé par Yoshio
Vérifie si tu n'a pas envoyé des caractères avant ton session_start() et header().
Yoshio est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/04/2007, 13h20   #10
Candidat au titre de Membre du Club
 
Inscription : avril 2007
Messages : 60
Détails du profil
Informations forums :
Inscription : avril 2007
Messages : 60
Points : 14
Points : 14
Par défaut j'ai pas compris exactement

dsl mais j'ai pas compris exactement ça veux dire quoi envoyé un caractère(mon script il est la dessous de la page vous pouvez voir cette ligne et si il y a envoie ou non avant merci d'avance...
chochatown est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/04/2007, 13h29   #11
Membre du Club
 
Inscription : mars 2007
Messages : 47
Détails du profil
Informations forums :
Inscription : mars 2007
Messages : 47
Points : 52
Points : 52
Cela a déjà été dit plus haut :

Citation:
Envoyé par DEMMOTTE
salut,
a première vue, c'est ton "session_start()" qui est l'origine de ton erreur...
en effet, ce "session_start();" doit etre placé dans toutes tes pages utilisant les sessions et AVANT TOUT autre ligne de code
exemple
Code :

Code :
<?php session_start(); ?> <HTML><HEAD>ect....
Broswendes est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/04/2007, 13h33   #12
Candidat au titre de Membre du Club
 
Inscription : avril 2007
Messages : 60
Détails du profil
Informations forums :
Inscription : avril 2007
Messages : 60
Points : 14
Points : 14
Par défaut oui j'ai compros mais je l'ai ajouté

oui j'ai ajouté le session_start
mais l'erreur du header existe encore
chochatown est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/04/2007, 13h36   #13
Candidat au titre de Membre du Club
 
Inscription : avril 2007
Messages : 60
Détails du profil
Informations forums :
Inscription : avril 2007
Messages : 60
Points : 14
Points : 14
Par défaut voila mon script apres l'ajout de sesion_start mais une erreur de header...

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 session_start(); ?>
<?php
$dbservertype='mysql';
$servername='localhost';
// username and password to log onto db server
$dbusername='root';
$dbpassword='';
// name of database
$dbname='mabase';
 
////////////////////////////////////////
////// DONOT EDIT BELOW  /////////
///////////////////////////////////////
connecttodb($servername,$dbname,$dbusername);
function connecttodb($servername,$dbname,$dbuser)
{
global $link;
$link=mysql_connect ("$servername","$dbuser");
if(!$link){die("Could not connect to MySQL");}
mysql_select_db("$dbname",$link) or die ("could not open db".mysql_error());
$userid=mysql_real_escape_string($_GET['pseudo']);
$password=mysql_real_escape_string($_GET['pwd1']);
$sql="SELECT * FROM plus_signup WHERE userid='$userid' AND password = '$password'";
$rec=mysql_fetch_array(mysql_query($sql));
	if(($rec['userid']==$userid)&&($rec['password']==$password)){
// Register $myusername, $mypassword and redirect to file success file
// Yes
 
$_SESSION['userid']=$userid; 
header("index.php");}  //c'est cette ligne ou ce trouve l'erreur ...
else {
// No
session_unset();
header("index.php");}}
?>
chochatown est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/04/2007, 13h46   #14
Candidat au titre de Membre du Club
 
Inscription : avril 2007
Messages : 60
Détails du profil
Informations forums :
Inscription : avril 2007
Messages : 60
Points : 14
Points : 14
Par défaut de l'aide svp

Warning: Cannot modify header information - headers already sent by (output started at d:\documents and settings\ahmed\mes documents\annoncesrapides\loginck.php:3) in d:\documents and settings\ahmed\mes documents\annoncesrapides\loginck.php on line 31
chochatown est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/04/2007, 13h49   #15
Membre Expert
 
Avatar de Doksuri
 
Tiger Scott
Développeur Web
Inscription : juin 2006
Messages : 1 251
Détails du profil
Informations personnelles :
Nom : Tiger Scott
Âge : 42

Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : juin 2006
Messages : 1 251
Points : 1 514
Points : 1 514
plop,
=> cela doit-il appeler une page (au meme titre que l'inculde? je ne connais pas trop cette fonction header()
si c'est le cas, tu ne dois pas mettre le session_start(); dans les pages appellées :
page de début => 1 session_start();
page appellée => +1 session_start();

=2 session_start() = problem
__________________
La forme des pyramides prouve que l'Homme a toujours tendance a en faire de moins en moins.

N'oubliez pas le Le tag resolu.

Need_!
Doksuri est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/04/2007, 13h56   #16
Candidat au titre de Membre du Club
 
Inscription : avril 2007
Messages : 60
Détails du profil
Informations forums :
Inscription : avril 2007
Messages : 60
Points : 14
Points : 14
Par défaut oui j'ai pas mis le session_start dans index

oui j'ai pas mis le session_start dans index
en plus j'ai pas compris ton 'inculde' aussi j'ai pas utiliser de l'include dans mes pages.
chochatown est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 02h40.


 
 
 
 
Partenaires

Hébergement Web