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 :

Aide sur la fonction header


Sujet :

Langage PHP

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 8
    Par défaut Aide sur la fonction header
    bonjour

    mon problem est que j'utilise dans un site web la fonction header.

    donc voilà , j'ai des formulaire a traiter , et j'ai une grande masse de traitement d'info et j'ai fait le traitement apart dans une page consacré pour sa , et vers la fin du traitement quand je teste que tous mes requette sont executé correctement , j'aimerai faire une redirection pour une autre page.

    le problem c'est que sur WAMP en local , sa marche nikel , mais quand j'ai heberger le site pour dans un hebergeur gratuit pour le test sa m'affiche cet erreur
    Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by
    et j'ai vu que la fonction header doit etre placer tout en haut du fichier , donc soit y'a une solution avec le header sois une autre facons pour que je redirige parceque je fais sa dans un test comme ce ci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    //Traitement
    ...
    ...
    if(sa_marche) { header(location:.....);
    donc je peux pas la mettre en haut du fichier

  2. #2
    Membre Expert
    Avatar de skeud
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2011
    Messages
    1 091
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2011
    Messages : 1 091
    Billets dans le blog
    1
    Par défaut
    Il aurait été utile que tu post le fichier ou tout du moins le bout de code où ça plante, ainsi que l'erreur complète, avec la ligne où ça plante

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 8
    Par défaut
    ouiii mec , l'erreur est presente labas je l'ai marqué et si le fichier etait necessaire j'allais je le poster . ma question est simple sur internet je trouve que le header comme solution pour faire une redirection , et la redirection avec header ne marche pas si tu la place dans un code ( cad pas au debut du fichier )

    donc moi ce que je veux , c'est un plan B

    j'espere que j'etais plus claire là

  4. #4
    Membre Expert
    Avatar de skeud
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2011
    Messages
    1 091
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2011
    Messages : 1 091
    Billets dans le blog
    1
    Par défaut
    Je te garanti que ça fonctionne, le tout c'est de bien l'utilisé

    Perso je l'utilise avec les session sur mon site donc envoi ton zoli code et je te dis pourquoi ça va pas

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 8
    Par défaut
    Là c'est vraiment la merde lol

    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
    <?php 
        if(isset($_POST['submit']))
        {
                $login=$_POST['login'];
                $pass=$_POST['pass'];
            $sql="SELECT id,prenom,nom,count(id) as oui FROM `am` WHERE login= '".mysql_real_escape_string($login)."' and pass= '".mysql_real_escape_string(md5($pass))."'" ;
            $resultat=mysql_query($sql);
    $donnees = mysql_fetch_array($resultat);
     
            if($donnees['oui']==1)
            {   
                $_SESSION['nomhead']=$donnees['nom'];
                $_SESSION['prenomhead']=$donnees['prenom'];
               $_SESSION['id']=$donnees['id'];
                header('Location: premiere.php?id='.$donnees['id'].''); 
     
            }
            else
            {
               header('Location: index.php'); 
     
            }
        }
     
     
         ?>
    Voilà le code j'ai résolu le problème des sessions, encore un espace qui trainait, mais le problème du header il est toujours là et le nouveau message d'erreur est celui là :
    Warning: Cannot modify header information - headers already sent by

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 8
    Par défaut
    et je veux pas utiliser le JS parceque comme vous savez , s'il est desactivé , un fonctionement important de mon site sera mis en question


    merci de bien m'aider

  7. #7
    Membre Expert
    Avatar de skeud
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2011
    Messages
    1 091
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2011
    Messages : 1 091
    Billets dans le blog
    1
    Par défaut
    Ton erreur est incomplète, comme le code que tu post, envoi tout le fichier ainsi que l'erreur complète, du style :

    "headers already sent by toto on line 32 in toto.php"
    PS:Envoi pas de MP pour solutionner tes problème ça a tendance à enervé un peu ^^

  8. #8
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 8
    Par défaut
    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
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    <?php
    session_start();
    include '../connection.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>Authentifiez Vous </title>
    <link rel="stylesheet" type="text/css" href="style.css" />
    <script type="text/javascript" src="jquery.min.js"></script>
    <script type="text/javascript" src="ddaccordion.js"></script>
    <script type="text/javascript">
    ddaccordion.init({
    	headerclass: "submenuheader", //Shared CSS class name of headers group
    	contentclass: "submenu", //Shared CSS class name of contents group
    	revealtype: "click", //Reveal content when user clicks or onmouseover the header? Valid value: "click", "clickgo", or "mouseover"
    	mouseoverdelay: 200, //if revealtype="mouseover", set delay in milliseconds before header expands onMouseover
    	collapseprev: true, //Collapse previous content (so only one open at any time)? true/false 
    	defaultexpanded: [], //index of content(s) open by default [index1, index2, etc] [] denotes no content
    	onemustopen: false, //Specify whether at least one header should be open always (so never all headers closed)
    	animatedefault: false, //Should contents open by default be animated into view?
    	persiststate: true, //persist state of opened contents within browser session?
    	toggleclass: ["", ""], //Two CSS classes to be applied to the header when it's collapsed and expanded, respectively ["class1", "class2"]
    	togglehtml: ["suffix", "<img src='images/plus.gif' class='statusicon' />", "<img src='images/minus.gif' class='statusicon' />"], //Additional HTML added to the header when it's collapsed and expanded, respectively  ["position", "html1", "html2"] (see docs)
    	animatespeed: "fast", //speed of animation: integer in milliseconds (ie: 200), or keywords "fast", "normal", or "slow"
    	oninit:function(headers, expandedindices){ //custom code to run when headers have initalized
    		//do nothing
    	},
    	onopenclose:function(header, index, state, isuseractivated){ //custom code to run whenever a header is opened or closed
    		//do nothing
    	}
    })
    </script>
     
    <script type="text/javascript" src="jconfirmaction.jquery.js"></script>
    <script type="text/javascript">
     
    	$(document).ready(function() {
    		$('.ask').jConfirmAction();
    	});
     
    </script>
     
    <script language="javascript" type="text/javascript" src="niceforms.js"></script>
    <link rel="stylesheet" type="text/css" media="all" href="niceforms-default.css" />
     
    </head>
    <body>
    <div id="main_container">
     
     
     
        </div>
     
             <div class="login_form">
     
             <h3>Entrez votre Login et Mot de Passe</h3>
     
             <a href="#" class="forgot_pass">Forgot password</a> 
     
             <form action="index.php" method="post" class="niceform">
     
                    <fieldset>
                        <dl>
                            <dt><label for="email">Login:</label></dt>
                            <dd><input type="text" name="login" id="" size="54" /></dd>
                        </dl>
                        <dl>
                            <dt><label for="password">Mot De Passe:</label></dt>
                            <dd><input type="password" name="pass" id="" size="54" /></dd>
                        </dl>
     
                         <dl class="submit">
                        <input type="submit" name="submit" id="submit" value="Enter" />
                         </dl>
     
                    </fieldset>
     
             </form>
             </div>  
     
     
     
     
     
    </div>		
    </body>
    </html>
     
     
    <?php 
        if(isset($_POST['submit']))
        {
                $login=$_POST['login'];
                $pass=$_POST['pass'];
            $sql="SELECT id,prenom,nom,count(id) as oui FROM `am` WHERE login= '".mysql_real_escape_string($login)."' and pass= '".mysql_real_escape_string(md5($pass))."'" ;
            $resultat=mysql_query($sql);
    $donnees = mysql_fetch_array($resultat);
     
            if($donnees['oui']==1)
            {   
                $_SESSION['nomhead']=$donnees['nom'];
                $_SESSION['prenomhead']=$donnees['prenom'];
               $_SESSION['id']=$donnees['id'];
                header('Location: premiere.php?id='.$donnees['id'].''); 
     
     
            }
            else
            {
              header('Location: index.php'); 
     
     
     
            }
        }
     
     
         ?>
    voila tout le code

    et voilà l'erreur
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Warning: Cannot modify header information - headers already sent by (output started at mon_site/am/index.php:12) in mon_site/am/index.php on line 113

  9. #9
    Membre Expert
    Avatar de skeud
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2011
    Messages
    1 091
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2011
    Messages : 1 091
    Billets dans le blog
    1
    Par défaut
    Avant session ou header tu NE DOIS PAS avoir de code html c'est pour sa que tu as une erreur.

    Un principe de base en web: séparer le code html du code php, fais d'abord tout ton traitement en php puis l'affichage en html+php si tu veux garder une seule page

    Sinon utilise un moteur de template .

Discussions similaires

  1. aide sur les fonctions (débutant)
    Par tregont dans le forum Débuter
    Réponses: 4
    Dernier message: 22/01/2006, 22h03
  2. Où trouver l'aide sur les fonctions de l'API Windows ?
    Par psidonio dans le forum API, COM et SDKs
    Réponses: 3
    Dernier message: 08/11/2005, 15h28
  3. [CR]Aide sur les fonction de date et plage de date.
    Par Job dans le forum SAP Crystal Reports
    Réponses: 1
    Dernier message: 08/11/2005, 10h19
  4. Besoin d'aide sur une fonction
    Par PrinceMaster77 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 30/08/2005, 18h40
  5. Besoin d'aide sur les fonction d'interbase
    Par BOUBOU81 dans le forum InterBase
    Réponses: 2
    Dernier message: 05/11/2004, 11h00

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