Problème - Fonction header

Petit nouveau ! | 2 Messages

23 juin 2014, 20:57

Bonjour,

Débutant le php je viens de tomber sur mon premier casse tête !

Après avoir regarder sur différents forum le fonctionnement de la fonction "header", je n'arrive toujours pas à la faire fonctionner sur un site tout simple, qui doit, en validant un formulaire rediriger sur une nouvelle page.

Voila le code que j'utilise :
---------------------------------------------------

Code : Tout sélectionner

<?php if(isset($_POST['bouton'])) { if($_POST['code']=='1234') { header("Location:pagePrivee.php"); } } ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Document sans nom</title> </head> <body> <form id="monform" name="form1" method="post" action="login.php"> <p> <label>Code : <input type="text" name="code" /> </label> </p> <p> <label> <input type="submit" name="bouton" value="Envoyer" /> </label> </p> </form> <?php echo "<pre>"; print_r($_POST); echo "</pre>"; ?> </body> </html>
---------------------------------------------------

La fonction header ne renvoie jamais sur la page demandée lorsque le formulaire est validé !

J'utilise Dreamweaver et Mamp que j'ai configuré à l'aide du site Adobe :
http://www.adobe.com/devnet/dreamweaver ... edheader_2

Je lance mes tests dans Safari 7.0.4.

En espérant que vous pourrez m'aider et en vous remerciant par avance !

Xavier

ViPHP
xTG
ViPHP | 7331 Messages

23 juin 2014, 21:01

Rajoutes un exit(); après le header.
Actives les erreurs PHP dans le php.ini (error_reporting) pour vérifier que header ne renvoie pas un warning.
Et tu peux aussi vérifier avec un éditeur qui affiche les caractères invisibles qu'il n'y en a pas avant <?php (un header doit se trouver avant tout affichage)

Petit nouveau ! | 2 Messages

23 juin 2014, 21:11

Merci pour ta réponse xTG,

J'ai essayé de nouveau avec la fonction exit après le header. Celle-ci est bien exécutée ... mais toujours pas le header !
Il n'y a pas de caractère invisible non plus !
Comment fais-tu pour activer les erreurs PHP ? Cela se fait dans Dreamweaver ou dans Wamp ?

Merci

ViPHP
xTG
ViPHP | 7331 Messages

23 juin 2014, 21:23

Cela se fait dans wamp, dans le fichier php.ini (après modification il faut penser à redémarrer le serveur).
http://fr2.php.net/manual/fr/errorfunc. ... -reporting