Beste,

Onderaan vinden jullie een script.
Dit script moet een aantal stappen doorlopen om te kijken of het goed is.
Maar ergens gaat het fout en krijg ik de melding dat: "U bent uw naam, e-mailadres, adres of stickerkeuze vergeten in te vullen."

Ik heb het script met mijn verstand een aantal keren nagelopen.... Ik kan het probleem echt niet vinden.
Waar gaat het fout?

Ik hoor graag van jullie wat ik anders moet doen....

Alvast hartelijk dank voor het bekijken van het script.

Groet en wellicht voor sommige zo, slaap lekker.


<style type="text/css">
.letop {
	color: #F00;
}
</style>
<?php
//session_start(); // zorg ervoor dat session_start ALTIJD bovenaan ALLES van je pagina staat, anders werkt het niet!
 
/*******************************
*        CONTACT FORMULIER                     *
*        contactformulier.php             *
*                                                             *
*        Author: Miranda Verburg         *
*        Datum: 10 september 2010     *
*                                                             *
*        Pas het e-mail adres aan     *
*        bij $mail_ontv en upload   *
*        het naar je webserver..         *
********************************/

// E-mailadres van de ontvanger
$mail_ontv = '[email protected]' . ','; // <<<----- voer jouw e-mailadres hier in!
$mail_ontv2 = ($_POST['email']); // <<<----- Dit is het emailadres van de bestellende!

// Speciale checks voor naam en e-mailadres
if ($_SERVER['REQUEST_METHOD'] == 'POST')
{
    // naam controle
    if (empty($_POST['naam']))
        $naam_fout = 1;
    // e-mail controle
    if (function_exists('filter_var') && !filter_var($_POST['email'], FILTER_VALIDATE_EMAIL))
            $email_fout = 1;
    // antiflood controle
    if (!empty($_SESSION['antiflood']))
    {
        $seconde = 120; // 120 seconden voordat dezelfde persoon nog een keer een e-mail mag versturen
        $tijd = time() - $_SESSION['antiflood'];
        if($tijd < $seconde)
            $antiflood =1 ;
    }
}

// Kijk of alle velden zijn ingevuld - naam mag alleen uit letters bestaan en het e-mailadres moet juist zijn
if (($_SERVER['REQUEST_METHOD'] == 'POST' && (!empty($antiflood) || empty($_POST['naam']) || !empty($naam_fout) || empty($_POST['email']) || empty($_POST['stickerkeus']) || !empty($email_fout) || empty($_POST['telefoon']) || empty($_POST['adres']))) || $_SERVER['REQUEST_METHOD'] == 'GET')
{
    if ($_SERVER['REQUEST_METHOD'] == 'POST')
    {
        if (!empty($naam_fout))
            echo '<p>Uw naam is niet ingevuld.</p>';
        elseif (!empty($email_fout))
            echo '<p>Uw e-mailadres is niet juist.</p>';
        elseif (!empty($antiflood))
            echo '<p>U mag slechts &eacute;&eacute;n bericht per ' . $seconde . ' seconde versturen.</p>';
        else
            echo '<p>U bent uw naam, e-mailadres, adres of stickerkeuze vergeten in te vullen.</p>';
    }

  // HTML e-mail formlier
  
    echo '  
Prijzen zijn exclusief verzend kosten van een postzegel!  ';


  echo '<form method="post" action="' . $_SERVER['REQUEST_URI'] . '" />
<p>

<table width="600" border="0" cellpadding="0" cellspacing="0">
  <tr>
    <td width="200"><label for="naam">Naam:</label></td>
    <td width="200"><input type="text" id="naam" name="naam" value="' . (isset($_POST['naam']) ? htmlspecialchars($_POST['naam']) : '') . '" /></td>
    <td width="200">&nbsp;</td>
  </tr>
  <tr>
    <td><label for="adres">Adres:<label></td>
    <td><input type="text" id="adres" name="adres" value="' . (isset($_POST['adres']) ? htmlspecialchars($_POST['adres']) : '') . '"/></td>
    <td>&nbsp;</td>
  </tr>
  <tr>
    <td><label for="postcode">Postcode:</label></td>
    <td><input type="text" id="postcode" name="postcode" value="' . (isset($_POST['postcode']) ? htmlspecialchars($_POST['postcode']) : '') . '"/></td>
    <td>&nbsp;</td>
  </tr>
  <tr>
    <td><label for="woonplaats">Woonplaats:</label></td>
    <td><input type="text" id="woonplaats" name="woonplaats" value="' . (isset($_POST['woonplaats']) ? htmlspecialchars($_POST['woonplaats']) : '') . '"/></td>
    <td>&nbsp;</td>
  </tr>
  <tr>
    <td><label for="email">E-mail:</label></td>
    <td><input type="text" id="email" name="email" value="' . (isset($_POST['email']) ? htmlspecialchars($_POST['email']) : '') . '" /></td>
    <td>&nbsp;</td>
  </tr>
  <tr>
    <td><label for="telefoon">Telefoon:</label></td>
    <td><input type="text" id="telefoon" name="telefoon" value="' . (isset($_POST['telefoon']) ? htmlspecialchars($_POST['telefoon']) : '') . '" /></td>
    <td>&nbsp;</td>
  </tr>
  <tr>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
  </tr>
  <tr>
    <td><div align="center">MEET MY BIKE</div></td>
    <td><div align="center">
      <p>MEET MY BIKE <br />
        SINCE  2014 </p>
    </div></td>
    <td><div align="center">MEET MY BIKE<br />
    JOIN OUR RIDE-OUTS</div></td>
  </tr>
  <tr>
    <td><div align="center"><img src="http://meetmybike.nl/wp-content/uploads/2016/01/Meet-My-Bike-Logo-Sticker-Clean.jpg" alt="" width="126" height="105" /></div></td>
    <td><div align="center"><img src="http://meetmybike.nl/wp-content/uploads/2016/01/Meet-My-Bike-Logo-Sticker-Since.jpg" alt="" width="126" height="105" /></div></td>
    <td><div align="center"><img src="http://meetmybike.nl/wp-content/uploads/2016/01/Meet-My-Bike-Logo-Sticker-01-16.jpg" alt="" width="126" height="105" /></div></td>
  </tr>
  <tr>
    <td><div align="center">5cm</div></td>
    <td><div align="center">5cm</div></td>
    <td><div align="center">5cm</div></td>
  </tr>
  <tr>
    <td><div align="center">
      <select name="aantal5c">
        <option selected="selected" value=" ">Selecteer aantal</option>
        <option value="0">0</option>
        <option value="1">1</option>
        <option value="2">2</option>
        <option value="3">3</option>
        <option value="4">4</option>
        <option value="5">5</option>
        <option value="meer dan 5">5+</option>
      </select>
    </div></td>
    <td><div align="center">
      <select name="aantal5s">
        <option selected="selected"value=" ">Selecteer aantal</option>
        <option value="0">0</option>
        <option value="1">1</option>
        <option value="2">2</option>
        <option value="3">3</option>
        <option value="4">4</option>
        <option value="5">5</option>
        <option value="meer dan 5">5+</option>
      </select>
    </div></td>
    <td><div align="center">
      <select name="aantal5joro">
        <option selected="selected" value=" ">Selecteer aantal</option>
        <option value="0">0</option>
        <option value="1">1</option>
        <option value="2">2</option>
        <option value="3">3</option>
        <option value="4">4</option>
        <option value="5">5</option>
        <option value="meer dan 5">5+</option>
      </select>
    </div></td>
  </tr>
  <tr>
    <td><div align="center">10cm</div></td>
    <td><div align="center">10cm</div></td>
    <td><div align="center">10cm</div></td>
  </tr>
  <tr>
    <td><div align="center">
      <select name="aantal10c">
        <option selected="selected" value=" ">Selecteer aantal</option>
        <option value="0">0</option>
        <option value="1">1</option>
        <option value="2">2</option>
        <option value="3">3</option>
        <option value="4">4</option>
        <option value="5">5</option>
        <option value="meer dan 5">5+</option>
      </select>
    </div></td>
    <td><div align="center">
      <select name="aantal10s">
        <option selected="selected"value=" ">Selecteer aantal</option>
        <option value="0">0</option>
        <option value="1">1</option>
        <option value="2">2</option>
        <option value="3">3</option>
        <option value="4">4</option>
        <option value="5">5</option>
        <option value="meer dan 5">5+</option>
      </select>
    </div></td>
    <td><div align="center">
      <select name="aantal10joro">
        <option selected="selected" value=" ">Selecteer aantal</option>
        <option value="0">0</option>
        <option value="1">1</option>
        <option value="2">2</option>
        <option value="3">3</option>
        <option value="4">4</option>
        <option value="5">5</option>
        <option value="meer dan 5">5+</option>
      </select>
    </div></td>
  </tr>
  <tr>
    <td><div align="center">15cm</div></td>
    <td><div align="center">15cm</div></td>
    <td><div align="center">15cm</div></td>
  </tr>
  <tr>
    <td><div align="center">
      <select name="aantal15c">
        <option selected="selected" value=" ">Selecteer aantal</option>
        <option value="0">0</option>
        <option value="1">1</option>
        <option value="2">2</option>
        <option value="3">3</option>
        <option value="4">4</option>
        <option value="5">5</option>
        <option value="meer dan 5">5+</option>
      </select>
    </div></td>
    <td><div align="center">
      <select name="aantal15s">
        <option selected="selected"value=" ">Selecteer aantal</option>
        <option value="0">0</option>
        <option value="1">1</option>
        <option value="2">2</option>
        <option value="3">3</option>
        <option value="4">4</option>
        <option value="5">5</option>
        <option value="meer dan 5">5+</option>
      </select>
    </div></td>
    <td><div align="center">
      <select name="aantal15joro">
        <option selected="selected" value=" ">Selecteer aantal</option>
        <option value="0">0</option>
        <option value="1">1</option>
        <option value="2">2</option>
        <option value="3">3</option>
        <option value="4">4</option>
        <option value="5">5</option>
        <option value="meer dan 5">5+</option>
      </select>
    </div></td>
  </tr>
</table>
      <input type="submit" name="submit" value=" Versturen " />
  </p>
  </form>';
}
// versturen naar
else
{      
  // set datum
  $datum = date('d/m/Y H:i:s');
    
  $inhoud_mail = "===================================================\n";
  $inhoud_mail .= "BAM!!! " . htmlspecialchars($_POST['naam']) ." wilt Stickers bestellen! \n" /*. $_SERVER['HTTP_HOST'] . ""*/;
  $inhoud_mail .= "===================================================\n\n";
  
  $inhoud_mail .= "Naam: " . htmlspecialchars($_POST['naam']) . "\n";
  $inhoud_mail .= "Adres: " . htmlspecialchars($_POST['adres']) . "\n";
  $inhoud_mail .= "Postcode:" .htmlspecialchars($_POST['postcode']) ."\n";
  $inhoud_mail .= "Woonplaats:" .htmlspecialchars($_POST['woonplaat']) ."\n";
  $inhoud_mail .= "Mail: " . htmlspecialchars($_POST['email']) . "\n";
  $inhoud_mail .= "Telefoon: " . htmlspecialchars($_POST['telefoon']) . "\n";
  
  $inhoud_mail .= "Stickers: " .htmlspecialchars($_POST['']) . "\n";
    
  $inhoud_mail .= "Verstuurd op " . $datum . " \n\n";
    
  $inhoud_mail .= "===================================================\n\n";
  
  // -------------------- via het IP adres " . $_SERVER['REMOTE_ADDR'] . "
  // spambot protectie
  // ------
  // van de tutorial: http://www.phphulp.nl/php/tutorial/beveiliging/spam-vrije-contact-formulieren/340/
  // ------
  
  $headers = 'From: ' . htmlspecialchars($_POST['naam']) . ' <' . $_POST['email'] . '>';
  
  $headers = stripslashes($headers);
  $headers = str_replace('\n', '', $headers); // Verwijder \n
  $headers = str_replace('\r', '', $headers); // Verwijder \r
  $headers = str_replace("\"", "\\\"", str_replace("\\", "\\\\", $headers)); // Slashes van quotes
  
  $_POST['onderwerp'] = str_replace('\n', '', $_POST['onderwerp']); // Verwijder \n
  $_POST['onderwerp'] = str_replace('\r', '', $_POST['onderwerp']); // Verwijder \r
  $_POST['onderwerp'] = str_replace("\"", "\\\"", str_replace("\\", "\\\\", $_POST['onderwerp'])); // Slashes van quotes
  
  if (mail($mail_ontv, 'Bestelling Stickers', $inhoud_mail, $headers))
  
  
    $datum = date('d/m/Y H:i:s');
    
  $inhoud_mail2 = "===================================================\n";
  $inhoud_mail2 .= "De bestelling is geplaatst! \n" /*. $_SERVER['HTTP_HOST'] . ""*/;
  $inhoud_mail2 .= "===================================================\n\n";
  
  $inhoud_mail2 .= "Beste " . htmlspecialchars($_POST['naam']) .",\n";
  $inhoud_mail2 .= "Hartelijk bedankt voor de bestelling.\n"; 
  $inhoud_mail2 .= "Graag vragen we om onderstaande informatie even te controleren.\n";
  $inhoud_mail2 .= "Mochten er fouten in zitten kun je contact opnemen met [email protected].\n\n";
  
  $inhoud_mail2 .= "Naam: " . htmlspecialchars($_POST['naam']) . "\n";
  $inhoud_mail2 .= "E-mail adres: " . htmlspecialchars($_POST['email']) . "\n";
  $inhoud_mail2 .= "Telefoonnummer: " . htmlspecialchars($_POST['telefoonnummer']) . "\n";
  $inhoud_mail2 .= "Adres: " . htmlspecialchars($_POST['adres']) . "\n";
  $inhoud_mail2 .= "Stickers: " .htmlspecialchars($_POST['']) . "\n";

  
  $inhoud_mail2 .= "Kloppen alle gegevens? Dan mag je op volgend rekeningnummer het bedrag van € 40,95 overmaken:\n";
  $inhoud_mail2 .= "  tnv   Almere ovv Hoodie en je naam.\n\n";  
  $inhoud_mail2 .= "Met vriendelijke groet,\n";
  $inhoud_mail2 .= " \n";
  $inhoud_mail2 .= "Meet My Bike\n\n";
  
    $inhoud_mail2 .= "Verstuurd op " . $datum . " \n\n";

    
  $inhoud_mail2 .= "===================================================\n\n";
  
  // -------------------- via het IP adres " . $_SERVER['REMOTE_ADDR'] . "
  // spambot protectie
  // ------
  // van de tutorial: http://www.phphulp.nl/php/tutorial/beveiliging/spam-vrije-contact-formulieren/340/
  // ------
  
  $headers = 'From: ' . htmlspecialchars($_POST['naam']) . ' <' . $_POST['email'] . '>';
  
  $headers = stripslashes($headers);
  $headers = str_replace('\n', '', $headers); // Verwijder \n
  $headers = str_replace('\r', '', $headers); // Verwijder \r
  $headers = str_replace("\"", "\\\"", str_replace("\\", "\\\\", $headers)); // Slashes van quotes
  
  $_POST['onderwerp'] = str_replace('\n', '', $_POST['onderwerp']); // Verwijder \n
  $_POST['onderwerp'] = str_replace('\r', '', $_POST['onderwerp']); // Verwijder \r
  $_POST['onderwerp'] = str_replace("\"", "\\\"", str_replace("\\", "\\\\", $_POST['onderwerp'])); // Slashes van quotes
  
  if (mail($mail_ontv2, 'Bestelling Hoodie', $inhoud_mail2, $headers))
 
{
      // zorg ervoor dat dezelfde persoon niet kan spammen
      $_SESSION['antiflood'] = time();
      
      echo '<h1>Je bestelling is verzonden</h1>
      
      <p>Bedankt voor het bestellen van je Stickers!! We zullen zo spoedig mogelijk contact met je opnemen.</p>';
  }
  else
  {
      echo '<h1>Helaas, je bestelling is niet verzonden</h1>
      
      <p><b>Onze excuses.</b> Je bestelling kon om technische redenen niet verzonden worden.</p>';
  }
}
?>
Dan heb je hier in admin-init.php:30 (lijn 30 dus) toch ergens een stukje output staan.
Dat dat mag dus niet ;-)
Dat is grappig..... Aangezien ik daar niks mee heb gedaan hahaha....


add_action( 'init', 'woo_version_init', 10 );

function woo_version () {
    $data = wooframework_get_theme_version_data();
	echo "\n<!-- Theme version -->\n";
    if ( isset( $data['is_child'] ) && true == $data['is_child'] ) echo '<meta name="generator" content="'. esc_attr( $data['child_theme_name'] . ' ' . $data['child_theme_version'] ) . '" />' ."\n";
    echo '<meta name="generator" content="'. esc_attr( $data['theme_name'] . ' ' . $data['theme_version'] ) . '" />' ."\n";
    echo '<meta name="generator" content="WooFramework '. esc_attr( $data['framework_version'] ) .'" />' ."\n";
} // End woo_version()


regel 30:

    echo '<meta name="generator" content="'. esc_attr( $data['theme_name'] . ' ' . $data['theme_version'] ) . '" />' ."\n";


Overigens is mijn hele binnenhalen van de bestelling 1 groot drama hahaha.... Maar het betreft nog steeds hetzelfde formulier.
Mag ik dat hier ook plaatsen of voor de goede orde een nieuw topic aanmaken? @-Ariën-
Als het een volledig ander probleem is, dan raad ik aan om daar een nieuw topic over te starten.
Top! Ga ik doen! Dit topic is voor mij gesloten. Alles komt binnen :)
Bedankt voor alle reacties en hulp!!
$mail_ontv2 = ($_POST['email']);

Zou ik verplaatsen na de request-method if()

en dan vervangen door

$mail_ontv2 = filter_input(INPUT_POST, 'email', FILTER_SANITIZE_EMAIL);

http://php.net/filter-input
en
http://php.net/manual/en/filter.filters.sanitize.php

Als iemand een van de velden als emailadres, subject of een andere header weet aan te passen met onder andere enters, dan kan hij mogelijk de hele email overnemen en zelf een tekst bepalen en ook de ontvangers.
Dus waarschijnlijk zie je dan zelf niet eens de mails binnen komen.
- Ariën - op 01/02/2016 20:59:00
Als er CSS, HTML of andere vorm van output (zelfs een spatie of een enter) voor een session_start() staat, zal dat betekenen dat je sessies niet uitgevoerd kunnen worden. Altijd gaan er headers aan een request van een pagina vooraf, deze beschrijven de pagina en plaatsen bijv. cookies.

Dit is niet per definitie zo, in sommige installaties/pakketten staat output buffering aan, ook al is dit niet de standaard instelling.

Als je uitgaat van default instellingen kom je nogal eens bedrogen uit.

Reageren