Erreur php a l'aide !!!!! :-(
Résolu
Utilisateur anonyme
-
Utilisateur anonyme -
Utilisateur anonyme -
Bonjour,
j'obtiens cette erreur php que veut elle dire ?
Warning: Cannot modify header information - headers already sent by (output started at /mnt/140/sdb/b/7/farsi21/login.php:1) in /mnt/140/sdb/b/7/farsi21/login.php on line 19
voici le code de la ligne 15 a 20:
j'obtiens cette erreur php que veut elle dire ?
Warning: Cannot modify header information - headers already sent by (output started at /mnt/140/sdb/b/7/farsi21/login.php:1) in /mnt/140/sdb/b/7/farsi21/login.php on line 19
voici le code de la ligne 15 a 20:
if ($data[0] == 1) {
$_SESSION['login'] = $_POST['login'];
header('Location: membre.php');
exit(); Configuration: Windows XP Firefox 3.1
17 réponses
-
Salut, regarde bien ton script au début tu as fait appelle à une condition "if" puis entre parenthèse tu as défini la condition pour exécuter se que tu as mis entre crochet, tu l'as bien ouverte au début mais tu a oubliée de la refermé à la fin ;)
-
if ($data[0] == 1) {
$_SESSION['login'] = $_POST['login'];
header('Location: membre.php');
exit();
}
je voit pas d'érreur -
Salut!
as tu mis session_start() au début? -
-
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
quand je met session_start(); j'obtiens sa:
Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at /mnt/140/sdb/b/7/farsi21/login.php:1) in /mnt/140/sdb/b/7/farsi21/login.php on line 2
Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at /mnt/140/sdb/b/7/farsi21/login.php:1) in /mnt/140/sdb/b/7/farsi21/login.php on line 2
Warning: Cannot modify header information - headers already sent by (output started at /mnt/140/sdb/b/7/farsi21/login.php:1) in /mnt/140/sdb/b/7/farsi21/login.php on line 19 -
ok!
mais si tu veux utiliser les sessions,eh ben session_start() est obligatoire.vérifie qu'il y a pas d'espace avant session_start au début de ton script! -
ouai mais pares j'ai sa comme erreur:
Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at /mnt/140/sdb/b/7/farsi21/login.php:1) in /mnt/140/sdb/b/7/farsi21/login.php on line 2
Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at /mnt/140/sdb/b/7/farsi21/login.php:1) in /mnt/140/sdb/b/7/farsi21/login.php on line 2
Warning: Cannot modify header information - headers already sent by (output started at /mnt/140/sdb/b/7/farsi21/login.php:1) in /mnt/140/sdb/b/7/farsi21/login.php on line 19 -
fais moi voir tout le script login.php stp!
-
<?php
session_start();
if (isset($_POST['connexion']) && $_POST['connexion'] == 'Connexion') {
if ((isset($_POST['login']) && !empty($_POST['login'])) && (isset($_POST['pass']) && !empty($_POST['pass']))) {
$base = mysql_connect ('sql.free.fr', 'farsi21', 'XXXXXX');
mysql_select_db ('farsi21', $base);
$sql = 'SELECT count(*) FROM membre WHERE login="'.mysql_escape_string($_POST['login']).'" AND pass_md5="'.md5(mysql_escape_string($_POST['pass'])).'"';
$req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());
$data = mysql_fetch_array($req);
mysql_free_result($req);
mysql_close();
if ($data[0] == 1) {
$_SESSION['login'] = $_POST['login'];
header('Location: membre.php');
exit();
}
elseif ($data[0] == 0) {
$erreur = 'Compte non reconnu.';
}
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>
</head>
<body>
Connexion à l'espace membre :<br />
<form action="index.php" method="post">
Login : <input type="text" name="login" value="<?php if (isset($_POST['login'])) echo htmlentities(trim($_POST['login'])); ?>"><br />
Mot de passe : <input type="password" name="pass" value="<?php if (isset($_POST['pass'])) echo htmlentities(trim($_POST['pass'])); ?>"><br />
<input type="submit" name="connexion" value="Connexion">
</form>
<a href="inscription.php">Vous inscrire</a>
<?php
if (isset($erreur)) echo '<br /><br />',$erreur;
?>
</body>
</html>
il est disponible ici:http://www.lephpfacile.com/howto/10-comment-faire-un-espace-membre-en-php -
re
apparement tout est normal:<?php session_start(); if (isset($_POST['connexion']) && $_POST['connexion'] == 'Connexion') { if ((isset($_POST['login']) && !empty($_POST['login'])) && (isset($_POST['pass']) && !empty($_POST['pass']))) { $base = mysql_connect ('sql.free.fr', 'farsi21', 'XXXXXX'); mysql_select_db('farsi21', $base); $sql = 'SELECT count(*) FROM membre WHERE login="'.mysql_escape_string($_POST['login']).'" AND pass_md5="'.md5(mysql_escape_string($_POST['pass'])).'"'; $req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error()); $data = mysql_fetch_array($req); mysql_free_result($req); mysql_close(); if ($data[0] == 1) { $_SESSION['login'] = $_POST['login']; header('Location: membre.php'); exit(); } elseif ($data[0] == 0) { $erreur = 'Compte non reconnu.'; } 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> </head> <body> Connexion à l'espace membre :<br /> <form action="index.php" method="post"> Login : <input type="text" name="login" value="<?php if (isset($_POST['login'])) echo htmlentities(trim($_POST['login'])); ?>"><br /> Mot de passe : <input type="password" name="pass" value="<?php if (isset($_POST['pass'])) echo htmlentities(trim($_POST['pass'])); ?>"><br /> <input type="submit" name="connexion" value="Connexion"> </form> <a href="inscription.php">Vous inscrire</a> <?php if (isset($erreur)) echo '<br /><br />',$erreur; ?> </body> </html>
essai de vider le cache de ton navigateur,cookies et tout le reste et tu vas tester!J'ai le même script et chez moi il marche très bien! -
-
Bonsoir,
Apparemment, on ne peut pas utiliser un session_start avec un header : http://www.commentcamarche.net/faq/sujet 1916 php headers already sent by -
-
bon une autre alternative!
<?php // Redirection function redirection($url){ if(headers_sent()){ print('<meta http-equiv="refresh" content="0;URL='.$url.'">'); }else{ header("Location: $url"); } } ?>
tu le met dans un autre fichier .php et dans ta page de login dtu fais un include.
Et à la place de header pour la redirection tu fais:redirection("ton_url"); //tout simplement -
-
-