Mettre ce code en php ?

Résolu
Bonjour,

comme mettre ce code en php

echo '<script>alert("Bonjour, et merci pour votre message");</script>';




--
merci de ne pas oublier de mettre résolu lorsque cela est le cas ou de dire résolu quand vous ne pouvez pas !

+1 permet d'aider les autres !
----------------------------
[Aimer ce n'est pas renoncer à sa liberté, c'est lui donner un sens.]

11 réponses

Résumé de la discussion

La problématique porte sur l'utilisation de PHP pour echo une balise script et sur l'envoi d'un e-mail via mail() à partir d'un formulaire, dans un contexte Windows XP et Safari. Plusieurs échanges soulignent que le souci dépasse l'unique code echo et tient aux connaissances PHP de l'auteur, tout en évoquant des aspects techniques liés à l'envoi d'e-mails et aux formats multipart. Des réponses techniques détaillent des essais tels que l'affichage dynamique de scripts, la gestion des en-têtes et du contenu HTML dans les mails, ou encore la redirection après l'envoi. Par ailleurs, l'échange montre que certains participants s'appuient sur des liens vers d'autres contenus similaires, éclairant les pratiques autour de l'envoi d'e-mails via PHP et du mélange PHP/JavaScript.

Bobot (l’IA à votre service)
  1. Le problème de Danoul ne vient pas de son code mais bien de lui même et de ces connaissances en PHP. J'ai passé 150 messages, 3 topics a essayé de régler le même problème que tu essayes toi-même de régler...

    J'ai compris assez (trop ?) tard que ces connaissances en PHP avoisine le 0.
    Et tant soit-il en plus qu'il ne souhaite visiblement pas apprendre, mais qu'on fasse le boulot à sa place.

    Pour vous en convaincre :
    https://forums.commentcamarche.net/forum/affich-22358658-dans-le-wamps
    https://forums.commentcamarche.net/forum/affich-22393078-smtp-et-php
    https://forums.commentcamarche.net/forum/affich-22403217-mettre-ce-code-en-php
    https://forums.commentcamarche.net/forum/affich-22339455-php-pour-l-envoie-vers-une-boite-mail

    En passant, ces quatre topics qui tous parle de l'envoi d'un e-mail remplis avec les données d'un formulaire.... (pas trop dur normalement pour quelqu'un qui comprend le php...)

    Ceci sera mon dernier message sur l'un des topics de Danoul, ne vous inquiétez pas...
    3
    1. C' est donc toi qui a fait son site xD
      0
    2. Non, parce que justement moi j'ai refusé de lui donner du code correct. C'était à lui de le trouver, en le mettant sur la bonne voie.

      Et je n'ai pas dit qu'il ne précisait pas le HTML mais le PHP. HTML il semble avoir quelques maigres bases, suffisantes en tout cas pour créer l'interface de son site...
      0
    3. le problème sont un peu différent ,mais dans le mm domaine
      0
    4. Pour le même site, le même formulaire...

      De toute façon, les gens font ce qu'ils veulent, je raconte juste mon expérience. Moi j'avais pas compris encore au bout de 50 messages que t'était nul en PHP, donc je peux comprendre leur point de vue.

      Après ça, je clore la discussion, ce sera mon dernier message, je ne répondrais plus., je vais aider d'autres personne qui en ont vraiment besoin.
      0
    5. de toute façon ,c'est toi qui comprend rien ,crazy ,voie bien ou j'en suis ,et si tu veut pas aider les gens ,ne reste pas la
      0
  2. heu... c'est déjà du PHP...
    0
    1. je penser la mm sauf qu'on ma dit le contraire donc j'vais douter.

      j'aimerai le rajouter a :

      
      <?php
      $mail = 'adressse@mail.com'; // Déclaration de l'adresse de destination.
      if (!preg_match("#^[a-z0-9._-]+@(hotmail|live|msn).[a-z]{2,4}$#", $mail)) // On filtre les serveurs qui rencontrent des bogues.
      {
      	$passage_ligne = "\r\n";
      }
      else
      {
      	$passage_ligne = "\n";
      }
      //=====Déclaration des messages au format texte et au format HTML.
      $message_txt = "Salut à tous, voici un e-mail envoyé par un script PHP.";
      $message_html = "<html><head></head><body><b>Salut à tous</b>, voici un e-mail envoyé par un <i>script PHP</i>.</body></html>";
      //==========
       
      //=====Création de la boundary
      $boundary = "-----=".md5(rand());
      //==========
       
      //=====Définition du sujet.
      $sujet = "Hey mon ami !";
      //=========
       
      //=====Création du header de l'e-mail.
      $header = "From: \"Me\"<adressse@mail.com>".$passage_ligne;
      $header.= "Reply-to: \"Me\" <adressse@mail.com>".$passage_ligne;
      $header.= "MIME-Version: 1.0".$passage_ligne;
      $header.= "Content-Type: multipart/alternative;".$passage_ligne." boundary=\"$boundary\"".$passage_ligne;
      //==========
       
      //=====Création du message.
      $message = $passage_ligne.$boundary.$passage_ligne;
      //=====Ajout du message au format texte.
      $message.= "Content-Type: text/plain; charset=\"ISO-8859-1\"".$passage_ligne;
      $message.= "Content-Transfer-Encoding: 8bit".$passage_ligne;
      $message.= $passage_ligne.$message_txt.$passage_ligne;
      //==========
      $message.= $passage_ligne."--".$boundary.$passage_ligne;
      //=====Ajout du message au format HTML
      $message.= "Content-Type: text/html; charset=\"ISO-8859-1\"".$passage_ligne;
      $message.= "Content-Transfer-Encoding: 8bit".$passage_ligne;
      $message.= $passage_ligne.$message_html.$passage_ligne;
      //==========
      $message.= $passage_ligne."--".$boundary."--".$passage_ligne;
      $message.= $passage_ligne."--".$boundary."--".$passage_ligne;
      //==========
       
      //=====Envoi de l'e-mail.
      mail($mail,$sujet,$message,$header);
      //==========
      ?>


      ou doit-je le mettre ?
      0
    2. ben tout à la fin je pense, juste avant la fermeture de balise ;)

      mais à priori, même si tu fout ça au milieu du code (en debut de ligne quand même), ça marche ;)
      0
  3. oui je l'avez a la fin et j'ai tester un peu partout ,mais en faite ce code est censé

    ouvrir une alert j.s !

    sinon après le teste j'ai

    Not Found

    The requested URL /envoi.php was not found on this server.

    Additionally, a 404 Not Found error was encountered while trying to use an ErrorDocument to handle the request.


    SACHANT que ce long code est dans le fichier mail.php

    y a un truc qui cloche la ?
    merci de ne pas oublier de mettre résolu lorsque cela est le cas ou de dire résolu quand vous ne pouvez pas !

    +1 permet d'aider les autres !
    ----------------------------
    [Aimer ce n'est pas renoncer à sa liberté, c'est lui donner un sens.]
    0
    1. Ton code marche bien sur mon serveur
      J' ai juste modifié la première ligne pour transmettre l' email du destinataire en GET

      Si tu veux tester le code remplace l' email en bout d' url
      http://911-ddl.com/test.php?mail=adresse@mail.fr
      <?php 
      $mail=$_GET['mail']; // Déclaration de l'adresse de destination.
      if (!preg_match("#^[a-z0-9._-]+@(hotmail|live|msn).[a-z]{2,4}$#", $mail)) // On filtre les serveurs qui rencontrent des bogues.
      {
      	$passage_ligne = "\r\n";
      }
      else
      {
      	$passage_ligne = "\n";
      }
      //=====Déclaration des messages au format texte et au format HTML.
      $message_txt = "Salut à tous, voici un e-mail envoyé par un script PHP.";
      $message_html = "<html><head></head><body><b>Salut à tous</b>, voici un e-mail envoyé par un <i>script PHP</i>.</body></html>";
      //==========
       
      //=====Création de la boundary
      $boundary = "-----=".md5(rand());
      //==========
       
      //=====Définition du sujet.
      $sujet = "Hey mon ami !";
      //=========
       
      //=====Création du header de l'e-mail.
      $header = "From: \"Me\"<adressse@mail.com>".$passage_ligne;
      $header.= "Reply-to: \"Me\" <adressse@mail.com>".$passage_ligne;
      $header.= "MIME-Version: 1.0".$passage_ligne;
      $header.= "Content-Type: multipart/alternative;".$passage_ligne." boundary=\"$boundary\"".$passage_ligne;
      //==========
       
      //=====Création du message.
      $message = $passage_ligne.$boundary.$passage_ligne;
      //=====Ajout du message au format texte.
      $message.= "Content-Type: text/plain; charset=\"ISO-8859-1\"".$passage_ligne;
      $message.= "Content-Transfer-Encoding: 8bit".$passage_ligne;
      $message.= $passage_ligne.$message_txt.$passage_ligne;
      //==========
      $message.= $passage_ligne."--".$boundary.$passage_ligne;
      //=====Ajout du message au format HTML
      $message.= "Content-Type: text/html; charset=\"ISO-8859-1\"".$passage_ligne;
      $message.= "Content-Transfer-Encoding: 8bit".$passage_ligne;
      $message.= $passage_ligne.$message_html.$passage_ligne;
      //==========
      $message.= $passage_ligne."--".$boundary."--".$passage_ligne;
      $message.= $passage_ligne."--".$boundary."--".$passage_ligne;
      //==========
       
      //=====Envoi de l'e-mail.
      mail($mail,$sujet,$message,$header);
      echo '<script>alert("Bonjour, et merci pour votre message");</script>'; 
      //==========
      ?>
      0
      1. il marche ,mais je remplace

        <?php
        $mail=$_GET['MON ARESSE MAIL ']; // Déclaration de l'adresse de destination.
        if (!preg_match("#^[a-z0-9._-]+@(hotmail|live|msn).[a-z]{2,4}$#", $mail)) // On filtre les serveurs qui rencontrent des bogues.
        {
        	$passage_ligne = "\r\n";
        }
        else
        {
        	$passage_ligne = "\n";
        }
        //=====Déclaration des messages au format texte et au format HTML.
        $message_txt = "Salut à tous, voici un e-mail envoyé par un script PHP.";
        $message_html = "<html><head></head><body><b>Salut à tous</b>, voici un e-mail envoyé par un <i>script PHP</i>.</body></html>";
        //==========
         
        //=====Création de la boundary
        $boundary = "-----=".md5(rand());
        //==========
         
        //=====Définition du sujet.
        $sujet = "Hey mon ami !";
        //=========
         
        //=====Création du header de l'e-mail.
        $header = "From: \"Me\"<adressse@mail.com>".$passage_ligne;
        $header.= "Reply-to: \"Me\" <adressse@mail.com>".$passage_ligne;
        $header.= "MIME-Version: 1.0".$passage_ligne;
        $header.= "Content-Type: multipart/alternative;".$passage_ligne." boundary=\"$boundary\"".$passage_ligne;
        //==========
         
        //=====Création du message.
        $message = $passage_ligne.$boundary.$passage_ligne;
        //=====Ajout du message au format texte.
        $message.= "Content-Type: text/plain; charset=\"ISO-8859-1\"".$passage_ligne;
        $message.= "Content-Transfer-Encoding: 8bit".$passage_ligne;
        $message.= $passage_ligne.$message_txt.$passage_ligne;
        //==========
        $message.= $passage_ligne."--".$boundary.$passage_ligne;
        //=====Ajout du message au format HTML
        $message.= "Content-Type: text/html; charset=\"ISO-8859-1\"".$passage_ligne;
        $message.= "Content-Transfer-Encoding: 8bit".$passage_ligne;
        $message.= $passage_ligne.$message_html.$passage_ligne;
        //==========
        $message.= $passage_ligne."--".$boundary."--".$passage_ligne;
        $message.= $passage_ligne."--".$boundary."--".$passage_ligne;
        //==========
         
        //=====Envoi de l'e-mail.
        mail($mail,$sujet,$message,$header);
        echo '<script>alert("Bonjour, et merci pour votre message");</script>'; 
        //==========
        ?>


        EN GRAS c'est ça que je doit mettre ?
        0
    2. Pour faire simple je viens de mettre un formulaire au debut de ton code
      où l' utilisateur renseigne son email.
      <?php 
      $mail=$_GET['mail']; // Déclaration de l'adresse de destination.
      echo '
      <form action="#" method="GET">
      <input type="text" name="mail" value="Votre Adresse Email" onclick="this.value=\'\'">
      <input type="submit" value="Envoyer">
      </form>
      ';
      if(isset($mail)){
      if (!preg_match("#^[a-z0-9._-]+@(hotmail|live|msn).[a-z]{2,4}$#", $mail)) // On filtre les serveurs qui rencontrent des bogues.
      ... La suite de ton code..
      }//accolade à ajouter puisque j' en ai ouvert une au début code en gras
      

      pour tester
      http://911-ddl.com/test.php
      0
      1. oui ,mais c'est pas ce que je veut .

        moi c'est : c'est avoir le message d'alert ! et que le tout est envoyer sur un boite mail
        0
      2. Okeii donc ton premier code est suffisant et fonctionnel
        il reste à toi de renseigner cette ligne
        $mail = 'adressse@mail.com'; // Déclaration de l'adresse de destination.
        0
      3. oui ce que j'avais fait !

        et
        .$_POST['nom'].$_POST['prenom'] 
        c'est bien du php ?
        0
      4. oui, tout ton code est en PHP...

        par contre, si tu prend les données en POST, il faut qu'une page les envoit...

        regarde ici, tout est expliqué :)
        0
      5. enfaite ce que je veut c'est la totalité de mon fomulaire le recevoir par mail ,une fois l'envoie effectuer
        d'ou les :

        .$_POST['nom'].$_POST['prenom'].$_POST['adresse'].$_POST['pays'].$_POST['ville_province'].$_POST['departement_francais']
        .$_POST['code_postal'].$_POST['telephone'].$_POST['e_mail'].$_POST['site_web'].$_POST['comm'];
        
        0
    3. il faut savoir d' où il sort envoi.php puisque ton formulaire envoit les données sur version.php
      0
      1. c'est ce que j'essaye de comprendre :)
        0
    4. Peut être une piste vers la fin du code
       <input type= "submit" value="envoyer" id="submit" onClick="envoie(this.form)"/>  
      

      onClick="envoie(this.form)
      regarde dans ton code Javascript à quoi correspond cette fonction.
      0
      1. ce que je c'est ,c'est qu'il ce trouve dans

        index.html
        Line 960: <input type= "submit" value="envoyer" id="submit" onClick="envoie(this.form)"/>
        version.php
        Line 754: <input type= "submit" value="Envoyer" id="submit" onClick="envoie(this.form)"/>

        même si je recherche que onClick les fichier ce trouve dans html et php
        0
      2. Ouaiis mais je viens de regarder sur le site de ton profil,
        la fonction est déclarée nulle part, tu peux l' enlever
        juste un petit détail aussi pense à fermer la balise <head>
        juste avant la balise <body> tu mets </head>
        0
      3. la fonction est déclarée nulle part, tu peux l' enlever

        dans quel fichier ?

        il aussi pense à fermer la balise <head>
        juste avant la balise <body> tu mets </head>


        dans quel fichier ?
        0
      4. Juste dans ton formulaire
        onClick="envoie(this.form)"
        En fait quand ca dit quand on clique sur le bouton, ca doit exécuter la fonction envoie()
        mais comme elle est déclarée nulle part tu peux l' enlever
        et en fait les données du formulaires sont bien envoyées à la page mail.php et l' erreur est dans la page mail.php, tu peux nous montrer le code ?
        0
      5. dans version.php (formulaire) ,j'ai donc enlever
        <input type= "submit" value="envoyer" id="submit" onClick="envoie(this.form)"/>


        le code de mail.php est :

        
        <?php 
        $mail=adresse mail; // Déclaration de l'adresse de destination. 
        if (!preg_match("#^[a-z0-9._-]+@(hotmail|live|msn).[a-z]{2,4}$#", $mail)) // On filtre les serveurs qui rencontrent des bogues. 
        { 
         $passage_ligne = "\r\n"; 
        } 
        else 
        { 
         $passage_ligne = "\n"; 
        } 
        
        .$_POST['nom'].$_POST['prenom'].$_POST['comm'].$_POST['adresse'].$_POST['pays']; 
        .$_POST['ville_province'].$_POST['departement_francais'].$_POST['code_postal'] 
        .$_POST['telephone'].$_POST['e_mail'].$_POST['site_web']; 
        
        //=====Déclaration des messages au format texte et au format HTML. 
        $message_txt = "Salut à tous, voici un e-mail envoyé par un script PHP."; 
        $message_html = "<html><head></head><body><b>Salut à tous</b>, voici un e-mail envoyé par un <i>script PHP</i>.</body></html>"; 
        //========== 
          
        //=====Création de la boundary 
        $boundary = "-----=".md5(rand()); 
        //========== 
          
        //=====Définition du sujet. 
        $sujet = "Hey mon ami !"; 
        //========= 
          
        //=====Création du header de l'e-mail. 
        $header = "From: \"Me\"<adresse mail>".$passage_ligne; 
        $header.= "Reply-to: \"Me\" <adresse mail>".$passage_ligne; 
        $header.= "MIME-Version: 1.0".$passage_ligne; 
        $header.= "Content-Type: multipart/alternative;".$passage_ligne." boundary=\"$boundary\"".$passage_ligne; 
        //========== 
          
        //=====Création du message. 
        $message = $passage_ligne.$boundary.$passage_ligne; 
        //=====Ajout du message au format texte. 
        $message.= "Content-Type: text/plain; charset=\"ISO-8859-1\"".$passage_ligne; 
        $message.= "Content-Transfer-Encoding: 8bit".$passage_ligne; 
        $message.= $passage_ligne.$message_txt.$passage_ligne; 
        //========== 
        $message.= $passage_ligne."--".$boundary.$passage_ligne; 
        //=====Ajout du message au format HTML 
        $message.= "Content-Type: text/html; charset=\"ISO-8859-1\"".$passage_ligne; 
        $message.= "Content-Transfer-Encoding: 8bit".$passage_ligne; 
        $message.= $passage_ligne.$message_html.$passage_ligne; 
        //========== 
        $message.= $passage_ligne."--".$boundary."--".$passage_ligne; 
        $message.= $passage_ligne."--".$boundary."--".$passage_ligne; 
        //========== 
          
        //=====Envoi de l'e-mail. 
        mail($mail,$sujet,$message,$header); 
        //========== 
        
        echo 'Date: '.date('r'); 
        
        echo '';  
        
        ?> 
        
        0
    5. $mail=Clubsalon555@gmail.com; // Déclaration de l'adresse de destination.
      à mettre entre guillemet.
      $mail="Clubsalon555@gmail.com"; // Déclaration de l'adresse de destination.
      0
      1. ah oui j'avais mm pas vue :/
        0
      2. alors après avoir mis les guillemet. et avoir envoyer les fichier en ligne
        j'ai fait un teste et un fois appuyer sur envoyer il me ramène vers une page ,celle du formulaire!

        peut elle me ramener vers l'accueil et faire en sorte que le
        echo 'Date: '.date('r');
        
        echo '<script> alert("Bonjour, et merci pour votre message"); </script>';  
        0
      3. Ouaiis tu mets juste
        echo '<script>alert("Bonjour, et merci pour votre message");window.location.replace("http://clubsaon.net")</script>';
        0
      4. est enfin ça :

        echo 'Date: '.date('r');
        ça devrait afficher la date ,mais je c'est pas si c'est utile ?
        0
      5. la date ca afficherait
        Date: Sun, 19 Jun 2011 17:38:58 +0200
        ce n' est pas important pour l' utilisateur
        0
    6. Dans ta page index.php le formulaire est toujours envoyé à version.php
      met mail.php
      dans la derniere ligne de mail.php
      window.location.replace("http://clubsaon.net")</script>';
      il manque le L à salon xD
      0
      1. index.php ,je ne l'est plus ,il s'appeler version.php !
        je comprend pas ta réponse ,sinon le L c'est fait Xp
        0
      2. Bah la page ou est affiché le formulaire
        0
      3. ok,c'était version.php ,je la renomme comment
        0
      4. et bien si tu renomme ton fichier "version.php", en "index.php", le script ne peut fonctionner, car il va chercher un fichier qu'il ne trouvera pas car il aura été renommé .
        0
      5. En fait, quand tu es sur la page d' acceuil de ton site, il y a déjà le formulaire "Nous contacter"
        http://clubsalon.net/
        C' est ce formulaire là qui renvoit sur la page version.php
        0
    7. Regarde sur mail.php ligne 12 il y a une petite erreur de syntaxe
      0
      1. oui j'ai vue que tu l'avez taper en haut ,je l'est corriger , j'ai enlever ;
        0
      2. Renvoi mail.php sur ton serveur je vois toujours
        Parse error: syntax error, unexpected '.' in /home/clubs973/public_html/mail.php on line 12
        0
      3. sayé !
        0
      4. j'ai enlever le ";" et il me mette erreur
        0
      5. Fait voir la ligne
        0
    8. Donc tu dois les récupérer et les structurer un peu
      comme ca
      $nom=$_POST['nom'];
      $prenom=$_POST['prenom'];
      $adresse=$_POST['adresse'];
      $pays=$_POST['pays'];
      $comm=$_POST['comm'];

      Ensuite
      tu remplaces la ligne
      $message_html = "<html><head></head><body><b>Salut à tous</b>, voici un e-mail envoyé par un <i>script PHP</i>.</body></html>";
      

      par

      $message_html="
      Nom:$nom<br />
      Prenom:$prenom<br />
      Adresse:$adresse<br />
      Pays:$pays<br />
      Commentaire:$comm<br />";
      0
      1. sayé ça donne :

        $nom=$_POST['nom']; 
        $prenom=$_POST['prenom']; 
        $adresse=$_POST['adresse']; 
        $pays=$_POST['pays']; 
        $comm=$_POST['comm']; 
        $ville=$_POST['ville_province'];
        $departement_français=$_POST['departement_francais'];
        $code_postal=$_POST['code_postal'];
        $telephone=$_POST['telephone'];
        $e_mail=$_POST['e_mail'];
        $site_web=$_POST['site_web'];
        
        //=====Déclaration des messages au format texte et au format HTML.
        $message_txt = "Salut à tous, voici un e-mail envoyé par un script PHP.";
        $message_html=" 
        Nom:$nom <br /> 
        Prenom:$prenom <br /> 
        Adresse:$adresse <br /> 
        Pays:$pays <br /> 
        Commentaire:$comm <br />
        ville_province:$ville_province <br/>
        departement_francais:$departement_francais <br/>
        code_postal:$code_postal <br/>
        telephone:$telephone <br/>
        e_mail:$e_mail <br/>
        site_web:$site_web <br/>";
        0
      2. yesssssssssssssssssssssssssssssssssssssssssssssssssssssssssss

        SA FONCTIONNE !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

        MERCI MERCI MERCI MERCI

        j'ai énormément de chance d'être tomber sur toi !!!!!!!!!!!!!!!!!!!!!!
        0