Ben bezig met een uitgebreid contactformulier.
Echter wanneer ik deze test krijg ik een witte pagina.
Ook geen foutmeldingen wanneer ik ze leeg laat.
kan iemand me misschien zeggen wat ik fout doe?


<?php
if(isset($_POST['email'])) {
 
    // EDIT THE 2 LINES BELOW AS REQUIRED
    $email_to = "email verwijdert om privacy redenen";
    $email_subject = "Recruitment Form";
 
    function died($error) {
        // your error code can go here
        echo "Er zijn nog enkele fouten gevonden. ";
        echo "De fouten worden hieronder weergegeven.<br /><br />";
        echo $error."<br /><br />";
        echo "Gelieve deze fouten op te lossen en het formulier op.<br /><br />";
3        die();
    }
 
 
    // validation expected data exists
    if(!isset($_POST['naam']) ||
        !isset($_POST['straat']) ||
        !isset($_POST['stad']) ||
        !isset($_POST['postcode']) ||        
		!isset($_POST['provincie']) ||
        !isset($_POST['geslacht']) ||
        !isset($_POST['aantal']) ||        
		!isset($_POST['email']) ||
        !isset($_POST['fblink']) ||
        !isset($_POST['instalink']) ||
        !isset($_POST['subject'])) {
        died('We are sorry, but there appears to be a problem with the form you submitted.');       
    }
 
     
 
    $naam = $_POST['naam']; // required
    $straat = $_POST['straat']; // required
    $stad = $_POST['stad']; // required
    $postcode = $_POST['postcode']; // required
    $provincie = $_POST['provincie']; // required
    $geslacht = $_POST['geslacht']; // required
    $aantal = $_POST['aantal']; // required
    $email_from = $_POST['email']; // required
    $fblink = $_POST['fblink']; // not required
    $instalink = $_POST['instalink']; // not required    
	$subject = $_POST['subject']; // required

 
    $error_message = "";
    $email_exp = '/^[A-Za-z0-9._%-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,4}$/';
 
  if(!preg_match($email_exp,$email_from)) {
    $error_message .= 'Het emailadres dat u ingegeven hebt is niet correct.<br />';
  }
 
    $string_exp = "/^[A-Za-z .'-]+$/";
 
  if(!preg_match($string_exp,$naam)) {
    $error_message .= 'Geen Naam opgegeven.<br />';
  }
 
  if(!preg_match($string_exp,$straat)) {
    $error_message .= 'Geen Straat ingegeven.<br />';
  }
   if(!preg_match($string_exp,$stad)) {
    $error_message .= 'Geen Stad opgegeven.<br />';
  }
 
  if(!preg_match($string_exp,$postcode)) {
    $error_message .= 'Geen Postcode ingegeven.<br />';
  }
   if(!preg_match($string_exp,$provincie)) {
    $error_message .= 'Geen Provincie opgegeven.<br />';
  }
 
  if(!preg_match($string_exp,$email_from)) {
    $error_message .= 'Geen Email ingegeven.<br />';
  }
 
  if(strlen($subject) < 2) {
    $error_message .= 'The Comments you entered do not appear to be valid.<br />';
  }
 
  if(strlen($error_message) > 0) {
    died($error_message);
  }
 
    $email_message = "Form details below.\n\n";
 
     
    function clean_string($string) {
      $bad = array("content-type","bcc:","to:","cc:","href");
      return str_replace($bad,"",$string);
    }
 
     
 
    $email_message .= "Naam: ".clean_string($naam)."\n";
    $email_message .= "Straat: ".clean_string($straat)."\n";
    $email_message .= "Stad: ".clean_string($stad)."\n";
    $email_message .= "Postcode: ".clean_string($postcode)."\n";
    $email_message .= "Provincie: ".clean_string($provincie)."\n";
	$email_message .= "Geslacht: ".clean_string($geslacht)."\n";
    $email_message .= "Aantal keer vissen per maand: ".clean_string($aantal)."\n";
    $email_message .= "Email: ".clean_string($email_from)."\n";
    $email_message .= "fblink: ".clean_string($fblink)."\n";
    $email_message .= "instalink: ".clean_string($instalink)."\n";
    $email_message .= "Waarom wil je joinen?: ".clean_string($subject)."\n";
 
// create email headers
$headers = 'From: '.$email_from."\r\n".
'Reply-To: '.$email_from."\r\n" .
'X-Mailer: PHP/' . phpversion();
@mail($email_to, $email_subject, $email_message, $headers);  
?>
 
<!-- include your own success html here -->
 
Dank u voor uw interesse.<br>
We nemen spoedig contact met u op.

 
<?php
 
}
?>


[size=xsmall]Toevoeging op 21/03/2020 11:35:22:[/size]

Alsook hoe zorg ik dat dit niet in de link verschijnt :/test/send.php?naam=&straat=&stad=&postcode=&provincie=&geslacht=man&aantal=1&email=&fblink=&instalink=&subject=
Ik heb een vermoeden dat je in je formulier vergten bent aan te geven dat je method="POST" gebruikt. Anders gaat die over op GET, en stuurt hij de waardes via GET en dus via de URL's door naar het script.

Daarnaast een paar opmerkingen:
- Lijn 35 t/m 45 is overbodig, omdat je bestaande variabelen zomaar kopieert zonder dat je wat toevoegt. Je kan je $_POST variabelen prima in het vervolg gebruiken.
- Iemand met als mailadres ikben@pietjeuit.amsterdam sluit je nu buiten. Het is beter om gebruik te maken van deze structuur:


<?php
if (filter_var($email, FILTER_VALIDATE_EMAIL)) {
    echo $email." is geldig";
} else {
    echo $email." is niet geldig";
}
?>


- Een isset is niet bepaalde een validatie of iets in ingevuld. Zelf een spatie is gewoon mogelijk.
Een controle op deze manier is effectiever, en met name met trim() omdat die overtollige spaties verwijderd.

<?php
if(trim($var) == "") {
 // er is niks ingevuld
} else {
 // er is wel wat ingevuld
}
?>


bovenaan: <form action="./send.php">

knop :<input type="submit" value="Verstuur">

de rest van uw reactie ga ik proberen te ontcyferen want doe nog niet zolang aan php hehe

Je vergeet method="POST" mee te geven in je <form....) tag).
Dan zal het al een stuk beter gaan.

En als je iets niet begrijpt, mag je gerust vragen wat er precies bedoeld wordt ;-)

Daarnaast is het niet nodig om het voorgaande bericht op het forum volledig te quoten. Daarom heb je je bericht ingekort.
heb de method="get" toegevoegd maar blijf met die blanco pagina zitten...
<!DOCTYPE html>
<html>
<head>
<title>Join Our Team</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<style>
* {
  box-sizing: border-box;
}
body {background-color: #ffa500;}
input[type=text], select, textarea {
  width: 100%;
  padding: 12px;
  border: 1px solid #ccc;
  border-radius: 4px;
  resize: vertical;
}

label {
  padding: 12px 12px 12px 0;
  display: inline-block;
}

input[type=submit] {
  background-color: #ffa500;
  color: #000000;
  padding: 12px 20px;
  border: none;
  border-radius: 4px;
  cursor: pointer;
  float: right;
}

input[type=submit]:hover {
  background-color: #45a049;
}

.container {
  border-radius: 5px;
  background-color: #000000;
  padding: 20px;
}

.col-25 {
  float: left;
  width: 25%;
  margin-top: 6px;
}

.col-75 {
  float: left;
  width: 75%;
  margin-top: 6px;
}

/* Clear floats after the columns */
.row:after {
  content: "";
  display: table;
  clear: both;
}

/* Responsive layout - when the screen is less than 600px wide, make the two columns stack on top of each other instead of next to each other */
@media screen and (max-width: 600px) {
  .col-25, .col-75, input[type=submit] {
    width: 100%;
    margin-top: 0;
  }
}
</style>
</head>
<body>
<div><em><strong><center>Wil je ons team versterken gelieve dan even dit formulier in te vullen.<br>
Velden met een * zijn verplicht.</center></strong></em></div>
<div class="container">
  <form action="./send.php" method="get">
<!-- Naam Van de persoon -->    
	<div class="row">
      <div class="col-25">
		  <label for="naam"><font color="#ffa500"><strong>*Volledige naam:</strong></font></label>
      </div>
      <div class="col-75">
        <input type="text" id="naam" name="naam" placeholder="Uw Naam.." required">
      </div>
    </div>
<!-- Einde Naam Van de persoon -->    
    
	<div class="row">
      <div class="col-25">
		  <label for="straat"><font color="#ffa500"><strong>*Straat + Huisnummer:</strong></font></label>
      </div>
      <div class="col-75">
        <input type="text" id="straat" name="straat" placeholder="Straat + Huisnummer.." required">
      </div>
    </div>
	
	<div class="row">
      <div class="col-25">
		  <label for="stad"><font color="#ffa500"><strong>*Stad:</strong></font></label>
      </div>
      <div class="col-75">
        <input type="text" id="stad" name="stad" placeholder="Stad.." required">
      </div>
    </div>

   <div class="row">
      <div class="col-25">
		  <label for="postcode"><font color="#ffa500"><strong>*Postcode:</strong></font></label>
      </div>
      <div class="col-75">
        <input type="text" id="postcode" name="postcode" placeholder="Postcode.." required">
      </div>
    </div>
    
	<div class="row">
      <div class="col-25">
		  <label for="provincie"><font color="#ffa500"><strong>*Provincie:</strong></font></label>
      </div>
      <div class="col-75">
        <input type="text" id="provincie" name="provincie" placeholder="Provincie.." required">
      </div>
    </div>
        
	  
	 <div class="row">
      <div class="col-25">
        <label for="geslacht"><font color="#ffa500"><strong>*Geslacht:</strong></font></label>
     </div>
     	 <div class="col-75">
        <select id="geslacht" name="geslacht" required">
          <option value="man">Man</option>
          <option value="vrouw">Vrouw</option>
        </select>
      </div>
	</div> 

	<div class="row">
      <div class="col-25">
        <label for="aantal"><font color="#ffa500"><strong>*Hoe vaak ga je vissen?</strong></font></label>
      </div>
      <div class="col-75">
        <select id="aantal" name="aantal">
          <option value="1">1-3 keer per maand</option>
          <option value="1">3-5 keer per maand</option>
          <option value="3">5-10 keer per maand</option>
          <option value="4">10+ keer per maand</option>        
		</select>
      </div>
	</div>
	
	<div class="row">
      <div class="col-25">
		  <label for="email"><font color="#ffa500"><strong>*Email:</strong></font></label>
      </div>
      <div class="col-75">
        <input type="text" id="email" name="email" placeholder="Emailadres.. (Nodig om u te contacteren)" required">
      </div>
    </div>

	<div class="row">
      <div class="col-25">
		  <label for="fblink"><font color="#ffa500"><strong>Facebook:</strong></font></label>
      </div>
      <div class="col-75">
        <input type="text" id="fblink" name="fblink" placeholder="Link van je Facebook account.." required">
      </div>
    </div>

	<div class="row">
      <div class="col-25">
		  <label for="instalink"><font color="#ffa500"><strong>Instagram:</strong></font></label>
      </div>
      <div class="col-75">
        <input type="text" id="instalink" name="instalink" placeholder="Link van je Instagram account.." required">
      </div>
    </div>	
	
	    <div class="row">
      <div class="col-25">
        <label for="subject"><font color="#ffa500"><strong>Waarom wil je bij het Team? <br>
							Geef een paar zinnen waarom je zou willen joinen.</strong></font></label>
      </div>
      <div class="col-75">
        <textarea id="subject" name="subject" placeholder="Geef een woordje uitleg.." style="height:200px"></textarea>
      </div>
    </div>
<br>

    <div class="row">
      <input type="submit" value="Verstuur">
    </div>


	
  </form>
</div>

</body>
</html>

Huh? Waarom method="GET" ?
Oeps foutje.
Nu krijg ik wel iets.

Zelfs al heb ik alle velden ingevuld dan krijg ik :

Er zijn nog enkele fouten gevonden. De fouten worden hieronder weergegeven.

Het emailadres dat u ingegeven hebt is niet correct.
Geen Naam opgegeven.
Geen Straat ingegeven.
Geen Stad opgegeven.
Geen Postcode ingegeven.
Geen Provincie opgegeven.
Geen Email ingegeven.
The Comments you entered do not appear to be valid.


Gelieve deze fouten op te lossen en het formulier op.


Zet eens in je PHP-script dit bovenaan neer:
<?php
echo "<pre>".print_r($_POST,true)."</pre>";
?>
In ieder geval weten we dat die velden dus bestaan.
Ik neem aan dat je lijn 35 t/m 45 hebt verwijderd?

Dan moet je die $_POST['....']-variabelen ook in die preg_match-validaties gebruiken, in plaats van $naam, $straat, $stad enz..

[code]<?php
echo "<pre>".print_r($_POST,true)."</pre>";
?>
<?php
if(isset($_POST['email'])) {
 
    // EDIT THE 2 LINES BELOW AS REQUIRED
    $email_to = "personal";
    $email_subject = "Recruitment Form";
 
    function died($error) {
        // your error code can go here
        echo "Er zijn nog enkele fouten gevonden. ";
        echo "De fouten worden hieronder weergegeven.<br /><br />";
        echo $error."<br /><br />";
        echo "Gelieve deze fouten op te lossen en het formulier op.<br /><br />";
        die();
    }
 
 
    // validation expected data exists
    if(!isset($_POST['naam']) ||
        !isset($_POST['straat']) ||
        !isset($_POST['stad']) ||
        !isset($_POST['postcode']) ||        
		!isset($_POST['provincie']) ||
        !isset($_POST['geslacht']) ||
        !isset($_POST['aantal']) ||        
		!isset($_POST['email']) ||
        !isset($_POST['fblink']) ||
        !isset($_POST['instalink']) ||
        !isset($_POST['subject'])) {
        died('We are sorry, but there appears to be a problem with the form you submitted.');       
    }
 
 
    $error_message = "";
    $email_exp = '/^[A-Za-z0-9._%-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,4}$/';
 
  if(!preg_match($email_exp,$_POST['email'])) {
    $error_message .= 'Het emailadres dat u ingegeven hebt is niet correct.<br />';
  }
 
    $string_exp = "/^[A-Za-z .'-]+$/";
 
  if(!preg_match($string_exp,$_POST['naam'])) {
    $error_message .= 'Geen Naam opgegeven.<br />';
  }
 
  if(!preg_match($string_exp,$_POST['straat'])) {
    $error_message .= 'Geen Straat ingegeven.<br />';
  }
   if(!preg_match($string_exp,$_POST['stad'])) {
    $error_message .= 'Geen Stad opgegeven.<br />';
  }
 
  if(!preg_match($string_exp,$_POST['postcode'])) {
    $error_message .= 'Geen Postcode ingegeven.<br />';
  }
   if(!preg_match($string_exp,$_POST['provincie'])) {
    $error_message .= 'Geen Provincie opgegeven.<br />';
  }
 
  if(!preg_match($string_exp,$_POST['email'])) {
    $error_message .= 'Geen Email ingegeven.<br />';
  }
 
  if(strlen($_POST['subject']) < 2) {
    $error_message .= 'The Comments you entered do not appear to be valid.<br />';
  }
 
  if(strlen($error_message) > 0) {
    died($error_message);
  }
 
    $email_message = "Form details below.\n\n";
 
     
    function clean_string($string) {
      $bad = array("content-type","bcc:","to:","cc:","href");
      return str_replace($bad,"",$string);
    }
 
     
 //    $naam = $_POST['naam']; // required
//    $straat = $_POST['straat']; // required
//    $stad = $_POST['stad']; // required
//    $postcode = $_POST['postcode']; // required
//    $provincie = $_POST['provincie']; // required
//    $geslacht = $_POST['geslacht']; // required
//    $aantal = $_POST['aantal']; // required
    //$email_from = $_POST['email']; // required
//    $fblink = $_POST['fblink']; // not required
//    $instalink = $_POST['instalink']; // not required    
//	$subject = $_POST['subject']; // required

    $email_message .= "Naam: ".clean_string($_POST['naam'])."\n";
    $email_message .= "Straat: ".clean_string($_POST['straat'])."\n";
    $email_message .= "Stad: ".clean_string($_POST['stad'])."\n";
    $email_message .= "Postcode: ".clean_string($_POST['postcode'])."\n";
    $email_message .= "Provincie: ".clean_string($_POST['provincie'])."\n";
	$email_message .= "Geslacht: ".clean_string($_POST['geslacht'])."\n";
    $email_message .= "Aantal keer vissen per maand: ".clean_string($_POST['aantal'])."\n";
    $email_message .= "Email: ".clean_string($_POST['email'])."\n";
    $email_message .= "Facebook: ".clean_string($_POST['fblink'])."\n";
    $email_message .= "Instagram: ".clean_string($_POST['instalink'])."\n";
    $email_message .= "Waarom wil je joinen?: ".clean_string($_POST['subject'])."\n";
 
// create email headers

$headers = 'From: '.$_POST['email']."\r\n".
'Reply-To: '.$_POST['email']."\r\n" .
'X-Mailer: PHP/' . phpversion();
@mail($email_to, $email_subject, $email_message, $headers);  
?>
 
<!-- include your own success html here -->
 
Dank u voor uw interesse.<br>
We nemen spoedig contact met u op.

 
<?php
 
}
?>




Array
(
[naam] => kgghkcghk
[straat] => ljgjvg
[stad] => lglhg
[postcode] => 2222
[provincie] => ghgkglg
[geslacht] => man
[aantal] => 1
[email] => [email protected]
[fblink] =>
[instalink] =>
[subject] => ;jgkufitfkutfkytfktkjugyjfhgfkytfghjiuygtfdtgyhjikoihutfrdtyuhio
)
Er zijn nog enkele fouten gevonden. De fouten worden hieronder weergegeven.

Geen Postcode ingegeven.
Geen Email ingegeven.


Gelieve deze fouten op te lossen en het formulier op.

Reageren