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

beveiligen formulier

webgek
2 antwoorden
  • Hoi allemaal

    Ik heb al een tijdje een formulier onbeveiligd op mijn website staan. Het probleem is dat het mij maar niet lukt om het te beveiligen. Aangezien ik niet zo goed ben met formulieren vroeg ik mij af of iemand mij kan helpen met de volgende problemen. Hieronder volgen de broncodes van mijn formulier.

    Dit is index.php waarin het formulier staat.

    [code:1:0ac707bcf0]
    <HTML>
    <HEAD>
    <TITLE>Schapendonk Computer Service</TITLE>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <meta http-equiv="Cache-Control" content="no-cache">


    </HEAD>

    <BODY bgcolor=white>
    <div align="center"><img src="img/logo_2007.gif"></div></br>
    <div align=center>
    <font face="Verdana">
    Welkom bij<b> Schapendonk Computer Service!</b></font>
    <BR><BR>
    <font face="verdana">
    Binnenkort start onder dit adres een computer supportsite waarop u terecht kunt met al uw computervragen.<br> Als u onderstaand formulier zo volledig mogelijk ingevuld verstuurt, zal ik zo spoedig mogelijk contact met u opnemen.

    </font>
    </div>

    <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 aanmerkingen:</td>
    <TD><TEXTAREA name="opmerkingen" cols="30" rows="10"></TEXTAREA></TD></TR>
    <tr><td width="100"></td><td><button name="submit" type="submit" style="border:1px solid;">Verzenden</button>&nbsp;<button type="reset" style="border:1px solid;">Formulier wissen</button> </td></tr>
    </table>
    </font>
    </form>
    <br></br>
    <hr color="gray">
    <table width="100%">
    <tr>
    <td width="50%" align="left"><font face="verdana" size="2">&copy 2007 Frits Schapendonk <a href="mailto:mail@fritsschapendonk.nl?subject=Een vraag aan de helpdesk">mail@fritsschapendonk.nl</a></font></td>
    <td width="50%" align="right"><font face="verdana" size="2">Alle rechten voorbehouden</font></td>
    </tr>
    </table>


    </BODY>
    </HTML>[/code:1:0ac707bcf0]




    En dit is mail.php waarin mijn formulier naar mijn email adres wordt verzonden.

    [code:1:0ac707bcf0]<?php
    if (isset($_POST['submit'])) {
    $to = "mail@fritsschapendonk.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>Wij hebben uw ingevulde formulier in goede staat ontvangen en zullen u zo spoedig mogelijk antwoorden. Uw gegevens worden vertrouwelijk behandeld.</br></br> Met vriendelijke groet,</br></br><b>Frits Schapendonk</b></br> Schapendonk Computer Service ";
    mail($to, $subject, $body);
    }
    else ('U heeft niet alle velden ingevuld');
    ?> [/code:1:0ac707bcf0]


    [b:0ac707bcf0]Probleem 1:[/b:0ac707bcf0] Ik zou graag willen dat ik spam kan voorkomen d.m.v. verplichten velden. Het gebeurt vaak dat mensen zonder iets in te vullen op verzenden klikken. Dit is uiterst irriterend.

    [b:0ac707bcf0]Probleem 2:[/b:0ac707bcf0] Ik zou graag zien dat de twee dropdown lijstjes aan elkaar verbonden zijn:

    [b:0ac707bcf0]voorbeeld:[/b:0ac707bcf0] Op het moment dat ik in de eerste zeg [i:0ac707bcf0]windows vista[/i:0ac707bcf0] wil ik dat daaronder een subcategorie komt in de tweede dropdown.

    Ik zou het zeer fijn vinden als iemand mij hiermee op weg kan helpen.

    Alvast bedankt voor jullie tips.

    Met vriendelijke groet,

    Frits Schapendonk










  • Verplichte velden invoeren is simpelweg een kwestie van kijken of de betreffende variabele een lege string bevat of niet, dus dat wordt iets als volgt:
    [code:1:fcf2cb93ed]if(trim($_POST['naam'])=="")
    {
    die("Fout!");
    }
    else
    {
    echo "Dank u meneer/mevrouw ".$_POST['naam'];
    }[/code:1:fcf2cb93ed]
    Alleen moet je er dan voor zorgen dat ze netjes het formulier opnieuw krijgen met de nog in te vullen velden rood gemarkeerd ofzo.

    Voor je tweede probleem zul je aan de slag moeten met JavaScript, maar dat is niet bepaald mijn forte.

    - Bas

Beantwoord deze vraag

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