output van javascript naar PHP mail functie?

Status
Niet open voor verdere reacties.

fsasfsas

Gebruiker
Lid geworden
11 sep 2006
Berichten
429
Beste mensen

Ik ben een mailformulier aan het maken en met de voorbeelden en tutorials die her en der staan kom ik een heel eind (ik maak gebruik van de mail() functie die in php zit.). Al doende leert men: ik ken inmiddels een beetje html, javascript en php maar nog niet zo veel, vandaar mijn vraag.

Ik kan inmiddels mails versturen en die komen braaf aan. Maar...ik wil graag nog iets meer.

Op dit moment worden alle gegevens voor in de mail (met name de message, dus de "gewone" tekst van de mail) nog via een <form> en dan <input> door de verzender van de mail (dus op de website) ingetikt waarna het naar mij verzonden wordt.
In plaats van dit ingetikte bericht wil ik graag de output gebruiken die door een van de javascripts op mijn website geleverd wordt (dat doet ie via een document.write).

kan ik dan het beste die output in een php variabele zetten en die als message in de mail meegeven via de functie mail($to, $subject ,$message, $headers) en zo ja, hoe moet ik die output in een php-variabele zetten?

Of is er een handigere / eenvoudigere manier om dat te bereiken?

Ik weet nog niet voldoende van javascript / php dus ik kom er niet uit; het zou fijn zijn als iemand me kon helpen.
 
Ik ben niet helemaal zeker, maar ik denk dat je iets nodig hebt als volgt:
PHP:
<html>
  <head>
    <script type='text/javascript'>
      function plaatstekst(n){
        var teksten= new Array();
        teksten[0]="Dit is de eerste tekst";
        teksten[1]="En dit is de tweede tekst";
        document.getElementById("txt1").value=teksten[n];
        document.frmTekst.submit();
      }
    </script>
  </head>
  <body>
<?php
  if($_SERVER['REQUEST_METHOD']=="POST"){
    echo "De verzonden tekst is:<br>".$_POST['txtTekst'];
  }else{
?>
    <form name='frmTekst' action='index.php' method='post'>
      <input type='hidden' name='txtTekst' id='txt1' size="50"><br>
      <input type='button' value='verzend tekst 1' onclick='plaatstekst(0);'><br>
      <input type='button' value='verzend tekst 2' onclick='plaatstekst(1);'><br>
    </form>
<?php
  }
?>
  </body>
</html>
Door op één van de knoppen te klikken, zal het javascriptje de betreffende tekst in een 'hidden'-veld van het formulier plaatsen, en dan verzenden...
 
ga ik zeker proberen (kan er vandaag helaas niet bij...)!
alvast met dank!
 
Nog even een opmerking: deze constructie is alleen maar zinvol als er ook nog andere velden in het formulier moeten staan.
Als het echt maar enkel om dat éne bericht gaat, kan je beter iets doen als volgt:
PHP:
<html> 
  <head> 
    <script type='text/javascript'> 
      function verzend(n){ 
        location="index.php?n="+n;
      } 
    </script> 
  </head> 
  <body> 
<?php 
  if($_GET['n']!=""){
    switch($_GET['n']){
    case 1:
      $msg="tekst 1";
      break;
    case 2:
      $msg="tekst 2";
      break;
    }
    echo $msg;
    //verzend mail met $msg
  }else{ 
?> 
    <input type='button' value='verzend tekst 1' onclick='verzend(1);'><br> 
    <input type='button' value='verzend tekst 2' onclick='verzend(2);'><br> 
<?php 
  } 
?> 
  </body> 
</html>
 
Nog even een opmerking: deze constructie is alleen maar zinvol als er ook nog andere velden in het formulier moeten staan.
Als het echt maar enkel om dat éne bericht gaat, kan je beter iets doen als volgt:

Het gaat om meer velden, dus ik ben met je eerste suggestie aan de slag gegaan. Ik heb het nog niet helemaal werkend maar ik ben nog een beginner dus met wat doorzetten gaat dat wel lukken hoop ik.

Heel erg bedankt voor je hulp!
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan