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 :

[PHP-JS] Variable Javascript en php dans une m�me page


Sujet :

Langage PHP

Vue hybride

Message pr�c�dent Message pr�c�dent   Message suivant Message suivant
  1. #1
    Mut
    Mut est d�connect�
    Membre �prouv� Avatar de Mut
    Homme Profil pro
    Inscrit en
    Mars 2003
    Messages
    931
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 42
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations forums :
    Inscription : Mars 2003
    Messages : 931
    Par d�faut [PHP-JS] Variable Javascript en php dans une m�me page
    Bonjour, voil� j'ai une page (Mail.php) o� j'affiche une textarea avec un bouton. Lorsque je clique sur le bouton, je souhaiterais que ce qui est dans la 'textarea' soit sauvegard� dans une variable php afin de l'utiliser dans une fonction mail().

    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
     
     
    <?php
    session_start();
    $User = $_SESSION['User_Name'];
     
    // Fonction Mail
    function EnvoiMail(){
         $headers ='From: '.$User.'<'.$User.'@test.fr>'."\n"; 
         $headers .='Reply-To: [email protected]'."\n"; 
         $headers .='Content-Type: text/html; charset="iso-8859-1"'."\n"; 
         $headers .='Content-Transfer-Encoding: 8bit'; 
         $message ='<html><head><title>Demande de catalogue</title></head><body> variable de la TEXTAREA</body></html>'; 
     
         if(mail('[email protected]', 'Demande de Catalogue', $message, $headers)) 
         { 
              echo 'Le message a été envoyé'; 
         } 
         else 
         { 
              echo 'Le message n\'a pu être envoyé, contacter votre administrateur réseau'; 
         }
    }
    ?>
     
    <!DOCTYPE HTML PUBLIC '-//W3C//DTD HTML 4.0 Transitional//EN'>
    <html>
    <head>
     
    </head>
    <body> 
    <div align='left'> Veuillez saisir le nom du fournisseur-fabricant que vous souhaitez :</div><br /> 
     
    <textarea name='Message' id='message' rows='5' cols='30' ></textarea><br />
    <br />
    <input type='button' name='envoyer' id='send' value='Demander' align='center' onclick='document.location.href=Mail.php'>
     
    </body>
     
    </html>
    Cela doit �tre possible en r�affichant la page mais je vois pas comment faire...

  2. #2
    Membre �prouv�
    Inscrit en
    Mai 2002
    Messages
    101
    D�tails du profil
    Informations personnelles :
    �ge : 45

    Informations forums :
    Inscription : Mai 2002
    Messages : 101
    Par d�faut
    Le javascript s'ex�cutant au niveau client et le PHP au niveau serveur, la premi�re solution qui me vient � l'esprit est la suivante :

    onClick de ton bouton, tu renseignes le contenu de ton textarea dans une variable de formulaire hidden (attention aux caract�res sp�ciaux, sauts de ligne, etc !). Puis, tu submit() ton formulaire sur lui-m�me et tu renseignes ta variable PHP.

    Si il y a une autre solution, elle ne me vient pas � l'esprit...

  3. #3
    Mut
    Mut est d�connect�
    Membre �prouv� Avatar de Mut
    Homme Profil pro
    Inscrit en
    Mars 2003
    Messages
    931
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 42
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations forums :
    Inscription : Mars 2003
    Messages : 931
    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
     
    <?php
    session_start();
    $User = $_SESSION['User_Name'];
    $ContenuTxtArea=$_POST['message'];
    // Fonction Mail
    function EnvoiMail(){
         $headers ='From: '.$User.'<'.$User.'@test.fr>'."\n"; 
         $headers .='Reply-To: <a href="mailto:[email protected]">[email protected]</a>'."\n"; 
         $headers .='Content-Type: text/html; charset="iso-8859-1"'."\n"; 
         $headers .='Content-Transfer-Encoding: 8bit'; 
         $message ='<html><head><title>Demande de catalogue</title></head><body> variable de la TEXTAREA</body></html>'; 
     
         if(mail('[email protected]', 'Demande de Catalogue', $message, $headers)) 
         { 
              echo 'Le message a été envoyé'; 
         } 
         else 
         { 
              echo 'Le message n\'a pu être envoyé, contacter votre administrateur réseau'; 
         }
    }
    ?>
     
    <!DOCTYPE HTML PUBLIC '-//W3C//DTD HTML 4.0 Transitional//EN'>
    <html>
    <head>
     
    </head>
    <body> 
    <div align='left'> Veuillez saisir le nom du fournisseur-fabricant que vous souhaitez :</div><br />
     
    <form name="Formulaire" id="FormCata" method="post">
    <textarea name='Message' id='message' rows='5' cols='30' ></textarea><br />
    <br />
    <input type="submit" name="envoyer" id="send" value="Demander" align="center" onclick="window.opener.document.getElementById('FormCata').submit();">
    </form>
     
    </body>
     
    </html>
    J'ai ajout� le formulaire. Mais il veut pas faire le submit. J'ai d�clar� la variable de session dans la balise php aussi.

  4. #4
    Membre �prouv�
    Inscrit en
    Mai 2002
    Messages
    101
    D�tails du profil
    Informations personnelles :
    �ge : 45

    Informations forums :
    Inscription : Mai 2002
    Messages : 101
    Par d�faut
    On s'est pas compris. Je voyais un truc comme �a (reflexion faite, la variable hidden ne sert � rien)

    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
     
    <?php
    session_start();
    $User = $_SESSION['User_Name'];
    $ContenuTxtArea=$_POST['message'];
    // Fonction Mail
    function EnvoiMail(){
         $headers ='From: '.$User.'<'.$User.'@test.fr>'."\n"; 
         $headers .='Reply-To: <a href="mailto:[email protected]">[email protected]</a>'."\n"; 
         $headers .='Content-Type: text/html; charset="iso-8859-1"'."\n"; 
         $headers .='Content-Transfer-Encoding: 8bit'; 
         $message ='<html><head><title>Demande de catalogue</title></head><body> variable de la TEXTAREA</body></html>'; 
     
         if(mail('[email protected]', 'Demande de Catalogue', $message, $headers)) 
         { 
              echo 'Le message a été envoyé'; 
         } 
         else 
         { 
              echo 'Le message n\'a pu être envoyé, contacter votre administrateur réseau'; 
         }
    }
    ?>
     
    <!DOCTYPE HTML PUBLIC '-//W3C//DTD HTML 4.0 Transitional//EN'>
    <html>
    <head>
     
    </head>
    <body> 
    <div align='left'> Veuillez saisir le nom du fournisseur-fabricant que vous souhaitez :</div><br />
     
    <form name="Formulaire" id="FormCata" method="post">
    <textarea name='Message' id='message' rows='5' cols='30' ></textarea><br />
    <br />
    <input type="submit" name="envoyer" id="send" value="Demander" align="center" onclick="document.Formulaire.submit();">
    </form>
     
    </body>
     
    </html>
    Par contre, je ne comprends pas quelle est la subtilit� de ton probl�me... Ce formulaire est une simple form d'envoi de mail... Donc, en l'occurence, le onClick ne sert � rien, le type "submit" fait d�j� le job. Par contre, ton form n'a pas de target.

  5. #5
    Mut
    Mut est d�connect�
    Membre �prouv� Avatar de Mut
    Homme Profil pro
    Inscrit en
    Mars 2003
    Messages
    931
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 42
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations forums :
    Inscription : Mars 2003
    Messages : 931
    Par d�faut
    Merci de tes r�ponses.

    Je vais essayer d'�tre plus clair dans mes explications...

    Je souhaite pouvoir dans une m�me page envoyer un mail qui contient le contenu d'une textarea. Php �tant cot� serveur, il faut que je recharge la m�me page afin de pouvoir passer le contenu de la textarea dans une variable php qui s'int�grera dans la variable $message de la fonction mail.

    En r�sum�, je voudrais envoyer un mail en php avec comme message, le contenu d'une textarea et le tout sur une m�me page.


    Merci

  6. #6
    Membre �prouv�
    Inscrit en
    Mai 2002
    Messages
    101
    D�tails du profil
    Informations personnelles :
    �ge : 45

    Informations forums :
    Inscription : Mai 2002
    Messages : 101
    Par d�faut
    Citation Envoy� par Mut Voir le message
    En r�sum�, je voudrais envoyer un mail en php avec comme message, le contenu d'une textarea et le tout sur une m�me page.
    C'est bien ce que je dis : tu veux simplement un formulaire d'envoi de mail J'ai pas de PHP ici, mais essaie �a

    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
     
    <?php
    session_start();
    $User = $_SESSION['User_Name'];
     
    if($_POST['envoyer'] == "Demander";){
        $ContenuTxtArea = $_POST['message'];
        EnvoiMail();
    }
     
    // Fonction Mail
    function EnvoiMail(){
         $headers ='From: '.$User.'<'.$User.'@test.fr>'."\n"; 
         $headers .='Reply-To: <a href="mailto:[email protected]">[email protected]</a>'."\n"; 
         $headers .='Content-Type: text/html; charset="iso-8859-1"'."\n"; 
         $headers .='Content-Transfer-Encoding: 8bit'; 
         $message ='<html><head><title>Demande de catalogue</title></head><body> variable de la TEXTAREA</body></html>'; 
     
         if(mail('[email protected]', 'Demande de Catalogue', $message, $headers)) 
         { 
              echo 'Le message a été envoyé'; 
         } 
         else 
         { 
              echo 'Le message n\'a pu être envoyé, contacter votre administrateur réseau'; 
         }
    }
    ?>
     
    <!DOCTYPE HTML PUBLIC '-//W3C//DTD HTML 4.0 Transitional//EN'>
    <html>
    <head>
     
    </head>
    <body> 
    <div align='left'> Veuillez saisir le nom du fournisseur-fabricant que vous souhaitez :</div><br />
     
    <form name="Formulaire" id="FormCata" method="post" target="<?php echo $_SERVER['PHP_SELF']; ?>">
    <textarea name='Message' id='message' rows='5' cols='30' ></textarea><br />
    <br />
    <input type="submit" name="envoyer" id="send" value="Demander" align="center">
    </form>
     
    </body>
     
    </html>
    Sinon, tu dois pouvoir trouver plein d'exemples de forms d'envoi de mail sur le web.

  7. #7
    Membre chevronn�
    Avatar de djayp
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    295
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 295
    Par d�faut
    Salut !

    J'ai rep�r� quelques erreurs dans ton code qui devraient peut-etre t'aider :

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    <form name="Formulaire" id="FormCata" method="post" target="<?php echo $_SERVER['PHP_SELF']; ?>">
    "target" n'est pas le bon attribut -> A remplacer par "action" !

    Par ailleurs, je ne suis pas sur que tu puisses utiliser les variables $_POST directement dans ta fonction EnvoiMail() sans les d�clarer comme global ou les passer en param�tre.

    Essaie avec :

    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
    if ($_POST['envoyer'] == "Demander"){
        EnvoiMail($User, $_POST['message']);
    }
     
    // Fonction Mail
    function EnvoiMail($user, $message){
         $headers ='From: '.$user.'<'.$user.'@domaine.fr>'."\n"; 
         //$headers .='Reply-To: <a href="mailto:[email protected]">[email protected]</a>'."\n"; 
         $headers .='Content-Type: text/html; charset="iso-8859-1"'."\n"; 
         $headers .='Content-Transfer-Encoding: 8bit'; 
         $html ='<html><head><title>Demande de catalogue</title></head><body>'.$message.'</body></html>'; 
     
         if(mail('[email protected]', 'Demande de Catalogue', $html, $headers)) 
         { 
              echo 'Le message a été envoyé';
         } 
         else 
         { 
              echo 'Le message n\'a pu être envoyé, contacter votre administrateur réseau'; 
         }
    }
    ?>
    Voil�
    A++

  8. #8
    Mut
    Mut est d�connect�
    Membre �prouv� Avatar de Mut
    Homme Profil pro
    Inscrit en
    Mars 2003
    Messages
    931
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 42
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations forums :
    Inscription : Mars 2003
    Messages : 931
    Par d�faut
    Merci de tes r�ponses. On a du poster en m�me temps hier . J'ai effectivement modifi� l'attribut (en le supprimant) comme �a je n'avais plus le probl�me du doublon de page. Par contre pour les variables je peux les utiliser directement dans ma fonction car il me semble que les variables $_POST sont globales...

+ R�pondre � la discussion
Cette discussion est r�solue.

Discussions similaires

  1. R�ponses: 5
    Dernier message: 13/09/2010, 08h05
  2. [PHP-JS] Variable javascript vers php
    Par guigui31 dans le forum G�n�ral JavaScript
    R�ponses: 13
    Dernier message: 13/06/2007, 15h39
  3. [PHP-JS] variable javascript en php
    Par darkbob dans le forum Langage
    R�ponses: 3
    Dernier message: 11/06/2007, 17h32
  4. R�ponses: 11
    Dernier message: 26/04/2007, 10h40
  5. [PHP-JS] variable javascript vers PHP
    Par nicoaix dans le forum Langage
    R�ponses: 3
    Dernier message: 17/03/2006, 21h28

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