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 verzend gegevens uit html formulier niet

None
3 antwoorden
  • Hoi allemaal

    Ik heb een contact formulier die mijn emails niet wil verzenden.

    het probleem is dat het script 100% werkt maar dat er bij mij toch geen emailtje binnenkomt.

    Ik heb hem op een gratis lycos account draaien. Ik hoorde dat je server emailen wel moet ondersteunen.

    Hier volgt het script:


    html code (index.php)
    [code:1:a3ebae0d6b]
    <div align="center"><img src="img/logo_2007.gif"></div>
    </br>
    <form action="mail.php" method="post">

    <font face="verdana" size="2px">
    <table align="center" bgcolor="#ffffcc" cellpadding="0" cellspacing="7" style="border: 1px solid black;">

    <tr><td>Naam:</td> <td><input type="text" name="naam" style="border:1px dotted;"></td></tr>
    <tr><td>Achternaam:</td> <td><input type="text" name="achternaam" style="border:1px dotted;"></td></tr>
    <tr><td>Straat:</td> <td><input type="text" name="straat" style="border:1px dotted;"></td>
    <td>Huisnr:</td> <td><input type="text" name="huisnr" style="border:1px dotted; width: 50;"></td>
    </tr>
    <tr><td>Postcode:</td> <td><input type="text" name="postcode" style="border:1px dotted;"></td></tr>
    <tr><td>Plaats:</td> <td><input type="text" name="plaats" style="border:1px dotted;"></td></tr>
    <tr><td>Telefoon:</td> <td><input type="text" name="tel" style="border:1px dotted;"></td></tr>
    <tr><td>Email:</td> <td><input type="email" name="email" style="border:1px dotted;"></td></tr>
    <tr><td>Besturingsysteem</td> <td><SELECT name="besturingsysteem">
    <OPTION value="" selected>Maak een keuze
    <OPTION value="Windows Vista">Windows Vista
    <OPTION value="Windows XP">Windows XP
    <OPTION value="Windows 2000">Windows 2000
    <OPTION value="Linux">Linux
    </SELECT></td></tr>
    <tr><td>Aard van vraag en/of storing</td><td><SELECT name="aard">
    <OPTION value="" selected>Maak een keuze
    <OPTION value="internet verbinding">Internet verbinding ADSL/kabel
    <OPTION value="opstarten">opstart probleem
    <OPTION value="software matig">software probleem
    <OPTION value="overige vragen">overige problemen
    </SELECT></td></tr>
    <tr><td>Ruimte voor op- en/of aanmerken:</td> <TD><TEXTAREA name="opmerkingen" cls="30"></TEXTAREA></TD></TR>
    <tr><td width="100"></td><td><button name="submit" type="submit" style="border:1px solid;">Verzenden</button>|<button type="reset" style="border:1px solid;">Formulier wissen</button> </td></tr>
    </table>
    </font>
    </form>
    [/code:1:a3ebae0d6b]

    En hier volgt het verzend script in php: (mail.php)
    [code:1:a3ebae0d6b]
    <?php
    if(isset($_POST['submit'])) {
    $to = "frits.schapendonk@planet.nl";
    $subject = "support mail van de website";
    $naam = $_POST['naam'];
    $achternaam = $_POST['achternaam'];
    $straat = $_POST['straat'];
    $huisnr = $_POST['huisnr'];
    $postcode = $_POST['postcode'];
    $plaats = $_POST['plaats'];
    $tel = $_POST['tel'];
    $email = $_POST['email'];
    $besturingsysteem = $_POST['besturingsysteem'];
    $aard = $_POST['aard'];
    $opmerkingen = $_POST['opmerkingen'];

    $body = "From: $naam
    Achternaam: $achternaam
    Straat: $straat
    Huisnummer: $huisnr
    Postcode: $postcode
    Plaats: $plaats
    Telefoon: $tel
    E-mail: $email
    Besturingsysteem: $besturingsysteem
    Vraagsoort: $aard
    Opmerkingen/Vragen: $opmerkingen
    ";

    echo "<h2>verzenden gelukt!</h2></br><br>De door u ingevoerde gegevens zijn bij mij in goede staat ontvangen. Uw gegevens zullen nooit aan derden worden verstrekt.</br></br>U krijgt zo spoedig mogelijk antwoord van mij. ";
    mail($to, $subject, $body);
    } else {
    echo "Mislukt! Probeer het nogmaals";
    }
    ?>



    [/code:1:a3ebae0d6b]

    Moet ik misschien iets instellen op lycos of licht het toch aan mijn script?

    Alvast bedankt voor jullie tijd en hulp
  • In je bestand "mail.php" controleer je of de variabele $_POST['submit'] bestaat en als dat niet het geval is zeg je dat het versturen van de email mislukt is. Het bestaan van de post variabele heeft echter weinig te maken met het wel of niet mogelijk zijn van het versturen van de email.

    Als $_POST['submit'] niet bestaat zijn er geen formuliergegevens doorgestuurd en is iemand dus op een andere manier dan bedoeld op de mail.php pagina terecht gekomen en zou je hem dus kunnen redirecten naar bijvoorbeeld je index pagina: header('Location:index.php').

    Wanneer $_POST['submit'] wel bestaat zijn er dus wel gegevens verstuurd en kan je gaan proberen de email te versturen. De code zal er dan zoiets uit komen te zien:

    [code:1:7331f98116]
    <?php
    if (isset($_POST['submit'])) {
    //maak variabelen aan ($to, $subject, $body)

    if (mail($to, $subject, $body)) {
    //de email is verstuurd
    } else {
    //de email is niet verstuurd
    }

    } else {
    header('Location:index.php');
    }

    ?>
    [/code:1:7331f98116]


    Om te testen of de mail() functie uberhaubt werkt kan je natuurlijk altijd even een simpel scriptje maken om het te testen:
    [code:1:7331f98116]
    <?php
    mail('frits.schapendonk@planet.nl', 'test', 'test');
    ?>
    [/code:1:7331f98116]
    Als dit niet werkt weet je in ieder geval dat het niet aan je code ligt.
  • Hoi bedankt voor je bericht

    Ik heb met dit script evem gekeken of de config goed is van de mailserver. Via de server van lycos werkt niet maar als ik het lokaal via localhost op wamp probeer gaat het wel.

Beantwoord deze vraag

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