login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Trim - contactformulier

Offline bennieboy - 04/02/2006 13:57
Avatar van bennieboyHTML beginner Ik heb een contactformulier gemaakt dat bestaat uit een formulier en een verwerkingspagina. Ik wil nu eigenlijk hebben dat bepaalde velden verplicht worden ingevuld. Waar moet ik de "trim's" dan zetten?

Alvast bedankt!
Bennieboy;-)

Dit is mijn code:

  1. <?php
  2. $email = "info@mrproducts.be";
  3. $subject = "Prijsaanvraag MRProducts";
  4.  
  5. if (isset($_POST['submit'])) {
  6.  
  7. $naam = $_POST['naam'];
  8. $adres = $_POST['adres'];
  9. $plaats = $_POST['plaats'];
  10. $telefoonnummer = $_POST['telefoonnummer'];
  11. $emailadres = $_POST['email'];
  12. $onderwerp = $_REQUEST['onderwerp'];
  13. $product = $_POST['producten'];
  14. $opmerkingen = $_POST['opmerkingen'];
  15.  
  16. $headers = "From: ".$naam." <".$emailadres.">\r\n";
  17.  
  18. $bericht = "
  19. Beste ".$naam_bestemming.",
  20.  
  21. Persoonlijke gegevens:
  22. Naam = ".$naam."
  23. Adres = ".$adres."
  24. Plaats = ".$plaats."
  25. Telefoonnummer = ".$telefoonnummer."
  26. Emailadres = ".$emailadres."
  27.  
  28. Productgerichte informatie:
  29. Onderwerp:
  30. ".$onderwerp."
  31. Product:
  32. ".$product."
  33. Opmerking:
  34. ".$opmerkingen."
  35.  
  36. mvg
  37.  
  38. ".$naam."
  39. ";
  40.  
  41. mail($email, $subject, $bericht, $headers);
  42. }
  43. ?>

7 antwoorden

Gesponsorde links
Offline nemesiskoen - 04/02/2006 14:00 (laatste wijziging 04/02/2006 14:01)
Avatar van nemesiskoen Gouden medaille

PHP expert
trim heeft niets te maken met 'verplichte' velden. Je controleerd op verplichte velden door gewoon deze velden te controleren met if.

Ik doe het zo:

  1. <?php
  2. $verplicht = array('naam', 'adres', 'email', 'onderwerp');
  3. $fout = "";
  4. $errstr = "U moet een %s invullen<br />\n";
  5. foreach($verplicht as $v)
  6. if(!isset($_POST[$v])) $fout .= sprintf($errstr, $v);
  7.  
  8. if($fout != "") ...
  9. else ...
  10. ?>
Offline bennieboy - 04/02/2006 14:07
Avatar van bennieboy HTML beginner Kan je mij een compleet voorbeeld geven koen? Dan vergeet ik dat nooit meer;).

Als ze iets vergeten zijn moet worden terug verwezen naar prijsaanvraag.php
Offline Bart - 04/02/2006 14:07 (laatste wijziging 04/02/2006 14:16)
Avatar van Bart PHP expert Oude versie:
  1. <?php
  2. $email = "info@mrproducts.be";
  3. $subject = "Prijsaanvraag MRProducts";
  4. if (isset($_POST['submit']))
  5. {
  6. $aFouten = array();
  7. if($_POST['naam'] == '')
  8. {
  9. $aFouten[] = 'geen naam gegeven.';
  10. }
  11. if($_POST['adres'] == '')
  12. {
  13. $aFouten[] = 'geen adres gegeven.';
  14. }
  15. if($_POST['telefoonnummer'] == '')
  16. {
  17. $aFouten[] = 'geen telefoonnummer gegeven.';
  18. }
  19. if($_POST['telefoonnummer'] != '' !is_numeric($_POST['telefoonnummer'])
  20. {
  21. $aFouten[] = 'telefoonnummer is niet numeriek.';
  22. }
  23. if($_POST['email'] == '')
  24. {
  25. $aFouten[] = 'geen email gegeven.';
  26. }
  27. if($_POST['onderwerp'] == '')
  28. {
  29. $aFouten[] = 'geen onderwerp gegeven.';
  30. }
  31. if($_POST['producten'] == '')
  32. {
  33. $aFouten[] = 'geen producten gegeven.';
  34. }
  35. // ik neem aan dat opmerkingen niet verplicht is ;-)
  36. if(count($aFouten) != 0)
  37. {
  38. echo 'niet verstuurd om volgende reden(en):';
  39. for($i = 0; $i < count($aFouten); $i++)
  40. {
  41. echo $aFouten[$i].'<br />';
  42. }
  43. header("Refresh: 10 url = prijsaanvraag.php"); // 10 is het aantal seconden dat het duurt voordat je wordt doorverwezen
  44. }
  45. else
  46. {
  47. $headers = "From: ".$_POST['naam']." <".$_POST['emailadres'].">\r\n";
  48.  
  49. $bericht = "
  50. Beste ".$naam_bestemming.",
  51.  
  52. Persoonlijke gegevens:
  53. Naam = ".$_POST['naam']."
  54. Adres = ".$_POST['adres']."
  55. Plaats = ".$_POST['plaats']."
  56. Telefoonnummer = ".$_POST['telefoonnummer']."
  57. Emailadres = ".$_POST['emailadres']."
  58.  
  59. Productgerichte informatie:
  60. Onderwerp:
  61. ".$_POST['onderwerp']."
  62. Product:
  63. ".$_POST['product']."
  64. Opmerking:
  65. ".$_POST['opmerkingen']."
  66.  
  67. mvg
  68.  
  69. ".$_POST['naam']."
  70. ";
  71.  
  72. mail($email, $subject, $bericht, $headers);
  73. }
  74. ?>


edit:
Nieuwe versie met trim-functie: (thanks to Simon)
  1. <?php
  2. $email = "info@mrproducts.be";
  3. $subject = "Prijsaanvraag MRProducts";
  4. if (isset($_POST['submit']))
  5. {
  6. $aFouten = array();
  7. if(trim($_POST['naam'] == ''))
  8. {
  9. $aFouten[] = 'geen naam gegeven.';
  10. }
  11. if(trim($_POST['adres'] == ''))
  12. {
  13. $aFouten[] = 'geen adres gegeven.';
  14. }
  15. if(trim($_POST['telefoonnummer'] == ''))
  16. {
  17. $aFouten[] = 'geen telefoonnummer gegeven.';
  18. }
  19. if(trim($_POST['telefoonnummer']) != '' !is_numeric($_POST['telefoonnummer'])
  20. {
  21. $aFouten[] = 'telefoonnummer is niet numeriek.';
  22. }
  23. if(trim($_POST['email'] == ''))
  24. {
  25. $aFouten[] = 'geen email gegeven.';
  26. }
  27. if(trim($_POST['onderwerp'] == ''))
  28. {
  29. $aFouten[] = 'geen onderwerp gegeven.';
  30. }
  31. if(trim($_POST['producten'] == ''))
  32. {
  33. $aFouten[] = 'geen producten gegeven.';
  34. }
  35. // ik neem aan dat opmerkingen niet verplicht is ;-)
  36. if(count($aFouten) != 0)
  37. {
  38. echo 'niet verstuurd om volgende reden(en):';
  39. for($i = 0; $i < count($aFouten); $i++)
  40. {
  41. echo $aFouten[$i].'<br />';
  42. }
  43. header("Refresh: 10 url = prijsaanvraag.php"); // 10 is het aantal seconden dat het duurt voordat je wordt doorverwezen
  44. }
  45. else
  46. {
  47. $headers = "From: ".$_POST['naam']." <".$_POST['emailadres'].">\r\n";
  48.  
  49. $bericht = "
  50. Beste ".$naam_bestemming.",
  51.  
  52. Persoonlijke gegevens:
  53. Naam = ".$_POST['naam']."
  54. Adres = ".$_POST['adres']."
  55. Plaats = ".$_POST['plaats']."
  56. Telefoonnummer = ".$_POST['telefoonnummer']."
  57. Emailadres = ".$_POST['emailadres']."
  58.  
  59. Productgerichte informatie:
  60. Onderwerp:
  61. ".$_POST['onderwerp']."
  62. Product:
  63. ".$_POST['product']."
  64. Opmerking:
  65. ".$_POST['opmerkingen']."
  66.  
  67. mvg
  68.  
  69. ".$_POST['naam']."
  70. ";
  71.  
  72. mail($email, $subject, $bericht, $headers);
  73. }
  74. ?>
Offline Simon - 04/02/2006 14:10
Avatar van Simon PHP expert persoonlijk zou ik het niet doen als Quicky want je kan nu gewoon spaties invullen 
zet rond al deze dingen:

  1. <?
  2. if($_POST['naam'] == '')
  3. {
  4. $aFouten[] = 'geen naam gegeven.';
  5. }
  6. ?>

een trim:
  1. <?
  2. if(trim($_POST['naam']) == '')
  3. {
  4. $aFouten[] = 'geen naam gegeven.';
  5. }
  6. ?>
Offline Bart - 04/02/2006 14:13
Avatar van Bart PHP expert Hehe Simon, bedankt wist ik zelf niet eens 
K dacht dat ie nooit spaties pakte dan..
Offline b4nkr0bz0r - 04/02/2006 14:20
Avatar van b4nkr0bz0r PHP gevorderde header("Refresh: 10 url = prijsaanvraag.php");
moet dat niet:
header("Refresh: 10; url = prijsaanvraag.php");
zijn ? (let op die ;)
Offline Bart - 04/02/2006 14:21
Avatar van Bart PHP expert Nee hoor, ' ; ' hoeft er niet tussen
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.246s