Utiliser header

Résolu
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>
A voir également:

3 réponses

Utilisateur anonyme
 
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
1
Utilisateur anonyme
 
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.
1
Raltard
 
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.
0
duvalkede Messages postés 37 Date d'inscription   Statut Membre Dernière intervention  
 
j'ai le même probléme que toi , ducoup j'utilise :
echo '<meta http-equiv="Refresh" content="0;url= index.php">';
sa redirige vers la page index.php la par exemple au bout de 0 seconde.

je n'ai pas réellement compris votre solution. si queulqu'un peut mexpliquer.
0
Raltard > duvalkede Messages postés 37 Date d'inscription   Statut Membre Dernière intervention  
 
ok je te remercie pour ta réponse qui sera la plus simple à mon gout.et je remercie également Sunr pour tes réponses.
0