Utiliser header
Résolu
Raltard
-
Raltard -
Raltard -
Bonsoir, je vous fait un copier coller de mon script de ma page de connexion.
Mon problème est que j'ai ce message au moment ou je me connecte et ou il est censé me rediriger vers ma page de membre.php j'ai ce message:
MERCI d'avance pour vos réponses.
"Warning: Cannot modify header information - headers already sent by (output started at /mnt/129/sdb/a/3/cdvoiture/login.php:12) in /mnt/129/sdb/a/3/cdvoiture/login.php on line 41"
<?php
session_start();
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Connection</title>
</head>
<body>
<?php
if(isset($_POST['submit']))
{
$username = htmlspecialchars(trim($_POST['username']));
$password = htmlspecialchars(trim($_POST['password']));
if(empty($username))
{
echo"Veuiilez saisir votre pseudo</br>";
}
if(empty($password))
{
echo"Veuiilez saisir votre mot de passe";
}
mysql_connect('mabase','login','mdp');
mysql_select_db('la table');
include_once('cookielog.php');
$password = sha1($password);
$login = mysql_query("SELECT * FROM membres WHERE username = '$username' AND password = '$password'");
$rows = mysql_num_rows($login);
if($rows == 1)
{
if(isset($_POST['remember']))
{
setcookie('pseudo',$username,time()+365*24*3600, null, null, false, true);
setcookie('mot de passe',$password,time()+365*24*3600, null, null, false, true);
}
$_SESSION['username'] = $username;
header('Location:membre.php');
}else echo "Pseudo ou mot de passe incorect";
}
?>
<h1>CONNECTION</h1>
<form method="POST" action="">
<p>Votre pseudo:</p>
<input type="text" name="username"></br>
<p>Votre Mot de passe:</p>
<input type="password" name="password" ></br>
<p><input type="checkbox" name="remember" id="remmemberme" /><label for="remmemberme">Se souvenir de moi</label></p>
<p><a href="mdpoublie.php">Mot de passe oublier</a></p>
<p> <input type="submit" name="submit" value="Se connecter" /></p>
<p>Pour abandonner cliquez sur <a href="index.html"title="Acceuille">retour a l'index du site</a></p>
</form>
</body>
</html>
Mon problème est que j'ai ce message au moment ou je me connecte et ou il est censé me rediriger vers ma page de membre.php j'ai ce message:
MERCI d'avance pour vos réponses.
"Warning: Cannot modify header information - headers already sent by (output started at /mnt/129/sdb/a/3/cdvoiture/login.php:12) in /mnt/129/sdb/a/3/cdvoiture/login.php on line 41"
<?php
session_start();
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Connection</title>
</head>
<body>
<?php
if(isset($_POST['submit']))
{
$username = htmlspecialchars(trim($_POST['username']));
$password = htmlspecialchars(trim($_POST['password']));
if(empty($username))
{
echo"Veuiilez saisir votre pseudo</br>";
}
if(empty($password))
{
echo"Veuiilez saisir votre mot de passe";
}
mysql_connect('mabase','login','mdp');
mysql_select_db('la table');
include_once('cookielog.php');
$password = sha1($password);
$login = mysql_query("SELECT * FROM membres WHERE username = '$username' AND password = '$password'");
$rows = mysql_num_rows($login);
if($rows == 1)
{
if(isset($_POST['remember']))
{
setcookie('pseudo',$username,time()+365*24*3600, null, null, false, true);
setcookie('mot de passe',$password,time()+365*24*3600, null, null, false, true);
}
$_SESSION['username'] = $username;
header('Location:membre.php');
}else echo "Pseudo ou mot de passe incorect";
}
?>
<h1>CONNECTION</h1>
<form method="POST" action="">
<p>Votre pseudo:</p>
<input type="text" name="username"></br>
<p>Votre Mot de passe:</p>
<input type="password" name="password" ></br>
<p><input type="checkbox" name="remember" id="remmemberme" /><label for="remmemberme">Se souvenir de moi</label></p>
<p><a href="mdpoublie.php">Mot de passe oublier</a></p>
<p> <input type="submit" name="submit" value="Se connecter" /></p>
<p>Pour abandonner cliquez sur <a href="index.html"title="Acceuille">retour a l'index du site</a></p>
</form>
</body>
</html>
A voir également:
- Utiliser header
- Utiliser chromecast - Guide
- Utiliser iphone comme webcam - Guide
- Utiliser tablette comme deuxieme ecran - Guide
- Comment utiliser utorrent - Télécharger - Téléchargement & Transfert
- Comment utiliser wetransfer - Guide
3 réponses
Salut, il ne doit avoir aucun code html, ni aucun echo avant le header. Assure-toi aussi que ce soit le cas dans cookielog.php et qu'il n'y ait pas d'espace avant et après les balises php.
https://www.php.net/manual/fr/function.header.php
https://www.php.net/manual/fr/function.header.php
haha oui absolument! tu dois déplacer tout ton bloc php au-dessus du html, soit sous session_start()!, et puis retirer les echo pour les placer sous header(). L'important il me semble, c'est que rien ne soit envoyé au client avant la fonction.
Merci pour cette info mais si je fait sa par exemple:
<?php
session_start();
header('location:membre.php');
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
il va me rediriger avant de me connecter? Merci d'avance pour votre réponse.
<?php
session_start();
header('location:membre.php');
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
il va me rediriger avant de me connecter? Merci d'avance pour votre réponse.