Erreur session, ça veut dire koi ça?

Statut
N'est pas ouverte pour d'autres réponses.

Styleman

Touriste
Voila ce ke j'obtiens:
Warning: Cannot send session cache limiter - headers already sent (output started at /home/www/halflifexpert/dioxygen/identification.php:12) in /home/www/halflifexpert/dioxygen/idok.php3 on line 21


ça veut dire koi?
 
1er
OP
S

Styleman

Touriste
ah oui, a la ligne 21, y'a juste:
session_start();
 

SUEd

Touriste
Code:
headers already sent
ca veut dire que les "headers" ont déjà été envoyés.

en gros, ca veut dire que des données ont déjà été envoyées à l'utilisateur.
Souvent, cela arrive quand tu veux démarer ta session alors que le mec a déjà reçu des données :) et là, apparemment, c'est à la ligne 12 de "identification.php" que quelque chose s'envoie.

le PHP est un langage server-side (coté serveur).
Donc, quand un utilisateur fait appel à une page, le script prépare, coté serveur, la page à envoyer à l'utilisateur.
Dans la page qui est envoyé à l'utilisateur, la première chose à être envoyée doivent être les headers.

si ce n'est pas trop long, mets ptet le code des deux fichiers ici ;)
 
1er
OP
S

Styleman

Touriste
ok je v les mettre, c po long
 
1er
OP
S

Styleman

Touriste
identification.php:
Code:
<?php
   
    include("rubrique.php3");

?>
<HTML>
<HEAD>
<TITLE>The Soul Xperience Website</TITLE> <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1"> 
</HEAD>

<BODY BGCOLOR="#FFFFFF" TEXT="#000000">
<DIV ALIGN="CENTER"><TABLE WIDTH="100%" BORDER="0" HEIGHT="333"><TR><TD COLSPAN="3" HEIGHT="20"><DIV ALIGN="CENTER">Banniere</DIV></TD></TR><TR><TD WIDTH="200" HEIGHT="217" VALIGN="TOP"><DIV ALIGN="CENTER"><?php

    include("gauche.php3");

?></DIV></TD><TD WIDTH="696" HEIGHT="217" VALIGN="TOP"><DIV ALIGN="CENTER"><P><?php

    include("idok.php3");

?> </P></DIV></TD><TD WIDTH="200" HEIGHT="217" VALIGN="TOP"><DIV ALIGN="CENTER"><?php

    include("droite.php3");

?></DIV></TD></TR><TR><TD HEIGHT="20" COLSPAN="3"><DIV ALIGN="CENTER"></DIV></TD></TR></TABLE></DIV>
</BODY>
</HTML>
idok.php3:
Code:
<?
require ("config.inc.php");

mysql_connect($server, $user, $pass);
mysql_select_db($base);

$sql = "SELECT * FROM team_tbl WHERE pseudo='$pseudo' and password='$password'";
$res = mysql_query($sql) or die (mysql_error());
$exist = mysql_numrows($res);
$ligne=mysql_fetch_array($res);

$id = $ligne[id];

if(!$exist)
    {
    echo "<center>Veuillez vérifier vos données</center>";
    include("formulaire.php");
    }
else
    {
    session_start();
    session_register("login");
    echo "<center>Bienvenu sur ton espace membre: $login </center><br><br>";

    $sess_nom = session_name();
    $sess_id = session_id();

    echo "Le nom de la session est : ".$sess_nom." et l'id: ".$sess_id."";
    echo '<center><a href=page.php?id='.$id.'>Page Essai</a><br><br></center>';
 
    echo '<center><a href=deconnexion.php>Deconnection</a></center>';
    }
?>
 

SUEd

Touriste
Oui, donc, effectivement, tu envoies déjà pas mal de html dans identification.php et c'est de là que viens le problème ;)

Code:
<HTML> 
<HEAD> 
<TITLE>The Soul Xperience Website</TITLE> <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1"> 
</HEAD> 

<BODY BGCOLOR="#FFFFFF" TEXT="#000000"> 
<DIV ALIGN="CENTER"><TABLE WIDTH="100%" BORDER="0" HEIGHT="333"><TR><TD COLSPAN="3" HEIGHT="20"><DIV ALIGN="CENTER">Banniere</DIV></TD></TR><TR><TD WIDTH="200" HEIGHT="217" VALIGN="TOP"><DIV ALIGN="CENTER"><?php 

    include("gauche.php3"); 

?></DIV></TD><TD WIDTH="696" HEIGHT="217" VALIGN="TOP"><DIV ALIGN="CENTER"><P>
Donc, tu devrais trifouiller tes scripts pour que le démarrage de la session se fasse avant ca :)
 
1er
OP
S

Styleman

Touriste
ah ouais lol, ok v le faire now!
THX
 
1er
OP
S

Styleman

Touriste
donc je doit demarrezr la session avant ça, donc mettre le code k'il y a avait dans idok.php3 ou il commence la session avant tout ca, et le reste, je le met ou je veux? enfin v voir thx bcp
 
1er
OP
S

Styleman

Touriste
ok voila c bon now, thx bcp :D
 
1er
OP
S

Styleman

Touriste
Voila, sinon now, j'ai fais une page, pour modifié les infos c bien joli tout ça, mais cette page, c'est page.php, donc je recupere l'id du membres, je met l'url sur la page identification donc ça fais pas exemple page.php?id=1 et j'ai remarké ke si je changeai l'id et ke j'etait identifier, je pouvais modifié les infos d'un autre membre...(c logik je c) now j'aimerais savoir comment empecher ça...

Jai entendu parler de md5() ...mais chais vraiment pzas c koi

Kelk'un peut m'eclairer?
THX
 

SUEd

Touriste
Styleman a dit:
Voila, sinon now, j'ai fais une page, pour modifié les infos c bien joli tout ça, mais cette page, c'est page.php, donc je recupere l'id du membres, je met l'url sur la page identification donc ça fais pas exemple page.php?id=1 et j'ai remarké ke si je changeai l'id et ke j'etait identifier, je pouvais modifié les infos d'un autre membre...(c logik je c) now j'aimerais savoir comment empecher ça...

Jai entendu parler de md5() ...mais chais vraiment pzas c koi

Kelk'un peut m'eclairer?
THX
md5(), c'est une sorte de "cryptage" :)

ca calcule un nombre unique à partir d'une chaine de caractère.
Mais à partir de ce nombre, il est impossible de retrouver la chaine de caractère.

C'est un peu comme pour les wonid's :)

Les forums phpBB utilisent l'encodage MD5 pour les passwords.
Dans la base de données de ces forums, seul le nombre md5 correspondant au password est sauvegardé.
C'est d'ailleurs pour cette raison que lorsque tu perds ton mot de passe d'un forum phpBB, il est impossible qu'on te redonne ton password. On peut uniquement le modifier :)

En ce qui concerne ton problème, je pense qu'au début de ta page (page.php), tu dois vérifier si le numéro de session est bien celui correspondant à ton ID.
Pour ce faire, lorsque tu démares une session, tu enregistres une variable de session avec ton ID.

Comme ca, Si l'ID ne correspond pas avec la Session, tu indiques une erreur.
 
1er
OP
S

Styleman

Touriste
SUEd a dit:
Styleman a dit:
Voila, sinon now, j'ai fais une page, pour modifié les infos c bien joli tout ça, mais cette page, c'est page.php, donc je recupere l'id du membres, je met l'url sur la page identification donc ça fais pas exemple page.php?id=1 et j'ai remarké ke si je changeai l'id et ke j'etait identifier, je pouvais modifié les infos d'un autre membre...(c logik je c) now j'aimerais savoir comment empecher ça...

Jai entendu parler de md5() ...mais chais vraiment pzas c koi

Kelk'un peut m'eclairer?
THX
md5(), c'est une sorte de "cryptage" :)

ca calcule un nombre unique à partir d'une chaine de caractère.
Mais à partir de ce nombre, il est impossible de retrouver la chaine de caractère.

C'est un peu comme pour les wonid's :)

Les forums phpBB utilisent l'encodage MD5 pour les passwords.
Dans la base de données de ces forums, seul le nombre md5 correspondant au password est sauvegardé.
C'est d'ailleurs pour cette raison que lorsque tu perds ton mot de passe d'un forum phpBB, il est impossible qu'on te redonne ton password. On peut uniquement le modifier :)

En ce qui concerne ton problème, je pense qu'au début de ta page (page.php), tu dois vérifier si le numéro de session est bien celui correspondant à ton ID.
Pour ce faire, lorsque tu démares une session, tu enregistres une variable de session avec ton ID.

Comme ca, Si l'ID ne correspond pas avec la Session, tu indiques une erreur.
ok merci pour l'explication, tu explike bien mieux ke bon nombre de site ke j'ai été voir...
Sinon je lache un truc genre
if ($_session[id] != $id) {
echo 'erreur';

???je c pas du tout si c bon j'ai mis sa au pif comme ça... :oops:
 

SUEd

Touriste
$_session[id] : c'est l'id que tu sauvegardes en tant que variable de session (c'est le vrai ID de la personne). (N'oublie pas qu'il faut enregistrer la variable comme variable de session)

$id : c'est l'id qui est passé par ta page et il faut voir s'il correspond à l'id de la personne.

donc, à priori, oui, ca fonctionnera :)

donc, ce qui suit devrait fonctionner :

Code:
if ($_session[id] != $id) { 
     echo "erreur";
}
else {
     // ton script de modif
}
 
1er
OP
S

Styleman

Touriste
cool enfin un bon raisonnement de ma part lol

Merci bcp

Sinon, autre bleme, kan je v pour modifier mes infos, comment je fait pour mettre un lien vers la page identification avec les liens...ça me mes veuillez vous identifier
 
G

Guest

ex membre
je crois qu'il ne faut pas d'html avant
 
1er
OP
S

Styleman

Touriste
BibBib a dit:
je crois qu'il ne faut pas d'html avant

beuh...faut bien ke je mettez un peu de graphisme dans ma page...
 

Douby

Elite
tu pe mettre des graphismes et tt mais tu ne pe pas en mettre devant tes headers aussino ca part en couille, aussino i fo utiliser les pseudo frames enfin i fo voir si tu connais...
 
1er
OP
S

Styleman

Touriste
Douby a dit:
tu pe mettre des graphismes et tt mais tu ne pe pas en mettre devant tes headers aussino ca part en couille, aussino i fo utiliser les pseudo frames enfin i fo voir si tu connais...
oui ok, sorry mais en fait, je n'avais pas trop compris le sens...dsl j'etais un peu crever sinon, autre bleme, kan je v pour modifier mes infos, comment je fait pour mettre un lien vers la page identification avec les liens...ça me mes veuillez vous identifier
 

ChoKapiK

Fort en chocolat
Ha ha styleman en plus de ca, son clan est mort (usk) et sa souris plante et il avait une heure de retenue ajourdh'ui (euh ..)
:D :D
 
1er
OP
S

Styleman

Touriste
Chokapik a dit:
Ha ha styleman en plus de ca, son clan est mort (usk) et sa souris plante et il avait une heure de retenue ajourdh'ui (euh ..)
:D :D

:cry: :cry: :cry: :cry: :cry: :cry:
 
Statut
N'est pas ouverte pour d'autres réponses.
Haut