Page 1 sur 1

Problème session_start

Posté : 17 juil. 2006, 22:06
par dunbar
Bonjour,

J'ai un formuliare sur mon site qui fonctionne correctement, je voulais le faire tourner sur mon pc avec WAMP, je n'ais encore rien fait et j'ai comme message d'erreur ceci :

Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at E:\wamp\www\users\index.php:1) in E:\wamp\www\users\index.php on line 18

Warning: Cannot modify header information - headers already sent by (output started at E:\wamp\www\users\index.php:1) in E:\wamp\www\users\index.php on line 23
J'ai lue les différent sujet mais je n'ais pas d'espace et ce qui me surprend le plus c'est qu'il fonctionne bien sur mon site web ?????
Je vous montre mon code on ne sait jamais !!



<?php 
if (isset($_POST['connexion']) && $_POST['connexion'] == 'Connexion') { 
if ((isset($_POST['login']) && !empty($_POST['login'])) && (isset($_POST['pass']) && !empty($_POST['pass']))) { 

$base = mysql_connect ('localhost', '', ''); 
mysql_select_db ('', $base); 

// on teste si une entrée de la base contient ce couple login / pass 
$sql = 'SELECT url,nom FROM membre WHERE login="'.addslashes($_POST['login']).'" AND pass_md5="'.md5(addslashes($_POST['pass'])).'"'; 
$req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error()); 
$data = mysql_fetch_array($req); 
$nom = $data['nom']; 

// mysql_close(); 

// si on obtient une réponse, alors l'utilisateur est un membre 
if (mysql_num_rows($req) == 1) { 
session_start(); 
$_SESSION['login'] = $_POST['login']; 
$_SESSION['nom'] = $nom; 
//'url' = adresse du champ "nom" correspondant au login de session de la TABLE membre 
$url = $data['url']; 
header('Location:'.$url); 
exit(); 
} 

// si on ne trouve aucune réponse, le visiteur s'est trompé soit dans son login, soit dans son mot de passe 
elseif ($data[0] == 0) { 
$erreur = 'Compte non reconnu.'; 
} 

// sinon, alors la, il y a un gros problème  
else { 
$erreur = 'Probème dans la base de données : plusieurs membres ont les mêmes identifiants de connexion.'; 
} 
} 
else { 
$erreur = 'Au moins un des champs est vide.'; 
} 
} 
?> 
<html> 
<head> 
<title>Accueil</title> 
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"></head> 

<body background="img/grd-4px.gif"> 
<p align="center"><font size="6" face="Academy Engraved LET">Identification</font><font face="Algerian" size="6"> 
</font>:</p> 
<p align="center">&nbsp;</p> 
<p align="center"><br /> 
</p> 
<form action="index.php" method="post"> 
<div align="center">Login :&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
<input type="text" name="login" value="<?php if (isset($_POST['login'])) echo stripslashes(htmlentities(trim($_POST['login']))); ?>"> 
<br /> 
Mot de passe : 
<input type="password" name="pass" value="<?php if (isset($_POST['pass'])) echo stripslashes(htmlentities(trim($_POST['pass']))); ?>"> 
</div> 
<div align="center"> 
<br /> 
<input type="submit" name="connexion" value="Connexion"> 
</div> 
</form> 
<div align="center"> 
<?php 
if (isset($erreur)) echo '<br /><br />',$erreur; 
?> 
</div> 
</body> 
</html> 

D'avance merci

Posté : 17 juil. 2006, 22:38
par Truc
Salut,

Tu as certainement la même erreur sur le serveur de production (ton site) mais elle est cachée.

Apparement il manquerait des lignes le message dit que tu as un affichage dès la ligne 1 (un saut de ligne espace font l'affaire) enlève tout ce qu'il y a avant " <?php "

Posté : 17 juil. 2006, 23:02
par dunbar
Salut
Oui j'avais compris la même chose mais la problème est que <?PHP est sur le première ligne et je n'ais absolument rien avant :cry:

Posté : 17 juil. 2006, 23:18
par Truc
Le code est bien celui de l'index qui est appelé, pas de doublon à des niveaux différents ?

Le message indique la ligne "1" peut être une inclusion ?

Posté : 18 juil. 2006, 00:10
par dunbar
Salut

Je viens de télécharger PHP expert j'ai ouvert le document avec, enregistré et bizarrement cela fonctionne correctement.

Je vais acheter ce logiciel il me semble génial....


Merci quand même

Posté : 18 juil. 2006, 00:34
par dunbar
Salut

J'aurais encore une question que veux dire cette erreur, enfin plutôt quelle liens je devrais placer ????
Warning: mysql_close(): no MySQL-Link resource 
D'avance merci

Posté : 18 juil. 2006, 10:40
par Truc
Comme indiqué dans la doc tu peut lui passer l'identifiant de connexion (mysql_connect()). Le passage de paramètre n'est pas obligatoire mais tu ne dois plus avoir de connexion ouverte au moment d'appeler cette fonction (enleve la).