Hier ben ik weer met een probleem.

Op de aquarumbazar is er de mogelijkheid om link-partner te worden.
http://willemhartman.nl/bazarlinkform.php

     <?php
    /**
    * Link uitwisseling
    */
    ?>
     
    <h1></h1>
       
    <?php
    function validMail ($str) {
     return  (preg_match ('(^[0-9a-zA-Z_\.-]{1,}@([0-9a-zA-Z_\-]{1,}\.)+[0-9a-zA-Z_\-]{2,}$)', $str));
    }
    function validName ($str) {
     return  (preg_match('(^[A-Za-z. -]+$)', $str));
    }
     
     
    $_POST["name"] = ucfirst($_POST["name"]);
     
     
    if ($_SERVER['REQUEST_METHOD'] == 'POST' &&  $_POST["submit"] != "Verzenden"  || !validName($_POST["name"]) || !validMail($_POST["email"]) || !$_POST["link"] || !$_POST["wlink"] ||  !$_POST["message"]) {
       
     
    ?>
      <form id="form1" name="form1" method="POST" action="link.php">
      <table width="600" border="0" align="center" cellpadding="0" cellspacing="0">
     
     
            <?php
                if ($_POST["submit"] && !validName($_POST["name"])) {
                    echo '<tr><td></td><td>';          
                        echo "<font color=\"red\">Vul hier uw naam correct in!</font><br>";
                    echo '</td></tr>';
                }
            ?>
        <tr>
          <td height="40"><label class="text">Naam</label></td>
          <td><input name="name" type="text"size="50" value="<?php  echo $_POST["name"]; ?>" /></td>
        </tr>
            <?php
                if ($_POST["submit"] && !validMail($_POST["email"])) {
                    echo '<tr><td></td><td>';          
                        echo "<font color=\"red\">Vul hier uw email correct in!</font><br>";
                    echo '</td></tr>';
                }
            ?>
        <tr>
          <td height="40"><label class="text">Email</label></td>
          <td><label>
            <input name="email" type="text" value="<?php  echo $_POST["email"]; ?>" size="50" />
          </label></td>
        </tr>
        <?php
                if ($_POST["submit"] && $_POST["wlink"]) {
                    echo '<tr><td></td><td>';          
                        echo "<font color=\"red\">Vul hier uw waar link correct in!</font><br>";
                    echo '</td></tr>';
                }
            ?>
        <tr>
          <td height="40"><label class="text">Waar staat uw wederlink</label></td>
          <td><input name="wlink" type="text"  size="50" value="<?php  echo $_POST["wlink"]; ?>" /></td>
        </tr>
            <?php
                if ($_POST["submit"] && $_POST["link"]) {
                    echo '<tr><td></td><td>';          
                        echo "<font color=\"red\">Vul hier uw link correct in!</font><br>";
                    echo '</td></tr>';
                }
            ?>
        <tr>
          <td height="40"><label class="text">Uw Link</label></td>
          <td><input name="link" type="text"  size="50" value="<?php  echo $_POST["link"]; ?>" /></td>
        </tr>
            <?php
                if ($_POST["submit"] && !($_POST["message"])) {
                    echo '<tr><td></td><td>';          
                        echo "<font color=\"red\">Vul hier uw bericht correct in!</font><br>";
                    echo '</td></tr>';
                }
            ?>
        <tr>
          <td height="100" valign="top"><label class="text">Bericht</label></td>
          <td><textarea name="message" cols="50" rows="5"><?php  echo $_POST["message"]; ?></textarea></td>
        </tr>
        <tr>
          <td height="40">&nbsp;</td>
          <td><table width="400" border="0" cellspacing="0" cellpadding="0">
            <tr>
              <td width="218"><label>
                <input type="reset" name="Reset" id="Reset" value="Herstel" />
              </label></td>
              <td width="182"><label>        
                <input type="submit" value="Verzenden" name="submit" />
              </label></td>
            </tr>
          </table></td>
        </tr>
      </table>
      </form>
        <?php
       
    } else {
       
        $to = "[email protected]"; // je email adrssss
        $subject = "link uitwisseling"; // het onderwerp
        $message = "Hierbij mijn gegevens voor de uitwisseling van de link \r\n"
        . "Naam :" .$_POST['name'] ."\r\n"
        . "Email :" .$_POST['email'] ."\r\n"
        . "Waar staat uw wederlink : ".$_POST['wlink']. "\r\n"
        . "link : ".$_POST['link']. "\r\n"
        . "Bericht :". $_POST['message']."\r\n";
        $header = "FROM: ". $_POST['email'];
     
        mail($to,$subject, $message, $header);
     
      echo '<h1>Het formulier is verzonden</h1>
      
      <p>Bedankt voor het invullen van het formulier. We zullen zo spoedig mogelijk contact met u opnemen.</p>';
        
echo" <script type=\"text/javascript\">

            <!--       

            setTimeout('location.href=\"http://www.deaquariumbazar.nl\"', 5000);

            //-->

            </script>";

    }
    ?>
     
     







De laatste tijd zijn er geregeld grappenmakers die onzin link sturen, met een onzin e-mail adres. Vaak ook met een e-mail van anderen.

Wie weet of er een mogelijkheid bestaat om bij zo'n aanvraag, een mail naar de aanvrager te sturen die hij moet bevestigen. Om zo te controleren of het wel van de desbetreffende persoon afkomstig is ?
En dan pas de aanvraag naar mij doorgestuurd wordt ?
Je kunt een tabel maken met de volgende velden:
- E-mailadres (email),
- Check (check),
- Datum (date),
- Bericht (msg).

Bij het versturen van een bericht naar jouw site kun je dan i.p.v. het bericht naar jouw te sturen die in de database stoppen, dus (email v/d gebruiker + bericht). In het veld check maak je dan gewoon een random string aan (check). En als laatste stop je in het veld date, de datum van vandaag.

Die random string (check) stuur je dan naar de gebruiker met de link naar je website, bv. http://example.nl/formulier.php?check=dbcdqf4654.

Als de gebruiker dan naar de site komt en check + string is aanwezig en die klopt, moet je dus in de tabel nakijken, stuur je het bericht door naar jouw + verwijder het bericht uit de database.

Dan kun je nog iedere dag de oude berichten van gisteren verwijderen uit de tabel zodat die niet te groot wordt.
plaats je code aub even tussn code-tags.

Wat betreft je vraag: de tips van Aaron lijken me in de goede richting.

Reageren