session php

Eléphant du PHP | 259 Messages

28 oct. 2005, 13:44

j'ai essayé de mettre session_start au debut comme ceci
<?

session_start();

// pensez a ouvrir une connexion vers mysql ici
// voir les exercices dans le menu de droite pour cela.

// connexion à la base
mais sa met maintenant ceci
Warning: session_start(): Cannot send session cookie - headers already sent by (output started at /var/www/sdc/0/8/yuu.sw/echange/membres/login.php:6) in /var/www/sdc/0/8/yuu.sw/echange/membres/login.php on line 22

Warning: session_start(): Cannot send session cache limiter - headers already sent (output started at /var/www/sdc/0/8/yuu.sw/echange/membres/login.php:6) in /var/www/sdc/0/8/yuu.sw/echange/membres/login.php on line 22
la ligne 22 est celle ou il y a session_start
l'hébergeur gratuit que j'utilisais: http://www.freeheberg.com (pas de limitte de débit, BP, 1à10Go, bdd mysql illimitées )
mainteant je suis chez OVH, payant mais plus adapté à de gros sites

Mammouth du PHP | 1311 Messages

28 oct. 2005, 13:46

fait voit tout le code de login.php telle qu'il apparait dans ton editeur
et n'oubli pas la balise php(a gauche de code)

Modérateur PHPfrance
Modérateur PHPfrance | 7636 Messages

28 oct. 2005, 13:46

l'erreur est bien le faite d'avoir du texte (HTML, espace, echo ) avant de session_start(), si tu inclus ton fichier dans un autre fait également attention a ce qu'il n'y ait rien avant.

A toi de chercher on ne peut rien faire de plus a part te guider :wink:

/!\ Avant de poster se documenter et rechercher.
Qui ne sait pas rendre un service n'a pas le droit d'en demander.
MaBrute

Eléphant du PHP | 259 Messages

28 oct. 2005, 14:00

voici tout le code en entier
<!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>
<style type="text/css">
<!--
body {
background-color: #CCCCCC;
}
-->
.style1{
color: #666666;
font-family: Verdana;
font-size:10px;

</style></head>

<body>
<?
session_start();
?>

<?


// pensez a ouvrir une connexion vers mysql ici
// voir les exercices dans le menu de droite pour cela.

// connexion à la base
$db = mysql_connect('sql.free.fr', 'xxx', 'xxx') or die('Erreur de connexion '.mysql_error());
// sélection de la base

mysql_select_db('yuu_sw',$db) or die('Erreur de selection '.mysql_error());



if(isset($_POST) && !empty($_POST['pseudo']) && !empty($_POST['pass'])) {
extract($_POST);
// on recupère le password de la table qui correspond au login du visiteur
$sql = "select user_pass from a_users where user_pseudo='".$pseudo."'";
$req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());

$data = mysql_fetch_assoc($req);

if($data['user_pass'] != $pass) {
echo '<p class="style1">erreur</p>';
include('http://yuu.sw.free.fr/echange/membres/login2.php'); // On inclus le formulaire d'identification
exit;
}
else {

$_SESSION['pseudo'] = $pseudo;
$_SESSION['pass'] = $pass;

echo '<p class="style1">Vous etes bien logué</p>';
// ici vous pouvez afficher un lien pour renvoyer
// vers la page d'accueil de votre espace membres
}
}
else {
echo '<p class="style1">erreur</p>';
include('http://yuu.sw.free.fr/echange/membres/login2.php'); // On inclut le formulaire d'identification
exit;
}


?>
</body>
</html>
j'ai encore fait quelques modif de puis tout a l'heure, le session start est au début
mais sa met sa
Warning: session_start(): Cannot send session cookie - headers already sent by (output started at /var/www/sdc/0/8/yuu.sw/echange/membres/login.php:6) in /var/www/sdc/0/8/yuu.sw/echange/membres/login.php on line 21

Warning: session_start(): Cannot send session cache limiter - headers already sent (output started at /var/www/sdc/0/8/yuu.sw/echange/membres/login.php:6) in /var/www/sdc/0/8/yuu.sw/echange/membres/login.php on line 21

Vous etes bien logué
la ligne 21 est session start

je rappelle que j'ai mis le répertoire sessions à la racine de mon site [/quote]
l'hébergeur gratuit que j'utilisais: http://www.freeheberg.com (pas de limitte de débit, BP, 1à10Go, bdd mysql illimitées )
mainteant je suis chez OVH, payant mais plus adapté à de gros sites

Mammouth du PHP | 1311 Messages

28 oct. 2005, 14:03

session_start au debut du fichier
<?php
session_start();
?><!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>
<style type="text/css">
<!--
body {
background-color: #CCCCCC;
}
-->
.style1{
color: #666666;
font-family: Verdana;
font-size:10px;

</style></head>

<body>


<?


// pensez a ouvrir une connexion vers mysql ici
// voir les exercices dans le menu de droite pour cela.

// connexion à la base
$db = mysql_connect('sql.free.fr', 'xxx', 'xxx') or die('Erreur de connexion '.mysql_error());
// sélection de la base

mysql_select_db('yuu_sw',$db) or die('Erreur de selection '.mysql_error());



if(isset($_POST) && !empty($_POST['pseudo']) && !empty($_POST['pass'])) {
extract($_POST);
// on recupère le password de la table qui correspond au login du visiteur
$sql = "select user_pass from a_users where user_pseudo='".$pseudo."'";
$req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());

$data = mysql_fetch_assoc($req);

if($data['user_pass'] != $pass) {
echo '<p class="style1">erreur</p>';
include('http://yuu.sw.free.fr/echange/membres/login2.php'); // On inclus le formulaire d'identification
exit;
}
else {

$_SESSION['pseudo'] = $pseudo;
$_SESSION['pass'] = $pass;

echo '<p class="style1">Vous etes bien logué</p>';
// ici vous pouvez afficher un lien pour renvoyer
// vers la page d'accueil de votre espace membres
}
}
else {
echo '<p class="style1">erreur</p>';
include('http://yuu.sw.free.fr/echange/membres/login2.php'); // On inclut le formulaire d'identification
exit;
}


?>
</body>
</html> 

Modérateur PHPfrance
Modérateur PHPfrance | 7636 Messages

28 oct. 2005, 14:04

<!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>
<style type="text/css">
<!--
body {
	background-color: #CCCCCC;
}
-->
.style1{
color: #666666;
font-family: Verdana;
font-size:10px;

</style></head>

<body>
<?
session_start();
?>
je te rappel aussi que tu as un paquet de code HTML avant ton session_start() :wink:
remonte le jusqu'au début du fichier et plus de problemes :D

/!\ Avant de poster se documenter et rechercher.
Qui ne sait pas rendre un service n'a pas le droit d'en demander.
MaBrute

Eléphant du PHP | 259 Messages

28 oct. 2005, 14:07

merci tout le monde

sa marche enfin !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

:D :D
l'hébergeur gratuit que j'utilisais: http://www.freeheberg.com (pas de limitte de débit, BP, 1à10Go, bdd mysql illimitées )
mainteant je suis chez OVH, payant mais plus adapté à de gros sites