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 :

Warning session start


Sujet :

Langage PHP

  1. #1
    Membre du Club Avatar de sabrimi
    Homme Profil pro
    Retraité
    Inscrit en
    Février 2012
    Messages
    170
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2012
    Messages : 170
    Points : 62
    Points
    62
    Par défaut Warning session start
    Bonjour à tous,

    J'ai voulu modifier un peu parce que les messages n'étaient pas envoyés à l'expéditeur malgré qu'il y avait d'écrit "Votre message a bien été envoyé" !

    Ça fait déjà pas mal de mois que je n'ai plus mis les pieds dans le Html et Php, et j'avoue que je suis un peu perdu.

    Pourriez-vous m'aider pour ne plus avoir cette erreur ?

    Au passage, je suis chez Free, et comme je sais qu'il y a bon nombre de problèmes avec eux, je me suis dit que le moyen le plus simple et pour ne pas être embêté serait de rediriger la page de contact vers le serveur de messagerie du visiteur, mais là, je ne sais pas comment on fait !

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Warning:  session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at /mnt/154/sdb/9/3/qi98/contact2/contact.php:1) in /mnt/154/sdb/9/3/qi98/contact2/contact.php on line 16
    
    Warning:  session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at /mnt/154/sdb/9/3/qi98/contact2/contact.php:1) in /mnt/154/sdb/9/3/qi98/contact2/contact.php on line 16
    
    Warning:  Cannot modify header information - headers already sent  by (output started at /mnt/154/sdb/9/3/qi98/contact2/contact.php:1) in /mnt/154/sdb/9/3/qi98/contact2/contact.php on line 79
    Ligne 16 :
    Ligne 79 :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    header("Location:merci.html");

    Avec Notepad++, j'ai encodé en UFT-8 sans Bom, comme je l'ai vu ici, mais bien que je n'ai plus ces messages d'erreur, c'est marqué maintenant "Envoi du formulaire impossible" ?
    Alors, d'où ça pourrait venir ?

    Merci d'avance de votre aide.
    Cordialement.
    Sabrimi

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Ca serait bien de nous montrer le code qui pose problème plutôt que de nous parler du problème de session que tu as déjà résolu.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre du Club Avatar de sabrimi
    Homme Profil pro
    Retraité
    Inscrit en
    Février 2012
    Messages
    170
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2012
    Messages : 170
    Points : 62
    Points
    62
    Par défaut
    Citation Envoyé par sabotage Voir le message
    Ca serait bien de nous montrer le code qui pose problème plutôt que de nous parler du problème de session que tu as déjà résolu.
    Bonjour,
    J'ai mis résolu parce que j'ai vu ici qu'il fallait encoder UFT8 sans Bom avec Notepad++, ce que j'aie fait, et je n'avais plus de msg d'erreur sur la session-start, mais pas contre, lorsque je voulais envoyer un courrier, j'avais "Votre courrier n'a pas été envoyé".

    Voyant tout ça, j'ai fait, comme dans ma 1ère idée, mis le code permettant d'envoyer un courrier par le serveur de messagerie de l'utilisateur avec "mailto".
    Ca m'arrange parce qu'avec Free, on sait jamais, et ensuite, le formulaire de contact datait depuis 2010, et comme j'étais découragé de le refaire, j'ai mis le plus simple.

    Mais, si ça peut m'aider à savoir le pourquoi du comment un message ne peut être envoyé, je remettrais volontiers le code.

    Merci d'avance et bonne journée.

    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
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    168
    169
    170
    171
    172
    173
    174
    175
    176
    <?php
     
    // On vérifie si la fonction ini_set() a été désactivée...
    $desactive = ini_get('disable_functions');
    if (preg_match("/ini_set/i", "$desactive") == 0) {
    // Si elle n'est pas désactivée, on définit ini_set de manière à n'afficher que les erreurs...
    ini_set("error_reporting" , "E_ALL & ~E_NOTICE");
    }
     
    // Vérifier que le formulaire a été envoyé...
    if (isset($_POST['envoi'])) {
     
     
    //On commence une session pour enregistrer les variables du formulaire...
     
    session_start();
     
    $_SESSION['champ1'] = $_POST['champ1'];
    $_SESSION['champ2'] = $_POST['champ2'];
    $_SESSION['champ3'] = $_POST['champ3'];
    $_SESSION['zone_email1'] = $_POST['zone_email1'];
     
    //Enregistrement des zones de texte...
    $_SESSION['zone_texte1'] = $_POST['zone_texte1'];
     
    // Définir l\'icone apparaissant en cas d\'erreur...
     
     
    // Définir sur 0 pour afficher un petit x de couleur rouge.
    // Définir sur 1 pour afficher l\'image d\'une croix rouge telle que celle utilisée dans l\'assistant
    // Si vous utilisez l\'option 1, l\'image de la croix rouge \'icone.gif\' doit se trouver dans le répertoire \'images\',
    // ce dernier devant se trouver au même niveau que votre formulaire...
    $flag_icone = 0;
     
    // On vérifie si $flag_icone est défini sur 0 ou 1...
    if ($flag_icone == 0) {
    $icone = "<b><font size=\"3\" face=\"Arial, Verdana, Helvetica, sans-serif\" color=\"#CC0000\">x</font></b>";
    } else {
    $icone = "<img src=\"images/icone.gif\"";
    }
     
    // Définir l'indicateur d'erreur sur zéro...
    $flag_erreur = 0;
    // N'envoyer le formulaire que s'il n'y a pas d'erreurs...
    if ($flag_erreur == 0) {                    
     
    // Addresse de réception du formulaire
    $email_dest = "qi98@free.fr";
    $sujet = "Contact depuis le site QI98";
    $entetes ="MIME-Version: 1.0 \n";
        $entetes .="From: Teams QI98<qi98@free.fr>\n";
        $entetes .="Return-Path: Teams QI98<qi98@free.fr>\n";
        $entetes .="Reply-To: Teams QI98<qi98@free.fr>\n";
        $entetes .="Content-Type: text/html; charset=iso-8859-1 \n";
        $partie_entete = "<html>\n<head>\n<title>Formulaire</title>\n<meta http-equiv=Content-Type content=text/html; charset=iso-8859-1>\n</head>\n<body bgcolor=#FFFFFF>\n";
     
     
    //Partie HTML de l'e-mail...
    $partie_champs_texte .= "<font face=\"Verdana\" size=\"2\" color=\"#003366\">Votre ville : = " . $_SESSION['champ1'] . "</font><br>\n";
    $partie_champs_texte .= "<font face=\"Verdana\" size=\"2\" color=\"#003366\">Votre pays : = " . $_SESSION['champ2'] . "</font><br>\n";
    $partie_champs_texte .= "<font face=\"Verdana\" size=\"2\" color=\"#003366\">Votre sujet * : = " . $_SESSION['champ3'] . "</font><br>\n";
    $partie_zone_email .= "<font face=\"Verdana\" size=\"2\" color=\"#003366\">Votre e-mail * :  = " . $_SESSION['zone_email1'] . "</font><br>\n";
    $partie_zone_texte .= "<font face=\"Verdana\" size=\"2\" color=\"#003366\">Votre message * : = " . $_SESSION['zone_texte1'] . "</font><br>\n";
     
     
                        // Fin du message HTML
                        $fin = "</body></html>\n\n";
     
                        $sortie = $partie_entete . $partie_champs_texte . $partie_zone_email . $partie_listes . $partie_boutons . $partie_cases . $partie_zone_texte . $fin;
     
     
                        // Send the e-mail
                        if (@!mail($email_dest,$sujet,$sortie,$entetes)) {
                        echo("Envoi du formulaire impossible");
                        exit();
                        } else {
     
                        // Rediriger vers la page de remerciement
                        header("Location:merci.html");
                        exit();
                      } // Fin else
                    } // Fin du if ($flag_erreur == 0) {
                } // Fin de if POST
    ?>
    <!DOCTYPE html>
     
    (...)
     
    <form name="mail_form" method="post" action="<?=$_SERVER['PHP_SELF']?>" onSubmit="return verifSelection()">
      <div align="center"><font size="2" face="Verdana, Arial, Helvetica, sans-serif, Tahoma"><strong>Formulaire
        de contact</strong></font></div><br><table align="center" width="566" border="0" cellspacing="0" cellpadding="0">
          <tr>
            <td height="16"><div align="center">
      <font color="#CC0000" size="2" face="Verdana, Arial, Helvetica, sans-serif, Tahoma"><strong><?php
    if ($erreur_champ1) {
          echo(stripslashes($erreur_champ1));
          } else {
    if ($erreur_champ2) {
          echo(stripslashes($erreur_champ2));
          } else {
    if ($erreur_champ3) {
          echo(stripslashes($erreur_champ3));
          } else {
    if ($erreur_email1) {
          echo(stripslashes($erreur_email1));
          } else {
    if ($erreur_texte1) {
          echo(stripslashes($erreur_texte1));
          } else {
    } // Fin du else...
    } // Fin du else...
    } // Fin du else...
    } // Fin du else...
    } // Fin du else...
    ?>
        </strong></font>
        </div></td>
          </tr>
        </table>
    <p align="center"></p><table width="566" border="0" align="center"><tr>
          <td width="140"><div align="right"><font face="Verdana" size="2">Votre ville :</font></div></td>
          <td align="center" valign="middle" width="30">
          <?php
          if ($erreur_champ1) {
          echo($icone);
          }
          ?>
          </td>
          <td><input name="champ1" type="text" value="<?=stripslashes($_SESSION['champ1']);?>"></td>
        </tr></table><table width="566" border="0" align="center"><tr>
          <td width="140"><div align="right"><font face="Verdana" size="2">Votre pays :</font></div></td>
          <td align="center" valign="middle" width="30">
          <?php
          if ($erreur_champ2) {
          echo($icone);
          }
          ?>
          </td>
          <td><input name="champ2" type="text" value="<?=stripslashes($_SESSION['champ2']);?>"></td>
        </tr></table><table width="566" border="0" align="center"><tr>
          <td width="140"><div align="right"><font face="Verdana" size="2">Votre sujet * :</font></div></td>
          <td align="center" valign="middle" width="30">
          <?php
          if ($erreur_champ3) {
          echo($icone);
          }
          ?>
          </td>
          <td><input name="champ3" type="text" value="<?=stripslashes($_SESSION['champ3']);?>"></td>
        </tr></table><table width="566" border="0" align="center"><tr>
          <td width="140"><div align="right"><font face="Verdana" size="2">Votre e-mail * : </font></div></td>
          <td width="30" align="center" valign="middle">
          <?php
          if ($erreur_email1) {
          echo($icone);
          }
          ?>
          </td>
          <td><input name="zone_email1" type="text" value="<?=stripslashes($_SESSION['zone_email1']);?>"></td>
        </tr></table><table width="566" border="0" align="center"><tr>
          <td width="140" valign="top"><div align="right"><font face="Verdana" size="2">Votre message * :</font></div></td>
          <td width="30" align="center" valign="top">
          <?php
          if ($erreur_texte1) {
          echo($icone);
          }
          ?>
          </td>
          <td><textarea name="zone_texte1" cols="45" rows="10"><?=stripslashes($_SESSION['zone_texte1']);?></textarea></td>
        </tr></table><table width="566" border="0" align="center"><tr>
    <td valign="top"><div align="center"> 
              <input type="reset" name="Reset" value=" Effacer ">
     
              <input type="submit" name="envoi" value="Envoyer">
            </div></td></tr></table><div align="center"><input name="nbre_fichiers" type="hidden" id="nbre_fichiers" value=""></div></form>          
              </article>
    Cordialement.
    Sabrimi

  4. #4
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Enlève le @ devant la fonction mail() déjà sinon tu n'as pas les erreurs.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  5. #5
    Membre du Club Avatar de sabrimi
    Homme Profil pro
    Retraité
    Inscrit en
    Février 2012
    Messages
    170
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2012
    Messages : 170
    Points : 62
    Points
    62
    Par défaut
    Merci Sabotage, mais si j'enlève ça, il y aura une erreur en plus non ?
    Cordialement.
    Sabrimi

Discussions similaires

  1. Réponses: 9
    Dernier message: 14/01/2016, 23h20
  2. Réponses: 9
    Dernier message: 14/10/2012, 14h35
  3. [MySQL] Warning: session_start() [function.session-start]: Cannot send session cache limiter
    Par mademoizel dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 17/10/2010, 11h26
  4. Réponses: 1
    Dernier message: 25/07/2010, 23h00
  5. Réponses: 2
    Dernier message: 03/09/2008, 22h25

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