Hallo,

Vage titel maar kon het niet beter omschrijven.

Het volgende:
Ik heb een captcha code ingevoegd in mijn contact formulier. Nu als je de code goed invuld maar voor de rest geen velden laat hij niks zien als je op verzenden klikt. Normaal, zonder captcha code komt er dan te staan. U heeft niet alle velden ingevuld.

code:

        <?php 
session_start(); 

if (md5($_POST['norobot']) == $_SESSION['randomnr2']) {
echo "";
}

else {
echo "";
footer3();
footer();
exit;
} 

?> 

<?php
$datum = date("j F Y");
$dagvanweek = date("l");
$arraydag = array(
"Zondag",
"Maandag",
"Dinsdag",
"Woensdag",
"Donderdag",
"Vrijdag",
"Zaterdag"
);
$dagvanweek = $arraydag[date("w")];
$arraymaand = array(
"Januari",
"Februari",
"Maart",
"April",
"Mei",
"Juni",
"Juli",
"Augustus",
"September",
"Oktober",
"November",
"December"
);
$datum = date("j ") . $arraymaand 
[date("n") - 1] . date(" Y"); 
?>

<?php

$ip = $_SERVER['REMOTE_ADDR'];
$httpref = $_POST['httpref']; 
$httpagent = $_POST['httpagent']; 
$time = date("G:i") ;
$naam = $_POST['naam']; 
$naam2 = $_POST['naam2'];
$telefoon = $_POST['telefoon'];
$email = $_POST['email'];
$onderwerp = $_POST['onderwerp'];
$bericht = $_POST['bericht'];


if(!$email == "" && (!strstr($email,"@") || !strstr($email,"."))) {
echo ""; 
footer();
footer1();
exit;
}

if(empty($naam) || empty($email) || empty($naam2) || empty($bericht) || empty($onderwerp)) {
echo "";
footer();
footer2();
exit;
}

$attn = $attn ; 
$subject = "Bericht van $naam $naam2"; 
$subject2 = "Kopie van uw bericht naar Joris Theiner"; 
$message = "Naam: $naam $naam2 
Telefoon: $telefoon 
E-mail: $email \n
Onderwerp: $onderwerp
Bericht: $bericht \n
Verstuurd op: $dagvanweek $datum om $time \n
Ip adres: $ip";

mail("****@****.nl", $subject, $message, "From: $email");
mail($email, $subject2, $message, "From: $email");

?>

Bedankt <?php echo $naam ?> voor het versturen van uw e-mail.<br>
</p>
       <p>De volgende gegevens zijn opgestuurd:<br />
         Naam: <?php echo $naam ?>  <?php echo $naam2 ?><br />
         Telefoon: <?php echo $telefoon ?><br />
         E-mail: <?php echo $email ?></p>
       <p>Onderwerp: <?php echo $onderwerp ?><br>
       Bericht: <?php echo $bericht ?><br />
           <br />
         Ip adres: <?php echo $ip ?><br />
              <br />
            <a href="javascript:javascript:history.go(-1)">Ga terug</a> of <a href="http://joris.theiner.nl"> Ga naar de hoofd pagina</a></p>
       <p>            <?php function footer1() { ?>
Je e-mail aders was niet correct.<br>
A.u.b. probeer opnieuw. <a href="javascript:javascript:history.go(-1)">Ga terug.</a>
         <?php }; ?>
         </p>
       <p>
         <?php function footer2() { ?>
         Je hebt niet allen velden ingevuld. <br>
         A.u.b. probeer opnieuw. <a href="javascript:javascript:history.go(-1)">Ga terug.</a>
         <?php }; ?>
       </p>
       <p>
         
         <?php function footer3() { ?>
         Je hebt geen goede code ingevuld. <br>
         A.u.b. probeer opnieuw. <a href="javascript:javascript:history.go(-1)">Ga terug.</a>
         <?php }; ?>
       </p>
       

       <?php footer(); ?>
            <?php function footer() { ?>

       </td>
   </tr>
 </table>


alvast bedantk voor de reacties!
Dus de email is niet goed en dan stopt het script bij exit.
Logisch dus dat er verder niks op het scherm komt.
hoe is het dan mogelijk dat hij die exit niet gaat uitvoeren bij de else maar doorgaat met de rest van het formulier?
Welke exit bij welke else?
Dit stukje is van die captcha:

<?php 
session_start(); 

if (md5($_POST['norobot']) == $_SESSION['randomnr2']) {
echo "";
}

else {
echo "";
footer3();
footer();
exit;
} 

?> 


deze else bedoel ik...

moet ik niet iets maken zodat hij verwijst naar het volgende php stukje of zo? bijvoorbeeld:


<?php 
session_start(); 

if (md5($_POST['norobot']) == $_SESSION['randomnr2']) {
echo "";
go to next php
}

else {
echo "";
footer3();
footer();
exit;
} 

?> 


Alvast bedankt hè!
Beter is om het overbodige er uit te halen.
<?php
session_start();

if (md5($_POST['norobot']) != $_SESSION['randomnr2'])
{
echo "Robot";
footer3();
footer();
exit;
}
?>

Maar zoals je reeds gemerkt moet hebben ging ie hier al langs omdat md5($_POST['norobot']) gelijk is aan $_SESSION['randomnr2'].
Ik heb nu het een en ander gewijzigd en ben er achter gekomen dat het script prima werkt. Maar het php script daar onder van het e-mail formulier niet meer werkt... dat slaat hij over. Moet ik dat ook in zo'n footer zetten?

Reageren