Tom's Guide > Forum > Programmation > Script php qui affiche erreur[1ère partie résolu, 2ème non-résolu]

Script php qui affiche erreur[1ère partie résolu, 2ème non-résolu]

Forum Programmation : Script php qui affiche erreur[1ère partie résolu, 2ème non-résolu]

TomsGuide.com : 800 000 inscrits répondent à toutes vos questions high-tech et informatique. Pour obtenir de l'aide, inscrivez-vous gratuitement !
Mot :    Pseudo :           
 

Bonjour, j'ai un espace membre sur mon site, tout neuf. Toutes les pages marche sauf une(celle qui doit être proteger^^).
Cela m'affiche sa:

Code :
  1. Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at /media/160go/hebergement/leroi/index_mbr.php:2) in /media/160go/hebergement/leroi/index_mbr.php on line 3
  2. Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at /media/160go/hebergement/leroi/index_mbr.php:2) in /media/160go/hebergement/leroi/index_mbr.php on line 3
  3. Ce que j'écrit et ce que je met dans l'espace membre

Liens sponsorisés
Inscrivez-vous ou connectez-vous pour masquer ceci.

Voici le code de la page concerner:

<?php
session_start();
if(!isset($_SESSION['login']))
{
exit;
}
echo '<html>
<head>
<title>Allo-money.com</title>

<style type="text/css">
<!--
body,td,th {
font-family: Arial, Helvetica, sans-serif;
font-size: 12px;
color: #000000;
font-weight: bold;
}
body {
background-color: #FFFFFF;
}
a {
font-size: 12px;
color: #333333;
font-weight: bold;
font-style: italic;
}
a:link {
text-decoration: underline;
}
a:visited {
text-decoration: underline;
color: #333333;
}
a:hover {
text-decoration: none;
color: #333333;
}
a:active {
text-decoration: underline;
color: #333333;
}
-->
</style>
</style>
</head>

<body>
ce que je met dans l'espace membre</body>
</html>
'
?>

Répondre à ah_ah_ah

session_start() doit être à la première ligne, il ne doit même pas y avoir de retour à la ligne me semble-t-il or ton erreur se situe à la 3ème ligne...

Répondre à ouistiti22

J'ai donné le code source de la page, et session_start() et à la première ligne après le "<?php".

Répondre à ah_ah_ah

au lieu de exit;

fais exit();

Répondre à frafau

Un lien :
http://www.freewebmaster-scripts.com/modules/newbb/sujet-173-2.html

EDIT : M...., c'est pour l'hébergeur free. C'est peut être une solution analogue pour ton hébergeur...

J'ai testé chez moi ton script (hebergeur free) et quand je créé un repertoire sessions, ça marche.

Répondre à ouistiti22

Je ne suis pas chez free.

Répondre à ah_ah_ah

et puis y a un problème avec ton echo ' bla bla '

ton echo s'arrete avant ça : espace membre</body>
</html> puisque il rencontre l'apostrophe et en plus manquait le point virgule après ton echo...

perso je ferais plus ça comme code :


<?php
session_start();
if(isset($_SESSION['login']))
{
echo "<html>
<head>
<title>Allo-money.com</title>

<style type='text/css'>
<!--
body,td,th {
font-family: Arial, Helvetica, sans-serif;
font-size: 12px;
color: #000000;
font-weight: bold;
}
body {
background-color: #FFFFFF;
}
a {
font-size: 12px;
color: #333333;
font-weight: bold;
font-style: italic;
}
a:link {
text-decoration: underline;
}
a:visited {
text-decoration: underline;
color: #333333;
}
a:hover {
text-decoration: none;
color: #333333;
}
a:active {
text-decoration: underline;
color: #333333;
}
-->
</style>
</head>

<body>
ce que je met dans l'espace membre</body>
</html>
";
}
?>

testes et dis nous...

Répondre à frafau

Sa ne marche pas, sa me met sa:

Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at /media/160go/hebergement/leroi/index_mbr.php:2) in /media/160go/hebergement/leroi/index_mbr.php on line 3

Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at /media/160go/hebergement/leroi/index_mbr.php:2) in /media/160go/hebergement/leroi/index_mbr.php on line 3
ce que je met dans l'espace membre


Voila. Merci pour ta réponse quand même.

Répondre à ah_ah_ah

Au faite tu à oublier la fonction exit()... :-D

Répondre à ah_ah_ah

Mis à jour du script-j'ai rajouté la fonction exit() et sa me met-:

Parse error: syntax error, unexpected T_IF in /media/160go/hebergement/leroi/index_mbr.php on line 4

Ligne 4 il y a exit() je crois.

Répondre à ah_ah_ah

pas besoin d'exit puisque tu fais le test inverse de ce que tu avais au départ

tu testes si la session existe et non si elle n'existe pas...

copies colles le code que j'ai écrit si tu ne l'as pas fait

sinon cette erreur peut arriver quand le session_start est déclaré deux fois

exemple si tu inclus une page qui le fait aussi

Répondre à frafau

Je maintiens ce que j'ai dit dans mon premier post : une erreur à la troisième ligne implique que ta première ligne est vide et ça, ça peut générer une erreur.

Répondre à ouistiti22

J'ai copié coller ton code, sa ne marche pas.
Voici mon code à jour:


<?php
session_start()
if(!isset($_SESSION['login']))
{
exit()
}
echo '<html>
<head>
<title>Allo-money.com</title>

<style type="text/css">
<!--
body,td,th {
font-family: Arial, Helvetica, sans-serif;
font-size: 12px;
color: #000000;
font-weight: bold;
}
body {
background-color: #FFFFFF;
}
a {
font-size: 12px;
color: #333333;
font-weight: bold;
font-style: italic;
}
a:link {
text-decoration: underline;
}
a:visited {
text-decoration: underline;
color: #333333;
}
a:hover {
text-decoration: none;
color: #333333;
}
a:active {
text-decoration: underline;
color: #333333;
}
-->
</style>
</style>
</head>

<body>
ce que je met dans l espace membre</body>
</html>
'
?>

Il n'y a pas de fois session_start(verifie toi-même).

Répondre à ah_ah_ah

ok donc le unexpected t_if

c bizarre

après if ( )
{
exit();
}

mais le reste dans un else
{
//ton reste de code
}

Edit : PENSES BIEN AUX POINTS-VIRGULES php devient fou quand tu les zappes...

Répondre à frafau

Euh, je ne suis pas sur d'avoir compris. Tu peut copié le code et faire la modification, s'il te plait?

Répondre à ah_ah_ah

<?php
session_start();
if(!isset($_SESSION['login']))
{
exit();
}
else
{
echo '<html>
<head>
<title>Allo-money.com</title>

<style type="text/css">
<!--
body,td,th {
font-family: Arial, Helvetica, sans-serif;
font-size: 12px;
color: #000000;
font-weight: bold;
}
body {
background-color: #FFFFFF;
}
a {
font-size: 12px;
color: #333333;
font-weight: bold;
font-style: italic;
}
a:link {
text-decoration: underline;
}
a:visited {
text-decoration: underline;
color: #333333;
}
a:hover {
text-decoration: none;
color: #333333;
}
a:active {
text-decoration: underline;
color: #333333;
}
-->
</style>
</head>

<body>
ce que je met dans l espace membre</body>
</html>
';
}
?>

Répondre à frafau

Non sa ne marche pas, sa remet l'erreur du tout début.

Répondre à ah_ah_ah

L'erreur qu ise met:
Parse error: syntax error, unexpected '}' in /media/160go/hebergement/leroi/index_mbr.php on line 7

Répondre à ah_ah_ah

Essaie :
<?php session_start(); ?>. Et rien d'autre.

Répondre à ouistiti22

t'as fait les tests avec et sans t'etre connecté à ton espace membre ?

Répondre à frafau

cette erreur veut tout simplement dire qu'il ya une } de trop

Répondre à frafau

essai de virer le exit et de mettre un echo '.....': à la place.
Et indique nous l'erreur produite stp

Autre question :
Juste pour savoir, ta page t l'include ou pas ?

Répondre à Apologie

J'ai supprimé le } de trop. J'ai remplacer exit par echo 'Vous devez être connecter pour pouvoir voir cette page';

Et ça m'affiche l'erreur suivante:

Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at /media/160go/hebergement/leroi/index_mbr.php:2) in /media/160go/hebergement/leroi/index_mbr.php on line 3

Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at /media/160go/hebergement/leroi/index_mbr.php:2) in /media/160go/hebergement/leroi/index_mbr.php on line 3
ce que je met dans l espace membre

.

Répondre à ah_ah_ah

il ne faut vraiment rien avant le '<?php'. Même pas une espace ou un saut de ligne !

Répondre à ritzle

Sa marche, MERCI!!!

Répondre à ah_ah_ah

Pfft, à quoi ça sert de te donner la réponse dès le troisième post si tu lis pas ?

Répondre à ouistiti22

et encore, c'était le 3e post mais la première réponse...

Répondre à ritzle

Merci quand même et escuse moi.
J'affiche les informations de mon membre et pour tester j'ai fait 2 compte.
Et quand je me connecte avec le 2ème compte, sa m'affiche les infos du premier!
Pourquoi?

Répondre à ah_ah_ah

Voila mon code(final j'espère!):

$sql_query="SELECT * FROM membre";
$result=mysql_query($sql_query) or die(mysql_error());
$row=mysql_fetch_array($result);

echo "<html>
<head>
<title>Espace membres</title>
</head>
<body>
<?php
id : ".$row['id']."

pseudo: ".$row['pseudo']."

paswword: ".$row['pass']."

e-mail: ".$row['email']."

Confirmation: ".$row['confirm']."

Nom: ".$row['nom']."

Prénom: ".$row['prenom']."
<br>Voila vos information personnelles. Si vous désirez les changer contactez le webmaster. Si votre confirmation est égale à
0 c'est que vous n'avez pas cliquer sur le liens de confirmation dans votre e-mail. etant donnés que c'est impossible, vous devriez
toujours voir apparaitre 1.
?>
</body>
</html>
Et donc là sa affiche les infos du premier membre.

Répondre à ah_ah_ah

il faut modifier ta requete et mettre une condition (WHERE pseudo='...' LIMIT 1)

Répondre à ritzle

Et mettre quoi à la place?
A vrai dire je me disiat que c'était la requête mais je demandai au cas ou.

Répondre à ah_ah_ah

Oui, ok, mais étant donné que c'est la même page pour tout les membre, je vais pas afficher seulement les infos d'un membre pour 50 membres?

Répondre à ah_ah_ah

Si vous pouvez m'aider, merci d'avance.
Sinon, je vais renoncer à l'idée de permettre à mes membres de voir leurs infos perso.

Répondre à ah_ah_ah

bon ben alors là, c'est vraiment simple comme bonjour au début (aprés ta vérif de l'existence de la session):

$pseudo=$_SESSION['pseudo'];
$req="SELECT * FROM membre WHERE pseudo='$pseudo' ";
$result=mysql_query($req);//exec de la requete
$ligne=mysql_fetch_array($result);//extraction de la ligne correspondant au pseudo de session
extract($ligne);//extraction des variables pseudo, nom, prénom, pass...etc

echo "$pseudo<br>";
echo "$pass<br>";

etc etc

c'est bon t'es plus éclairé l'ami ?

Répondre à frafau

bon ben alors là, c'est vraiment simple comme bonjour au début (aprés ta vérif de l'existence de la session):

Code :
  1. $pseudo=$_SESSION['pseudo'];
  2. $req="SELECT * FROM membre WHERE pseudo='$pseudo' ";
  3. $result=mysql_query($req);//exec de la requete
  4. $ligne=mysql_fetch_array($result);//extraction de la ligne correspondant au pseudo de session
  5. extract($ligne);//extraction des variables pseudo, nom, prénom, pass...etc
  6. echo "$pseudo<br>";
  7. echo "$pass<br>";


etc etc

c'est bon t'es plus éclairé l'ami ?

EDIT : Oups, désolé pour le doublon j'ai annulé l'envoi du premier trop tard

Répondre à frafau
Tom's Guide > Forum > Programmation > Script php qui affiche erreur[1ère partie résolu, 2ème non-résolu]
Aller à :

Il y a 422 utilisateurs connus et inconnus. Pour voir la liste des connectés connus, cliquez ici.

Attention

Vous allez répondre sur un sujet resté inactif pendant plus de 6 mois.
Assurez-vous d'apporter des éléments nouveaux à la discussion avant de poursuivre.

Répondre Annuler
Liens