> Tous les forumsForum des Webmasters

 session_startSujet résolu
Statut du sujet : RESOLU Imprimer
 herve.lagarde
  Posté le 28/01/2007 @ 07:29  
 Petit astucien

450 Messages
Bonjour a tous,
je fais un système d'ouverture de session si l'utilisateir est enregistré. Avec EasyPHP, ca marchait puis tout d'un coup ca marche plus. J'y comprends plus rien; De l'aide svp
mon erreur :
Warning: session_start(): Cannot send session cookie - headers already sent by (output started at e:\sites_web\pricil\log_retour.php:9) in e:\sites_web\pricil\log_retour.php on line 18

Warning: session_start(): Cannot send session cache limiter - headers already sent (output started at e:\sites_web\pricil\log_retour.php:9) in e:\sites_web\pricil\log_retour.php on line 18

Notice: Use of undefined constant session - assumed 'session' in e:\sites_web\pricil\log_retour.php on line 23

Fatal error: Call to undefined function: start() in e:\sites_web\pricil\log_retour.php on line 23

et mon code (en début de page) :
<?php
include "Dossier/connect.php";
$user=addslashes(htmlspecialchars($_POST['user']));
$passw=addslashes(htmlspecialchars($_POST['passw']));

// verif mot de passe dans table utilisateur

$sql = "SELECT COUNT(*) AS membre FROM utilisateurs WHERE user='".$user."' AND passw='".$passw."'";
echo $sql;
$retour = mysql_query($sql);
$donnees = mysql_fetch_array ($retour);
$count = $donnees['membre'];
echo '<br>count='.$count;
//echo 'count='.$count;//

if ($count == 1)
{
session_start(); // on ouvre la session
$_SESSION ['user'] = $user;
$_SESSION['passw'] = $passw;
//header ('Location : membre.php');
$var = 'Bienvenu '.$user;
session-start();
}
else
{
$var = 'Vous n\'avez pas été identifié'; // le login n'a pas été reconnu
}
echo '<br>'.$var;
mysql_close();
?>
 Afficher le profil de herve.lagarde Envoyer un message privé à herve.lagarde
 
 
Publicité
 Malcolm  Posté le 28/01/2007 à 09:17  
  Astucien


7309 Messages

l'explication a déjà été donnée : si tu fais un echo de quoi que ce soit avant le session_start, il y a déjà un contenu envoyé au navigateur et ça plante...

dans ton code :

<?php
include "Dossier/connect.php";
$user=addslashes(htmlspecialchars($_POST['user']));
$passw=addslashes(htmlspecialchars($_POST['passw']));

// verif mot de passe dans table utilisateur

$sql = "SELECT COUNT(*) AS membre FROM utilisateurs WHERE user='".$user."' AND passw='".$passw."'";
echo $sql;
$retour = mysql_query($sql);
$donnees = mysql_fetch_array ($retour);
$count = $donnees['membre'];
echo '<br>count='.$count;
//echo 'count='.$count;//

if ($count == 1)
{
session_start(); // on ouvre la session
$_SESSION ['user'] = $user;
$_SESSION['passw'] = $passw;
//header ('Location : membre.php');
$var = 'Bienvenu '.$user;
session-start();
}
else
{
$var = 'Vous n\'avez pas été identifié'; // le login n'a pas été reconnu
}
echo '<br>'.$var;
mysql_close();
?>

en gros et rouge sonttoutes les instruction susceptibles d'afficher du texte? J'ai aussi surligné le <?php parce que s'il n'est pas à latoute premioère ligne de ton code, alors tu envoies ce qui le précède au client ...

2 réflexions au passage :

  1. Bienvenue prend un "e", ou alors il faut écrire "vous êtes LE bienvenu"
  2. ça ne sert à rien de mettre le mot de passe en session, pour moi c'est plus un défaut de sécurité qu'autre chose. Les sessions sont enregistrées en fichiers sur le serveur et je pense qu'un mot de passe étant assez représentatif de la sécurité, rien ne sert de l'exposer comme ça.

Afficher le profil de Malcolm Voir la configuration de MalcolmEnvoyer un message privé à Malcolm
  Revenir en haut de la page
 Malcolm  Posté le 28/01/2007 à 09:17  
  Astucien


7309 Messages
au fait, c'est session_start() et non session-start;
Afficher le profil de Malcolm Voir la configuration de MalcolmEnvoyer un message privé à Malcolm
  Revenir en haut de la page
 herve.lagarde  Posté le 28/01/2007 à 09:39  
Petit astucien

450 Messages

enore un grand merci Mzlcom

Afficher le profil de herve.lagarde Voir la configuration de herve.lagardeEnvoyer un message privé à herve.lagarde
  Revenir en haut de la page
Haut de la page 
Inscrivez-vous !
- Posez vos questions

- Résolvez vos problèmes

- Aidez les autres

- Participez et créez vos discussions

- Dialoguez en privé avec d'autres membres

- Suivez vos sujets préférés

- Affichez les signatures des membres

TOUT EST GRATUIT !

Je crée mon compte



Vous avez besoin d'aide ?
Des centaines d'experts sont à votre disposition sur les forums PC Astuces pour vous aider gratuitement, 24h/24, 7j/7.

Les derniers sujets résolus !
 

 > Tous les forumsForum des Webmasters

 
Forum PC Astuces© 1997-2008 WebastucesAller en haut de la page