par
dunbar » 17 juil. 2006, 22:06
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"> </p>
<p align="center"><br />
</p>
<form action="index.php" method="post">
<div align="center">Login :
<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
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 :
[quote]
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
[/quote]
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]
<?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"> </p>
<p align="center"><br />
</p>
<form action="index.php" method="post">
<div align="center">Login :
<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>
[/php]
D'avance merci