Op deze website gebruiken we cookies om content en advertenties te personaliseren, om functies voor social media te bieden en om ons websiteverkeer te analyseren. Ook delen we informatie over uw gebruik van onze site met onze partners voor social media, adverteren en analyse. Deze partners kunnen deze gegevens combineren met andere informatie die u aan ze heeft verstrekt of die ze hebben verzameld op basis van uw gebruik van hun services. Meer informatie.

Akkoord

Vraag & Antwoord

Webprogrammeren & scripting

PHP form werkt niet

Ger
5 antwoorden
  • Hoi ik heb een PHP form gemaakt via een tutorial maar ik kom er helaas niet helemaal uit en ik zie niet wat ik fout gedaan heb :(
    Kan iemand alstublieft even kijken?

    Hier is de code, het eerste gedeelte is het formulier zelf en daarna wordt het ge-POST naar een ander script en die verwerkt het op een correcte manier waarna het naar mn mail gezonden wordt.

    Alvast bedankt!


    Dit is de foutmeldingen die ik heb


    ( ! ) Notice: Undefined variable: email in C:\wamp\www\Form test\contactformprocess.php on line 20
    Call Stack
    # Time Memory Function Location
    1 0.0009 679376 {main}( ) ..\contactformprocess.php:0

    ( ! ) Notice: Undefined variable: naam in C:\wamp\www\Form test\contactformprocess.php on line 21
    Call Stack
    # Time Memory Function Location
    1 0.0009 679376 {main}( ) ..\contactformprocess.php:0

    ( ! ) Notice: Undefined variable: onderwerp in C:\wamp\www\Form test\contactformprocess.php on line 22
    Call Stack
    # Time Memory Function Location
    1 0.0009 679376 {main}( ) ..\contactformprocess.php:0

    ( ! ) Notice: Undefined variable: vraag in C:\wamp\www\Form test\contactformprocess.php on line 22
    Call Stack
    # Time Memory Function Location
    1 0.0009 679376 {main}( ) ..\contactformprocess.php:0

    ( ! ) Notice: Undefined variable: email in C:\wamp\www\Form test\contactformprocess.php on line 26
    Call Stack
    # Time Memory Function Location
    1 0.0009 679376 {main}( ) ..\contactformprocess.php:0

    ( ! ) Warning: mail() [<a href='function.mail'>function.mail</a>]: Failed to connect to mailserver at &quot;localhost&quot; port 25, verify your &quot;SMTP&quot; and &quot;smtp_port&quot; setting in php.ini or use ini_set() in C:\wamp\www\Form test\contactformprocess.php on line 28
    Call Stack
    # Time Memory Function Location
    1 0.0009 679376 {main}( ) ..\contactformprocess.php:0
    2 0.0016 680784 mail ( ) ..\contactformprocess.php:28
    Thank you for your interest! Your email will be answered very soon!



    Dit is het Formulier

    <html>
    <head>
    <title></title>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    <style type="text/css">
    <!–
    body {
    background-color: #f1f1f1;
    font-family: Verdana, Arial, Helvetica, sans-serif;
    font-size: 12px;
    font-style: normal;
    line-height: normal;
    font-weight: normal;
    color: #666666;
    text-decoration: none;
    }
    #formHolder {
    width: 800px;
    background-color: e1e1e1;
    }
    –>
    </style>
    <script type="text/JavaScript">
    <!–
    function MM_preloadImages() { //v3.0
    var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a.indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a;}}
    }
    //–>
    </script>
    </head>
    <body leftmargin="0" topmargin="0" marginwidth="0" marginheight="0">
    <div id="formHolder">
    <form name="form1" method="post" action="contactformprocess.php">
    <table width="100%" border="0" cellspacing="0" cellpadding="6">
    <tr>
    <td><label for="naam">
    <div align="right">Naam:</div>
    </label>
    </td>
    <td><div align="left">
    <input name="naam" type="text" id="naam" size="35" maxlength="100">
    </div></td>
    </tr>
    <tr>
    <td><label for="email">
    <div align="right">Email adres:</div>
    </label>
    </td>
    <td><div align="left">
    <input name="email" type="text" id="email" size="35" maxlength="80">
    </div></td>
    </tr
    ><tr>
    <td><label for="onderwerp">
    <div align="right">Onderwerp:</div>
    </label>
    </td>
    <td><div align="left">
    <input name="onderwerp" type="text" id="onderwerp" size="35" maxlength="80">
    </div></td>
    </tr
    ><tr>
    <td><div align="right">
    <label for="vraag">Vraag:</label>
    </div></td>
    <td><div align="left">
    <textarea name="vraag" id="vraag" cols="26" rows="5"></textarea>
    </div></td>
    </tr>
    <tr>
    <td><div align="right">
    <label for="clear"></label>
    <input type="reset" name="clear" id="clear" value="Reset Form">
    </div></td>
    <td><div align="right">
    <label for="submit"></label>
    <div align="left">
    <input type="submit" name="submit" id="submit" value="Send Email!">
    </div>
    </div></td>
    </tr>
    </table>
    </form>
    <p align="center">&nbsp; </p>
    </div>
    </body>
    </html>






    En hier wordt het dan naartoe ge-POST

    <?php


    /* Subject en Email variabelen */

    $emailSubject = 'Vraag van de Website';
    $webMaster = 'sjembekster@gmail.com';

    /* Ophalen Data variabelen */

    $emailField = $_POST['email'];
    $naamField = $_POST['naam'];
    $onderwerpField = $_POST['onderwerp'];
    $vraagField = $_POST['vraag'];


    $body = <<<EOD
    <br><hr><br>
    Email: $email <br>
    Naam: $naam <br>
    Onderwerp: $onderwerp <br>
    Vraag: $vraag <br>
    EOD;


    $headers = "From: $email
    ";
    $headers .= "Content-type: text/html
    ";
    $success = mail($webMaster, $emailSubject, $body, $headers);

    /* Result*/

    $theResults = <<<EOD
    <html>
    <head>
    <title>Vraag verstuurd</title>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    <style type="text/css">
    <!–
    body {
    background-color: #f1f1f1;
    font-family: Verdana, Arial, Helvetica, sans-serif;
    font-size: 12px;
    font-style: normal;
    line-height: normal;
    font-weight: normal;
    color: #666666;
    text-decoration: none;
    }
    –>
    </style>
    </head>

    <div>
    <div align="left">Thank you for your interest! Your email will be answered very soon!</div>
    </div>
    </body>
    </html>
    EOD;
    echo "$theResults";

    ?>
  • de foutmeldingen zijn toch echt heel duidelijk:

    Undefined variable betekent dat die variabele niet bestaat, i.e., geen waarde heeft. Dat is ook niet zo gek aangezien je $email en $emailField e.d. door elkaar gebruikt.

    De laatste foutmelding betreft een configuratiefout op de server waardoor de mailserver niet kan worden verzonden. Deze is noodzakelijk indien je een email wilt sturen…
  • Ja oke die variabelen was inderdaad een beetje dom maar ik zit nog steeds met:

    Warning: mail() [<a href='function.mail'>function.mail</a>]: Failed to connect to mailserver at &quot;localhost&quot; port 25, verify your &quot;SMTP&quot; and &quot;smtp_port&quot; setting in php.ini or use ini_set(
  • Oke keb de code ff getest online en dan doet ie het wel. Daar gaat het uiteindelijk ook om. Maar als iemand toch nog iets weet om het in localhost ook werkende te krijgen dan bent u van harte welkom!!
  • ik heb diezelfde ervaring met foutmeldingen in de localhost die "in het echt" niet voorkomen, en daarom een apart mapje op een site om van daaruit de werking van dit soort zaken te controleren.

Beantwoord deze vraag

Dit is een gearchiveerde pagina. Antwoorden is niet meer mogelijk.