Mot de passe

Bonjour,
J'ai une erreur dans mes codes mais je trouve pas.
Le code marche en local (wamp ou easyphp), mais sur mon hebergeur ils ne marchent plus.

Code HTML/PHP

<?php
if (isset($_POST['pw'])) {
  $pw = $_POST['pw'];
  if ($pw = "bebe") {header ("Location:adminpage.php"); }
   else  { header ("Location:sorry.php");
  }
}
?>

<h1>Password?</h1>
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="POST">
<input id="password" type="password" name="pw">
<input type="submit" value="Administration">
</form>


et sur le navigateur sa me dit :
Warning: Cannot modify header information - headers already sent by (output started at /***/***/***/mention.php:27) in /***/***/***/mention.php on line 37

La ligne 37 correspond à :
  if ($pw = "bebe") {header ("Location:adminpage.php"); }


Mais je vois pas l'erreur. Merci de m'aider

2 réponses

  1. Salut,

    L'erreur indique que du code HTML est renvoyé avant la redirection. ça peut être un "echo" ou du texte voir un espace vide.
    0
    1. Non rien a changé
      0
  2. tu ne dois pas avoir les memes versions de PHP entre local / serveur
    ou alors vu que c'est un warning (pas bien grave)
    mets ca au début du code :

    error_reporting(0);

    (ou modifier le php.ini du serveur)
    0
    1. Plus de message d'erreur mais comme si il ne se passait rien :s
      0
    2. Where is php.ini ? ^^
      0
    3. non mais si tu as mis error_repporting dans ta page c'est pareil que de le mettre dans le php.ini
      tu as un autre probleme
      tu dois avoir plusieurs headear de ce genre
      header ("Location:adminpage.php");
      0
    4. Pourtant j'ai que ce header
      0
    5. il y a quoi à la ligne 27 ?
      0