IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Positionnement header


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Étudiant
    Inscrit en
    Février 2008
    Messages
    89
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2008
    Messages : 89
    Par défaut Positionnement header
    HORREUR !!
    Je travail sur mon site en local depuis plus de 2 semaines, je le balance sur internet, et là HORREUR ... à chaque appel d'un header, sa plante :
    déjà mon header avant, c'était sa :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    header("location:/index.php");
    mais maintenant je dois tous changer par :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    header("location:http://nakat.power-heberg.be/pierre/admin/faq/index.php");
    De plus une erreur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Warning: Cannot modify header information - headers already sent by (output started at /home/nakat/www/pierre/admin/faq/modif_suppr.php:7) in /home/nakat/www/pierre/admin/faq/modif_suppr.php on line 77
    apparait !!

    Je vais sur internet et je vois qu'il faut placer le header tout en haut du code. Je le fais et là sa fonctionne, ou presque ... car voici mon code complet :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html>
    <head>
    <title>Foire aux questions</title>
    <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
    <link href="/pierre/Style.css" rel="stylesheet" type="text/css" />
    <script src="/pierre/javascript/chemin.js" language="javascript"></script>
    <script src="/pierre/javascript/MasquerDiv.js" language="javascript"></script>
    <script src="/pierre/javascript/textarea.js" language="javascript"></script>
    </head>
    <body onload="javascript:CacheTout( 'special')">
    <?php
    if (isset ($_POST['ModifSupprMessage'])) //Si l'appel vient du fichier index.php
    {
    	if ($_POST['ModifSupprMessage'] == "Modifier") //Si on à cliqué sur le bouton "Modifier"
    	{
    		$page = "admin";
    		include($_SERVER["DOCUMENT_ROOT"]."/pierre/Include/Haut.inc.php");
     
    		include($_SERVER["DOCUMENT_ROOT"]."/pierre/Include/mysql.inc.php");
    		$sql = "SELECT faq_quest, faq_rep, faq_pseudo, faq_mail, faq_afficher FROM faq WHERE faq_id='" . $_POST['titrefaq'] . "'";
    		$requete = mysql_query($sql, $cnx) or die("Erreur dans $sql\n".mysql_error());
    		while ($modif = mysql_fetch_array($requete))
    		{
    			?><h1>Modifier une question</h1><br />
    			<form name="poster" action="modif_suppr.php" enctype="multipart/form-data" method="POST">
    				<div id="FAQConteneur">
    				Question : <br />
    				<?php echo $modif['faq_quest']; ?>
    				</div>
    				<a href="modif_quest.php?id=<?php echo $_POST['titrefaq']; ?>">Modifier la question</a><br /><br />
    				Réponse :<br /><?php include($_SERVER["DOCUMENT_ROOT"]."/pierre/Include/MiseEnFormeSimple.inc.php"); ?>
    				<?php $texte = $modif['faq_rep'];
    				include($_SERVER["DOCUMENT_ROOT"]."/pierre/Include/AffichageBBCode.inc.php"); ?>
    				<textarea id="textarea" rows="8" cols="30" name="msg" wrap="virtual" OnClick="this.focus();"><?php echo $texte; ?></textarea><br />
    				<input type="hidden" value="<?php echo $_POST['titrefaq'] ?>" name="identifiant" />
    				Afficher : <input type="checkbox" name="afficher"
    				<?php
    				if ($modif['faq_afficher'] == 1)
    				{
    					?>checked="checked"<?php
    				}
    				?>
    				<br />
    				<input type="submit" name="ModifQuestion" value="Modifier" />
    			</form><?php
    		}
    		?> <div id="retour"><a href="./">Retour</a></div>
    		<?php 
    		$page = "admin";
    		include($_SERVER["DOCUMENT_ROOT"]."/pierre/Include/MenuVertical.inc.php"); 
    	}
    	else //Si on a cliqué sur le bouton "Supprimer"
    	{
    		include($_SERVER["DOCUMENT_ROOT"]."/pierre/Include/mysql.inc.php");
    		$sql = "DELETE FROM faq WHERE faq_id='" . $_POST['titrefaq'] . "'";
    		$requete = mysql_query($sql, $cnx) or die("Erreur dans $sql");
    		header("location:http://nakat.power-heberg.be/pierre/admin/faq/index.php");
    	}
    }
    else //Si on à confirmer la modification (appel de modif_suppr.php)
    {
    	include($_SERVER["DOCUMENT_ROOT"]."/pierre/Include/RemplacementBBCode.inc.php"); //Insertion du code de remplacement des balises BBCode en balises HTML
    	include($_SERVER["DOCUMENT_ROOT"]."/pierre/Include/mysql.inc.php"); //Connexion à la base de données
     
    	if ($_POST['afficher'] == "on") //Si la case à cocher afficher à été cochée
    	{
    		$affiche = 1;
    	}
    	else
    	{
    		$affiche = 0;
    	}
     
    	$sql = "UPDATE faq SET faq_rep='".$texte."', faq_afficher='$affiche' WHERE faq_id='" .mysql_real_escape_string($_POST['identifiant']) . "'";
    	$requete = mysql_query($sql, $cnx) or die("Erreur dans $sql".mysql_error());
    	header("location:http://nakat.power-heberg.be/pierre/admin/faq/index.php");
    }
    ?>
    </body>
    </html>
    Il y a 3 parties d'on une ou il doit y avoir un affichage, qui ne s'affiche pas, il passe direct au header et redirige la page.

    Le problème est que j'utilise ce code sur de nombreuses pages.
    Y-a-t-il un moyen pour effectuer une redirection que sur mes parties sans code d'affichage et existe-t-il un moyen de retrouver un lien simple de type :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    header("location:/index.php");
    Merci de votre aide ... j'en ai besoin !!

  2. #2
    Membre expérimenté Avatar de BlackSmith
    Inscrit en
    Mars 2008
    Messages
    181
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations forums :
    Inscription : Mars 2008
    Messages : 181
    Par défaut
    Je ne pense pas que ton code fonctionne car le header n'est pas encore placé assez haut

    exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    header("location:http://nakat.power-heberg.be/pierre/admin/faq/index.php");
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

  3. #3
    Membre confirmé
    Profil pro
    Étudiant
    Inscrit en
    Février 2008
    Messages
    89
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2008
    Messages : 89
    Par défaut
    Oui si je le place en haut sa fonctionne mais il y a du texte sur cette page, du texte que l'utilisateur doit voir apparaitre sur son écran et à cause de ce header, il ne verra rien !!

  4. #4
    Membre expérimenté Avatar de BlackSmith
    Inscrit en
    Mars 2008
    Messages
    181
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations forums :
    Inscription : Mars 2008
    Messages : 181
    Par défaut
    Il suffit que tu englobe tout ton code html dans un if(isPost) ou un truc dans le même genre.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    if(...) {
     //le code pour l'affichage
     
    }
    else {
      // le header
    }

  5. #5
    Membre confirmé
    Profil pro
    Étudiant
    Inscrit en
    Février 2008
    Messages
    89
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2008
    Messages : 89
    Par défaut
    Oui c'est comme sa que sa fonctionne mais comme le header doit Obligatoirement être positionné en début de script, je ne peut pas le mettre dans un if !!!
    Sinon j'ai trouvé une solution pas super qui consiste à utiliser 3 fichiers au lieu d'un seul (modifier/supprimer/enregistrémodif)

  6. #6
    Membre expérimenté Avatar de BlackSmith
    Inscrit en
    Mars 2008
    Messages
    181
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations forums :
    Inscription : Mars 2008
    Messages : 181
    Par défaut
    si tu peut le mettre dans le if, mais il faut obligatoirement qu'il soit placé avant tout le code html. Et comme les if ne sont pas transmis au navigateur, il n'y a pas de problème.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Conditions dans le .htaccess pour positionner un header
    Par johnny-57 dans le forum Apache
    Réponses: 3
    Dernier message: 02/03/2013, 01h21
  2. Positionnement de trois divs avec header et footer
    Par baggie dans le forum Mise en page CSS
    Réponses: 3
    Dernier message: 10/01/2012, 15h28
  3. comment positionner un header dans un fichier jnlp
    Par isagarran dans le forum JWS
    Réponses: 1
    Dernier message: 28/11/2009, 00h51
  4. Problème de positionnement dans un header
    Par Thewil dans le forum Mise en page CSS
    Réponses: 4
    Dernier message: 13/08/2009, 17h22
  5. Réponses: 5
    Dernier message: 26/11/2008, 11h06

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo