Comment remplacer les header dans le code php

Résolu/Fermé
flexi2202 Messages postés 3801 Date d'inscription lundi 14 mars 2011 Statut Membre Dernière intervention 21 octobre 2024 - 12 mai 2022 à 23:14
flexi2202 Messages postés 3801 Date d'inscription lundi 14 mars 2011 Statut Membre Dernière intervention 21 octobre 2024 - 13 mai 2022 à 00:48
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>");
?>
A voir également:

4 réponses

jordane45 Messages postés 38353 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 27 décembre 2024 4 719
12 mai 2022 à 23:29
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
flexi2202 Messages postés 3801 Date d'inscription lundi 14 mars 2011 Statut Membre Dernière intervention 21 octobre 2024 187
Modifié le 12 mai 2022 à 23:40
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
flexi2202 Messages postés 3801 Date d'inscription lundi 14 mars 2011 Statut Membre Dernière intervention 21 octobre 2024 187
Modifié le 13 mai 2022 à 00:25
Bon ben tout ce que j'essaye ne fonctionne pas
0
flexi2202 Messages postés 3801 Date d'inscription lundi 14 mars 2011 Statut Membre Dernière intervention 21 octobre 2024 187
13 mai 2022 à 00:48
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