login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Contactformulier check gaat niet verder bij lange tekst.

Offline JJPP - 25/05/2011 11:27 (laatste wijziging 25/05/2011 11:28)
Avatar van JJPPNieuw lid Goedemorgen,

ik ben nieuw hier, maar heb hier al erg veel info weggehaald laatste jaren !

Echter loop ik nu tegen een beetje vreemd ding aan, en ik hoop dat jullie me kunnen helpen 

Ik heb een contactformulier gemaakt, welke gecheckt wordt door een "mailer.php" (spamcode etc. wordt dan gecheckt).

Dit werkt allemaal perfect, echter is het probleem als volgt.

Als iemand in het tekstvak 2 of 3 regels typt en op Verzenden drukt, gaat alles goed, als je de spamcode (catchapa ofzo) goed hebt , krijg je dan een bericht van mailer.php dat het gelukt is en als de code fout is geeft hij dit ook netjes aan en kun je het opnieuw proberen.

Echter als iemand een heel 'verhaal' typt (bijv. vanaf 5 regels), en op verzenden drukt met een verkeerde spamcode, dan blijft hij hangen op de mailer.php... Je ziet dan gewoon een wit scherm, en ik kom er niet uit waarom hij dit doet. Als je overigens de spamcode wél goed intypt gaat hij weer WEL gewoon door....  

Komt iemand dit bekend voor?

Deze code gebruik ik bij contact.php:

In de head:
  1. <script>
  2. function refreshImage()
  3. {
  4. var url = "verificationimage.php?p=" + Math.random();
  5. document.getElementById("verImage").setAttribute('src', url);
  6. }
  7. </script>


en de body:
  1. <form action="mailer.php" method="post" name="form1" id="form1" style="margin:0px; font-family: Helvetica; font-size:11px; width:750px;" onsubmit="MM_validateForm('email','','RisEmail','Onderwerp','','R','antispam_box','','R','Vraag_Opmerking','','R');return document.MM_returnValue">
  2. <p>&nbsp;</p>
  3. <p>Uw Emailadres:<br />
  4. <input name="email" type="text" id="email" tabindex="1" style="padding:2px; border:1px solid #CCCCCC; width:180px; height:14px; font-family: Helvetica; :11px;" value="<?php echo $_GET['email'];?>"/>
  5.  
  6. <br />
  7. <br />
  8. Onderwerp:<br />
  9. <input name="Onderwerp" type="text" id="Onderwerp" tabindex="2" style="padding:2px; border:1px solid #CCCCCC; width:180px; height:14px;font-family: Helvetica; font-size:11px;" value="<?php echo $_GET['Onderwerp'];?>"/>
  10. <br />
  11. <br />
  12. Type hier de anti-spam code:<br />
  13. <input name="antispam_box" type="text" tabindex="3" id="antispam_box" style="padding:2px; border:1px solid #CCCCCC; width:180px; height:14px;font-family: Helvetica; font-size:11px;"/>
  14. <img id="verImage" src="verificationimage.php?<?php echo rand(0,9999);?>" alt="Anti-spam code, type het in het invoer vak" align="absbottom" />&nbsp;&nbsp;<a href="#" onclick="refreshImage();return false;"><img src=images/refresh.png alt="Genereer een nieuwe code." width="15" height="18" /></a><br />
  15. <br />
  16.  
  17. <!-- if the variable "wrong_code" is sent from previous page then display the error field -->
  18. <?php if(isset($_GET['wrong_code'])){?>
  19. </p>
  20. <div style="border:1px solid #990000; background-color:#D70000; color:#FFFFFF; padding:4px; padding-left:6px; width:730px;">Sorry, de ingevoerde code is niet juist. Probeer het a.u.b. opnieuw. Neem, wanneer het probleem zich blijft voort doen, contact op met de <a href="wm.php">webmaster</a>.</div>
  21. <p><br />
  22. <?php ;}?>
  23.  
  24. Gebruik onderstaand tekstvak voor uw vraag / opmerking:<br />
  25. <textarea name="Vraag_Opmerking" cols="2" rows="7" id="Vraag_Opmerking" tabindex="4" style="padding:2px; border:1px solid #CCCCCC; width:300px; font-family: Helvetica; font-size:11px;"><?php echo $_GET['Vraag_Opmerking'];?></textarea>
  26. </p>
  27. <p>
  28. <input name="Submit" type="submit" tabindex="5" style="margin-top:10px; border:1px solid #000000; width:100px; height:20px;font-family: Helvetica; font-size:11px; padding-left:2px; padding-right:2px; padding-top:0px; padding-bottom:2px; line-height:14px; background-color:#EFEFEF;" value="Verzenden"/>
  29.  
  30.  
  31. <input name="Reset" type="reset" tabindex="6" style="margin-top:10px; border:1px solid #000000; width:100px; height:20px;font-family: Helvetica; font-size:11px; padding-left:2px; padding-right:2px; padding-top:0px; padding-bottom:2px; line-height:14px; background-color:#EFEFEF;" value="Wissen"/>
  32. </p>
  33. </form>


Dan, in mailer.php:
  1. <?php
  2.  
  3.  
  4. // load the variables form address bar
  5. $Onderwerp = $_POST["Onderwerp"];
  6. $Vraag_Opmerking = $_POST["Vraag_Opmerking"];
  7. $email = $_POST["email"];
  8. $antispam_box = $_POST["antispam_box"];
  9.  
  10. // remove the backslashes that normally appears when entering " or '
  11. $Vraag_Opmerking = stripslashes($Vraag_Opmerking);
  12. $Onderwerp = stripslashes($Onderwerp);
  13. $email = stripslashes($email);
  14.  
  15. // check to see if verificaton code was correct
  16. if(md5($antispam_box).'a4xn' == $_COOKIE['tntcon']){
  17. // if verification code was correct send the FeedBack_Problem and show this page
  18. mail("info@domeinnaam.nl", 'Een nieuw bericht verzonden vanaf de website over: '.$Onderwerp, $_SERVER['REMOTE_ADDR']."\n\n".$Vraag_Opmerking, "From: $email");
  19. // delete the cookie so it cannot sent again by refreshing this page
  20. setcookie('tntcon','');
  21. } else if(isset($Vraag_Opmerking) and $Vraag_Opmerking!=""){
  22. // if verification code was incorrect then return to contact page and show error
  23. header("Location:".$_SERVER['HTTP_REFERER']."?email=$email&Vraag_Opmerking=$Vraag_Opmerking&Onderwerp=$Onderwerp&wrong_code=true");
  24. } else {
  25. echo "Er is iets fout gegaan, probeer het a.u.b. opnieuw.";
  26. }
  27. ?>

2 antwoorden

Gesponsorde links
Offline marten - 25/05/2011 12:30
Avatar van marten Beheerder Het heeft te maken met de url. Je stuurt de gegevens via de url door naar een andere pagina. Een url is echter beperkt tot een aantal tekens. Je kan ze in een sessie zetten?

Succes!
Bedankt door: ikshoponline
Offline JJPP - 25/05/2011 12:36
Avatar van JJPP Nieuw lid Hoi Marten,

bedankt voor je reactie, hiermee heb ik helaas geen ervaring. Kun je uitleggen wat je precies bedoelt met in sessie zetten?
Gesponsorde links
Je moet ingelogd zijn om een reactie te kunnen posten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.188s