Comment mettre plusieurs headers sur une même page php ?
Résolu
fabi00
Messages postés
82
Date d'inscription
Statut
Membre
Dernière intervention
-
fabi00 Messages postés 82 Date d'inscription Statut Membre Dernière intervention -
fabi00 Messages postés 82 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
En fait j'essaie de faire un formulaire de devis express avec trois fenêtres modales sur une même page PHP. Étant donné que j'utilise plusieurs headers, à la compilation je me mange un petit warning : Cannot modify header information - headers already sent. Est-ce qu'il existerait un moyen de mettre plusieurs headers sur la même page ?
Merci d'avance ^^
Je suis nouveau, je ne sais pas comment ça fonctionne, je vais essayer d'envoyer mon code ici...
En fait j'essaie de faire un formulaire de devis express avec trois fenêtres modales sur une même page PHP. Étant donné que j'utilise plusieurs headers, à la compilation je me mange un petit warning : Cannot modify header information - headers already sent. Est-ce qu'il existerait un moyen de mettre plusieurs headers sur la même page ?
Merci d'avance ^^
Je suis nouveau, je ne sais pas comment ça fonctionne, je vais essayer d'envoyer mon code ici...
<body> <a href="#demo1">Devis Express</a> <!--Formulaire 1 --> <div id="demo1" class="modal1"> <div class="modal_content1"> <h1>Votre demande de devis</h1> <p>Faite votre demande de devis en seulement quelques clics !</br></br></br></p> <h2>Vos besoins (Total de 10 pièces minimum)</h2> <form action="" method="post"> <p> <label for="modele">Modèle</label> <select name="modele" id="modele"/> <option>T-shirts</option> <option>Sweat-shirts</option> <option>Pulls</option> </select> <label for="quantite">Quantité</label> <input type="number" name="quantite" id="quantite" min="10" value="<?php if (isset($_POST['quantite'])){echo $_POST['quantite'];} ?>"/> <br></br> </p> <p> <label for="taille">Taille</label> <select name="taille" id="taille"/> <option>XS</option> <option>S</option> <option>M</option> <option>L</option> <option>XL</option> </select> <label for="couleur">Couleur</label> <select name="couleur" id="couleur"> <option value="bleu">bleu</option> <option value="rouge">rouge</option> <option value="vert">vert</option> </select> </p> <p> <input type="submit" name="suivant" value="Suivant"/> </p> </form> <?php //Si on appuie sur le bouton "suivant" if(isset($_POST['suivant'])){ //On récupère les données dans $_POST $modele=$_POST['modele']; $taille=$_POST['taille']; $couleur=$_POST['couleur']; $quantite=$_POST['quantite']; //On définit des variables de session $_SESSION['modele'] = $modele; $_SESSION['taille'] = $taille; $_SESSION['couleur'] = $couleur; $_SESSION['quantite'] = $quantite; if($quantite == false){ echo "<h4>Veuillez ajouter une quantité</h4>"; } else{ // On va sur le formulaire 2 header ('Location: #demo2'); die(); } } ?> <a href="#" class="modal_close1">×</a> </div> </div> <!--Formulaire 2 --> <div id="demo2" class="modal2"> <div class="modal_content2"> <h1>Votre demande de devis</h1> <p>Faite votre demande de devis en seulement quelques clics !</br></br></br></p> <h2>Infos supplémentaires pour impression</h2> <form action="" method="post"> <p> <label for="qualite">Qualité</br></label> <select name="qualite" id="qualite"> <option>Promotionnel/1er prix</option> <option>Meilleur rapport qualité / prix</option> <option>Haut de gamme</option> </select> </p> <p> <label for="zone">Zone de personnalisation</br></label> <select name="zone" id="zone"> <option>Coeur</option> <option>Dos</option> <option>Manche</option> </select> </p> <p> <label for="impression">Technique d'impression</br></label> <select name="impression" id="impression"> <option>DTG</option> <option>Transfert quadri</option> <option>Sérigraphie</option> <option>Flex Flock</option> <option>Broderie</option> <option>Sublimation</option> </select> </p> <p> <label for="fichier">Importez vos fichiers ici</br></label> <input type="file" id="fichier" name="fichier" accept="image/png, image/jpeg, .ai, .eps, .pdf, .svg"> </p> <p> <input type="submit" name="retour1" value="Précèdent"/> <input type="submit" name="suivant1" value="Suivant"/> </p> </form> <?php //Si on appuie sur le bouton "suivant" if(isset($_POST['suivant1'])){ //On récupère les données dans $_POST $qualite=$_POST['qualite']; $zone=$_POST['zone']; $impression=$_POST['impression']; $fichier=$_POST['fichier']; // On va sur le formulaire 3 header('Location: #demo3'); die(); //header('Location: suite2.php'); //On définit des variables de session $_SESSION['qualite'] = $qualite; $_SESSION['zone'] = $zone; $_SESSION['impression'] = $impression; $_SESSION['fichier'] = $fichier; } //Si on appuie sur le bouton "Précèdent" if(isset($_POST['retour1'])){ // On va sur la formulaire 1 header('Location: #demo1'); die(); } ?> <a href="#" class="modal_close2">×</a> </div> </div> </body>
A voir également:
- Comment mettre plusieurs headers sur une même page php ?
- Comment supprimer une page sur word - Guide
- Comment imprimer un tableau excel sur une seule page - Guide
- Mettre google en page d'accueil - Guide
- Comment créer une page facebook - Guide
- Comment mettre une page en paysage sur word - Guide
1 réponse
Bonjour,
Ce n'est pas un souci du "nombre" de header ... mais un souci d'ordre de ton code.
L'instruction header ne doit pas se trouver APRES un affichage ( que ça soit du code html ou des echo en php)..
De toutes façons.. prends l'habitude de placer le maximum de code php AVANT tout ton code html..
En gros
Ce n'est pas un souci du "nombre" de header ... mais un souci d'ordre de ton code.
L'instruction header ne doit pas se trouver APRES un affichage ( que ça soit du code html ou des echo en php)..
De toutes façons.. prends l'habitude de placer le maximum de code php AVANT tout ton code html..
En gros
<?php //Si on appuie sur le bouton "suivant" if(isset($_POST['suivant'])){ //On récupère les données dans $_POST $modele=$_POST['modele']; $taille=$_POST['taille']; $couleur=$_POST['couleur']; $quantite=$_POST['quantite']; //On définit des variables de session $_SESSION['modele'] = $modele; $_SESSION['taille'] = $taille; $_SESSION['couleur'] = $couleur; $_SESSION['quantite'] = $quantite; if($quantite == false){ echo "<h4>Veuillez ajouter une quantité</h4>"; } else{ // On va sur le formulaire 2 header ('Location: #demo2'); die(); } } //Si on appuie sur le bouton "suivant" if(isset($_POST['suivant1'])){ //On récupère les données dans $_POST $qualite=$_POST['qualite']; $zone=$_POST['zone']; $impression=$_POST['impression']; $fichier=$_POST['fichier']; // On va sur le formulaire 3 header('Location: #demo3'); die(); //header('Location: suite2.php'); //On définit des variables de session $_SESSION['qualite'] = $qualite; $_SESSION['zone'] = $zone; $_SESSION['impression'] = $impression; $_SESSION['fichier'] = $fichier; } //Si on appuie sur le bouton "Précèdent" if(isset($_POST['retour1'])){ // On va sur la formulaire 1 header('Location: #demo1'); die(); } ?> <!Doctype html> <html> <head> <!-- le code de ton head --> </head> <body> <a href="#demo1">Devis Express</a> <!--Formulaire 1 --> <div id="demo1" class="modal1"> <div class="modal_content1"> <h1>Votre demande de devis</h1> <p>Faite votre demande de devis en seulement quelques clics !</br></br></br></p> <h2>Vos besoins (Total de 10 pièces minimum)</h2> <form action="" method="post"> <p> <label for="modele">Modèle</label> <select name="modele" id="modele"/> <option>T-shirts</option> <option>Sweat-shirts</option> <option>Pulls</option> </select> <label for="quantite">Quantité</label> <input type="number" name="quantite" id="quantite" min="10" value="<?php if (isset($_POST['quantite'])){echo $_POST['quantite'];} ?>"/> <br></br> </p> <p> <label for="taille">Taille</label> <select name="taille" id="taille"/> <option>XS</option> <option>S</option> <option>M</option> <option>L</option> <option>XL</option> </select> <label for="couleur">Couleur</label> <select name="couleur" id="couleur"> <option value="bleu">bleu</option> <option value="rouge">rouge</option> <option value="vert">vert</option> </select> </p> <p> <input type="submit" name="suivant" value="Suivant"/> </p> </form> <a href="#" class="modal_close1">×</a> </div> </div> <!--Formulaire 2 --> <div id="demo2" class="modal2"> <div class="modal_content2"> <h1>Votre demande de devis</h1> <p>Faite votre demande de devis en seulement quelques clics !</br></br></br></p> <h2>Infos supplémentaires pour impression</h2> <form action="" method="post"> <p> <label for="qualite">Qualité</br></label> <select name="qualite" id="qualite"> <option>Promotionnel/1er prix</option> <option>Meilleur rapport qualité / prix</option> <option>Haut de gamme</option> </select> </p> <p> <label for="zone">Zone de personnalisation</br></label> <select name="zone" id="zone"> <option>Coeur</option> <option>Dos</option> <option>Manche</option> </select> </p> <p> <label for="impression">Technique d'impression</br></label> <select name="impression" id="impression"> <option>DTG</option> <option>Transfert quadri</option> <option>Sérigraphie</option> <option>Flex Flock</option> <option>Broderie</option> <option>Sublimation</option> </select> </p> <p> <label for="fichier">Importez vos fichiers ici</br></label> <input type="file" id="fichier" name="fichier" accept="image/png, image/jpeg, .ai, .eps, .pdf, .svg"> </p> <p> <input type="submit" name="retour1" value="Précèdent"/> <input type="submit" name="suivant1" value="Suivant"/> </p> </form> <a href="#" class="modal_close2">×</a> </div> </div> </body> </html>
Super !! Un grand merci à vous, ça fonctionne.