toesturen ingevuld formulier

Status
Niet open voor verdere reacties.

Toegang

Gebruiker
Lid geworden
10 jun 2003
Berichten
58
Ik probeer een website op te bouwen. Een van de pagina’s is een formulier. Als dat door een bezoeker is ingevuld wil ik dat de gegevens naar een nader te definiëren adres worden gemaild.
1. Hoe doe ik dit?
2. Hoe test ik het vervolgens

<form name="informatie" action="???" method="post">

Welke attributen moeten erbij? Wat moet ik doen?
 
Hiervoor moet je 2 bestanden aanmaken: Eén html bestand en één php bestand. Als voorbeeld noem ik ze respectievelijk index.html en verwerken.php. (Je hoeft ze alleen maar te copieren, dus typwerk is niet meer nodig)


1) het index.html bestand.
(je kunt later ook een andere naam geven dan index.html)

Stel, dat je een formulier met onderstaande gegevens wilt hebben:

1. Nickname
2. Echte naam
3. Leeftijd
4. E-mail/msn

Dan ziet je HTML-code er zo uit:

PHP:
<html>
<head> 
<title>Een voorbeeld Formulier</title> 
</head> 
  
<!-- Hieronder wordt het gebruik van METHOD en ACTION laten zien --> 
<form name="form" method="post" action="verwerken.php"> 
Nickname: <input type="text" name="nickname" maxlength="25"> 
<br> 
Echte naam: <input type="text" name="naam" maxlength="25"> 
<br> 
Leeftijd: <input type="text" name="leeftijd" maxlength="4"> 
<br> 
E-Mail/Msn: <input type="text" name="e_mail_msn" maxlength="40"> 
<input type="submit" name="Verzend" value="Verstuur"> 
</form> 
</html>

(Sla dit op als index.html)


2) Het verwerken.php bestand.

PHP:
if($Verzend)
  {
     /* Voorloopspaties en naloopspaties weghalen */
     /* ========================================= */
     $nickname    = ltrim ($nickname);
     $nickname    = rtrim ($nickname);
     $naam        = ltrim ($naam);
     $naam        = rtrim ($naam);
     $leeftijd    = ltrim ($leeftijd);
     $leeftijd    = rtrim ($leeftijd);
     $e_mail_msn  = ltrim ($e_mail_msn);
     $e_mail_msn  = rtrim ($e_mail_msn);

     if (($nickname != "") and ($naam != "") and ($leeftijd != "") and
($e_mail_msn != ""))
        {
           /* E-mail kan nu worden verzonden */
           /* ============================== */ 
           $versturen_naar = "JOUW EIGEN E-Mail Adres invullen";
           $onderwerp = "Inschrijving";
           $ingevoerde_gegevens = "Nickname: \n".$_POST['nickname'].
"\n\nNaam: \n".$_POST
 ['naam']. "\n\nLeeftijd: \n". $_POST['leeftijd']. "\n\nE-Mail/Msn: \n".
$_POST['e_mail_msn'];
            mail ($versturen_naar, $onderwerp, $ingevoerde_gegevens); 
            echo "<h1>Bedankt voor het invullen!.</h1>";
               ?>
               <!--php even met "?>" onderbreken, om HTML-Codes te gebruiken.
->
               <form>
               <p> 
               </p> 
               <p>
               <!-- Hieronder een link om naar de Home-Page terug te gaan. ->
               <h1><a  target="_blank" HREF="<a
href=http://HIER>[url]http://HIER[/url]</a>JE EIGEN URL PLAATSEN A.U.B.">
               Terug naar Home-Page</a></h1>
               </p>
               </form> 
               <?php  /* PHP weer met "<?php"activeren */
         }
 
      else
         {
            /* Niet alle velden zijn ingevuld! */
            /* ================================*/
               echo "<H1>Compleet invullen a.u.b.</h1>";
               ?>
                <!--php even met "?>" onderbreken, om HTML-Codes te gebruiken.
->
                <form>
                <p> 
                </p> 
                <p>
                <!-- Hieronder een link om naar de Home-Page terug te gaan. ->
                <h1><a  target="_blank" HREF="<a
href=http://HIER>[url]http://HIER[/url]</a>JE EIGEN URL PLAATSEN A.U.B.">
                Terug naar Home-Page</a></h1>
                </p>
                </form> 
                <?php  /* PHP weer met "<?php"activeren */
  }
 }
?>

(Sla dit op als verwerken.php)

Upload deze 2 bestanden naar een server waar PHP wel wordt ondersteund.
Deze 2 bestanden moeten zich in dezelfde directory, waar je ze naar toe host, worden geplaatst.

Het "index.html" bestand roept het php scriptje "verwerken.php" pas aan,
wanneer alle velden van gegevens zijn voorzien en hierna op de knop Verstuur wordt geklikt.

Het php scriptje verwerkt vervolgens de ingevoerde gegevens, waarna ze
naar jouw E-Mail adres worden verstuurd.

Let er wel op dat je bij beide bestanden je eigen gegevens, zoals het e-mail adres en je url(adres van je website), nog moet gaan invullen.

Ik moet verder ook toegeven, dat de code die ik schrijf eigenlijk nog beter en netter kan. Ziet het maar even als een eerste voorbeeld. Misschien komen er straks wel andere Helpmijers die met een veel beter voorstel komen.

Dennis.

PS. EDIT: @Toegang, de 2 bestanden die je moet gaan opslaan als index.html en verwerken.php zijn elk omlijnd door horizontale lijnen. De werkelijke code van elk bestand zit dus tussen de 2 horizontale lijnen.
(wat verder voor jou niet van belang is, maar ik vermeld het hier toch maar even voor de duidelijkheid, is dat de tag voor een html code om op dit topic geordend te kunnen plaatsen php is, wel verwarrend. En de tag voor php is wel php. De tag voor andere programmeertalen kunnen we wel volstaan met de tag code.
 
Laatst bewerkt:
Ik citeer mijzelf even:

Geplaatst door DENNIS90
Hiervoor moet je 2 bestanden aanmaken: Eén html bestand en één php bestand. Als voorbeeld noem ik ze respectievelijk index.html en verwerken.php.

Eigenlijk kun je je bestaande html bestand gewoon gebruiken en gebruik je mijn html bestand v.w.b. de codes m.b.t. "Post" en "Method" als voorbeeld. Uiteindelijk was dat één van jouw vragen.

Er is ook een manier om geen gebruik te maken van php. Dat kan met de mailto functie ook, maar ben dat alweer vergeten hoe het moet.(moeilijk is het in elk geval niet)

En jouw andere vraag hoe je het kunt testen of het werkt, hangt er natuurlijk van af of je die 2 bestanden ook kunt hosten. Je moet dan wel al een site hebben.

Dennis.
 
Laatst bewerkt:
Dank je wel voor je antwoord, zal het proberen maar heb meteen al een vraagteken

Geplaatst door Dennis90
$nickname = ltrim ($nickname);
$nickname = rtrim ($nickname);
$naam = ltrim ($naam);
$naam = rtrim ($naam);
$leeftijd = ltrim ($leeftijd);
$leeftijd = rtrim ($leeftijd);
$e_mail_msn = ltrim ($e_mail_msn);
$e_mail_msn = rtrim ($e_mail_msn);

Wat wordt hier gedaan, vanwaar zowel een ltrim als een rtrim
 
Niet echt nodig, omdat de ingevoerde gegevens niet met een voorgedefinieerde waarde worden vergeleken. Zou dat wel het geval zijn, dan moeten ze weldegelijk gebruikt worden!

De reden:

Stel dat iemand per abuis bij het invullen van zijn/haar naam een aantaal spaties vóór en ná de naam invult, dan worden die spaties door boven vermelde statements(L- en Rtrim; L staat voor Left en R staat voor Right) geëlimineerd, hiermee wordt de lay-out die je in je mail krijgt beter geordend.

Ga dat maar na, wanneer die spaties niet weggewerkt wordt.

De reden is dus: Een zekerheid inbouwen. (maar dit is eigenlijk nog niet alles)

Dennis.
 
Maar nu zonder php

Dank je wel Dennis,
Maar helaas nu ik het op de server heb gezet vertellen ze me dat ze geen php ondersteunen . . . . . . :mad:

WAT NU, wie weet de methode zonder php
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan