Comment remplacer les header dans le code php

Résolu
bonjour a tous
je suis occupé a garnir mes pages fraichement crée

Mais lorsque je mets du code html au dessus de header je reçois des erreurs

Mes headers sont constitue comme ca

 header('Location: connexion-site.php?login_err=password');
            die();


j'ai vu cette solution
<?php
print("<script type=\"text/javascript\">setTimeout('location=(\"page.php\")' ,1000);</script>");
?>

4 réponses

  1. Modérateur
    Bonjour
    Il suffit d'écrire le code PHP avant tout code HTML pour ne pas avoir ce soucis.
    Il ne faut pas non plus de écho ou de print ou de Var_dump.
    1
    1. bonjour jordane
      Merci de la reponse
      oui cela je 'ai lu un peu partout mais comment faire lorsque on doit insérer son html avec sa bannière , son menu ect...
      si je mets mon code html apres le php
      Les messages d'erreur iront s'écrire au dessus de mon html

      voici mon fichier pour que tu comprennes mieux

      <?php
      // on demarre la session 
      session_start();
      
      //on affiche les erreurs
      error_reporting(E_ALL);
      ini_set('display_errors', true);
      ini_set('display_startup_errors', true);
       ?>
       
       <!DOCTYPE html>
      <html lang="fr">
          <head>
              <?php include("./include/head.php"); ?>
        
        <!-- deux scripts tarteaucitron le deuxiem est celui qui devrait etres mis en dur dans chque page-->
            <script  src="/tarteaucitron/tarteaucitron.js"></script>
             <script src="/js/tartecitron-peche-perle2.js"></script>
          
              <title>Magazine gratuit pêche à la perle de la carpe</title>
              <meta name="description" content="chaque trimestre un nouveau magasine gratuit sur la pêche de la carpe .Découvres les nouvelles techniques, de nouveaux tutoriels , pour débutant ou confirmés   " />
              <link rel="shortcut icon" href="https://phil.pecheperle.be/image/la-peche-a-la-perle.ico" type="image/x-icon" />
             <link rel="stylesheet" type="text/css" href="/css/banniere-menu-peche-perle.css" />
           </head>
        
          <body style="background-color:#cec1c1;" onLoad="document.getElementById('attente').style.display='none'">
          <div class="container" style="background-color:#87CEEB;">
                  <!-- debut container entete-->
                  <div class="container" style="max-width: 100%; margin: auto;">
                      <?php include("./include/baniere-peche-perle.php"); ?>
                      <?php include("./include/menu3.php"); ?>
                  </div>
       <?php
      //on recupere le lien link pour la redirection vers les autres pages
      $link = !empty($_GET['link']) ? $_GET['link'] : NULL;
      //$referer = ($_SERVER['HTTP_REFERER']);
      //echo $referer ;
      require_once 'base.php';
      if (!empty($_POST['pseudo']) && !empty($_POST['password']))
      {
          $pseudo = !empty($_POST['pseudo']) ? $_POST['pseudo'] : NULL;
          $password = !empty($_POST['password']) ? $_POST['password'] : NULL;
      
          //préparation de la requête et des variables
          $sql = 'SELECT pseudo, email,id,confirme, password,confirmkey FROM utilisateurs WHERE pseudo = ?';
          $datas = [$pseudo];
          //Execution de la requete
          try
          {
              $requete = $bdd->prepare($sql);
              $requete->execute($datas);
          }
          catch(Exception $e)
          {
              // en cas d'erreur :
              echo " Erreur ! " . $e->getMessage();
              echo " Les datas : ";
              print_r($datas);
          }
          $data = $requete->fetch();
          $row = $requete->rowCount();
      //$userexit=$requete->fetch();
          //si le peusdo est bien dans la base alors on continue sinon on sort
        if ($data['confirme'] !=0)
          {
          if ($row == 1)
          {
      
              //on verifie le pawword si il est ok on continue , sinon sortie
              if (password_verify($password, $data['password']))
              {
      
                  //on definit et on cree les variables sessions
                  $_SESSION['user'] = array(
                      'id' => $data['id'],
                      'pseudo' => $data['pseudo'],
                      'email' => $data['email'],
                      'confirmkey' => $data['confirmkey']
                  );
                  $_SESSION['id'] = $data['id'];
                  $_SESSION['pseudo'] = $data['pseudo'];
                  $_SESSION['email'] = $data['email'];
                  $_SESSION['confirmkey'] = $data['confirmkey'];
                  //on test la variable link si elle est vide  on va vers index
                  if (empty($_SESSION['link']))
                  {
                      header('Location: index.php?pseudo=' . $_SESSION['pseudo']);
      
                      //sinon on va faire la derniere page visitee
                  }
                  else 
                  {
                      header('location: ' . $_SESSION['link']);
                  }
                  die();
              }
              else
              {
                  header('Location: connexion-site.php?login_err=password');
                  die();
              }
          }
          else
          {
              header('Location: connexion-site.php?login_err=already');
              die();
          }
       }
          else
          {
              echo"
              <div class='container' style=' min-width: 50%;margin:auto;'>
                  <div class='card text-center'>
                    <div class='card-header'>
                          Compte pas activer  regarde bien dans te spams  si pas alors recois a nouveau le lien
                    </div>
             <div class='card-body'>
                         <p class='card-text'>   
           <form action='https://phil.pecheperle.be/testenvoismail.php' method='post'>
            <button type='submit' name='renvoyer'>Renvoyer l email pour activer ton compte</button>
           </form>
            </p>
                    </div>
                  </div>
              </div>";
             // echo"compte pas activer  regarde bien dans te spams  si pas alors recois a nouveau le lien ";?>
              <?php
          }
      }
      ?>
           <!-- debut pied de page-->
                  <div class="container" style="max-width: 100%; margin: auto;">
                      <?php include("./include/pied-de-page.php"); ?>
                      <?php include("./include/footer.php"); ?>
                  </div>
              </div>
          </body>
          <!-- fin du body-->
      </html>
      0
      1. Bon ben tout ce que j'essaye ne fonctionne pas
        0
        1. j'ai enfin trouve
          il suffisait juste que je remplace
          echo"
                  <div class='container' style=' min-width: 50%;margin:auto;'>
                      <div class='card text-center'>
                        <div class='card-header'>
                              Compte pas activer  regarde bien dans te spams  si pas alors recois a nouveau le lien
                        </div>
                 <div class='card-body'>
                             <p class='card-text'>   
               <form action='https://phil.pecheperle.be/testenvoismail.php' method='post'>
                <button type='submit' name='renvoyer'>Renvoyer l email pour activer ton compte</button>
               </form>
                </p>
                        </div>
                      </div>
                  </div>


          par une redirection vers le fichier connexion-site

          quelle journnee
          0