login  Naam:   Wachtwoord: 
Registreer je!
 Forum

mail form

Offline djwojcik - 04/09/2008 22:19
Avatar van djwojcikNieuw lid beste mensjes hier. ik zit met het volgende probleem. Ik heb voor mijn site een mail form. en ik heb daarvoor php gebruikt. alleen ik heb dit nognooit echt goed gekunt. dus ik ben gewoon begonnen en aan gerommeld. maar het lukt me niet om het script zodatnig aan te passen dat hij niet word verzonden zodra er niks is ingevuld,
Het ziet niet mooi uit maar dat moet je ff voor lief nemen. ik hoop dat jullie een oplossing hebben.

Plaatscode: 22508

MVG Robin

11 antwoorden

Gesponsorde links
Offline prienstra - 04/09/2008 22:30
Avatar van prienstra MySQL interesse bij mij doet ie niks. Ik krijg alleen dit:
Uw bericht is niet verstuurd, er trad een fout op! Gebruik a.u.b. een alternatieve methode.
Offline vinTage - 04/09/2008 22:53
Avatar van vinTage Nieuw lid
prienstra schreef:
bij mij doet ie niks. Ik krijg alleen dit:
Uw bericht is niet verstuurd, er trad een fout op! Gebruik a.u.b. een alternatieve methode.


Goh, en waarom dacht je dat dit topic bestond? slimbo  

  1. <?php
  2. if (isset($_POST['submit']))
  3. {
  4. $error = array();
  5. if ($_POST['name'] == "")
  6. {
  7. $error[] = "naam";
  8. }
  9. if ($_POST['email'] == "")
  10. {
  11. $error[] = "e-mail";
  12. }
  13. if ($_POST['message'] == "")
  14. {
  15. $error[] = "bericht";
  16. }
  17.  
  18. if (count($error) == 0)
  19. {
  20. mail("meuk hier"); //hierje bericht etc samenstellen
  21. echo 'verzonden';
  22. }
  23. else
  24. {
  25. foreach($error as $foutje)
  26. {
  27. echo 'stoeme kloot, je moet het '.$foutje.' veld nog invullen !';
  28. }
  29. }
  30. }
  31. else
  32. {
  33. //formulier
  34. }
  35. ?>
Offline djwojcik - 05/09/2008 13:42
Avatar van djwojcik Nieuw lid is er geen standaard stuk php met de melding dat tie neit verzonden word omd at bepaalde arreys neit zijn ingevlud?... en dat ik deze dan aanpas aan dit script?
Offline vinTage - 05/09/2008 15:26
Avatar van vinTage Nieuw lid
djwojcik schreef:
is er geen standaard stuk php met de melding dat tie neit verzonden word omd at bepaalde arreys neit zijn ingevlud?... en dat ik deze dan aanpas aan dit script?


wablief ? 
Offline Kr4nKz1n - 05/09/2008 15:32 (laatste wijziging 05/09/2008 15:35)
Avatar van Kr4nKz1n Onbekend Hij vraagt zich af of de standaard php coding de opdracht tegen houd.
tie = die
neit = niet
word = wordt
omd at = omdat
arreys = arrays
neit = niet (alweer ja)
ingevlud = ingevuld

edit
  1. mail($to,$subject,$body);

Ook even headers mee geven:
http://www.phphulp.nl/php/scripts/4/15/
Offline Hebus - 05/09/2008 15:38 (laatste wijziging 05/09/2008 15:48)
Avatar van Hebus Nieuw lid doormiddel van if else functie kijken of alles in orde is indien niet form terug laten tonen (met aub de reeds ingevulde inhoud ) als alles ok is boel laten verzenden.

vb. (eens stukje van een script dat ik veel gebruik: )
  1. //email controle functie
  2. function check_email($email){
  3. return (eregi(
  4. '^[-!#$%&\'*+\\./0-9=?A-Z^_`{|}~]+'. // de gebruikersnaam
  5. '@'. // het @-teken
  6. '([-0-9A-Z]+\.)+' . // domeinnaam
  7. '([0-9A-Z]){2,6}$', // top-level domain (TLD)
  8. trim($email)));
  9. }
  10.  
  11. // Invoer controle
  12. if (strlen($naam_aanvrager) < 3) {
  13. $error_msg="Voer alstublieft uw naam in.<br>";
  14.  
  15. if(check_email($mail_aanvrager)){
  16. // opgegeven e-mailadres is geldig
  17. }
  18. else{
  19. $error_msg .="Voer alstublieft een geldig mail adres in.<br>";
  20. }
  21.  
  22. if (strlen($bericht) < 10) {
  23. $error_msg .="Voer alstublieft uw bericht in.<br>";
  24. }
  25. if($error_msg){
  26. echo "Volgende fouten zijn opgetreden bij het invullen van het contact formulier.:<br><br>";
  27. echo $error_msg;
  28. echo "<br>Probeer alstublieft opnieuw ";
  29.  
  30. // hier form terug tonen
  31.  
  32. } else{
  33.  
  34. //mail verzenden
Offline vinTage - 05/09/2008 15:40 (laatste wijziging 05/09/2008 15:41)
Avatar van vinTage Nieuw lid Mijn script toont gewoon de errors en als er geen errors zijn (zie de if else op regel 18 tm 29 ), dan mailt hij (als je de mail functie invult tenminste)

edit: van mijn scriptje en niet van dat dinges hierboven
Offline Kr4nKz1n - 05/09/2008 15:41
Avatar van Kr4nKz1n Onbekend line 28?
  1. echo "<br>Probeer alstublieft";


Handiger om enkele quotes (') te gebruiken in PHP, dit omdat HTML dubbele quotes (") nodig heeft.

Is maar een idee ;)
Offline Hebus - 05/09/2008 15:43 (laatste wijziging 05/09/2008 15:46)
Avatar van Hebus Nieuw lid goeie opmerking , is ff knip en plak werk vaan een oud script, maar toont wel hoe  , foutje in lijn 29 staat nu goed  

btw ik laat meestal een rood kruis verschijnen naast het veld dat fout is ingevuld. is duidelijker .
Offline Kr4nKz1n - 05/09/2008 15:45
Avatar van Kr4nKz1n Onbekend Ja met fouten, leert deze jonge man ook niks van.

En dan krijgt hij misschien zo`n stijl:
  1. echo "$error_msg";

Variabelen buiten quotes.
  1. echo $error_msg;


Gebruik het scriptje van vinTage en ook headers ;)
Offline Hebus - 05/09/2008 15:48 (laatste wijziging 05/09/2008 16:30)
Avatar van Hebus Nieuw lid haha lol , verkeerd versie geknipt en geplakt srry , je krijgt dus geen foutmelding te zien zo .
aangepast btw.

Trouwens dit is de juiste code voor de controle van je velden . Is een stuk beter dan mijn vorige post.
  1. //validatie van de velden
  2. $bad_code = '([[:digit:]]|[~`!@#$%^&*()_=+{}|:;"/?,]|[|])+';
  3.  
  4. $bad_code2 = '([~`#$%^*()=+{}|"]|[|])+'; // Voor vraag veld.
  5.  
  6.  
  7.  
  8. if(strlen($post_naam_klant) < 2 or (ereg($bad_code, $post_naam_klant)))
  9. { $error .= "<p>Je hebt geen geldige voornaam ingevuld.</p>"; $er_naam_klant= "1";}
  10.  
  11.  
  12. if(!ereg("^[_a-zA-Z0-9-]+(\.[_a-zA-Z0-9-]+)*@([a-zA-Z0-9-]+\.)+([a-zA-Z]{2,4})$", $post_mailadres_klant))
  13. { $error .= "<p>Je hebt geen geldig e-mailadres ingevuld.</p>"; $er_mailadres_klant = "1";}
  14.  
  15.  
  16. if(strlen($post_vraag) < 2 or (ereg($bad_code2, $post_vraag)))
  17. { $error .= "<p>Je hebt geen geldige vraag/opmerking ingevuld.</p>"; $er_vraag = "1";}
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.25s