login  Naam:   Wachtwoord: 
Registreer je!
 Forum

true / false

Offline SilVeX - 26/03/2007 09:17
Avatar van SilVeXHTML beginner Goedemorgen allemaal,

Ik heb een formulier dat ik uitlees met javascript en dat een mailtje stuurt naar mijn mail box.

Dit is het js:
http://www.plaatscode.be/4766/
En dit het php:
http://www.plaatscode.be/4767/
En dit het html formulier:
http://www.plaatscode.be/4768/

Nu mijn probleem...
Als ik op verzenden druk leest hij uit of je alles wel hebt ingevuld. Maar ookal doe je dat niet verstuurt hij alsnog een mailtje naar me inbox. Hoe kan ik nu een beveiliging inbouwen dat hij het niet verstuurt als mijn javascript aangeeft dat er een aantal dingen niet zijn ingevuld?

Alvast bedankt

9 antwoorden

Gesponsorde links
Offline Dark_Paul - 26/03/2007 09:26 (laatste wijziging 26/03/2007 13:23)
Avatar van Dark_Paul PHP ver gevorderde In de functie zetten (onderaan):
  1. if (melding == '') {
  2. return false;
  3. }
  4. else {
  5. return true;
  6. }


En in je form zet je onsubmit="checkvelden();"
Van je JavaScript maak je:
  1. function checkvelden() {
  2. // functie
  3. }


Verder geef ik je de tip dat formulieren controleren met JavaScript niet veilig is, omdat ik JavaScript uit kan zetten (het is client-sided).
Aangezien je in je PHP niets controleerd, kan ik JS uitzetten en alsnog alle velden leeg laten toch succesvol versturen.

Citaat:
Siliecom14's edit:
Code tags , ja zelfs voor dat kleine stukje 
Offline Thomas - 26/03/2007 09:26
Avatar van Thomas Moderator Ook in PHP alles nogmaals controleren.
Offline SilVeX - 26/03/2007 09:54
Avatar van SilVeX HTML beginner
Citaat:
Verder geef ik je de tip dat formulieren controleren met JavaScript niet veilig is, omdat ik JavaScript uit kan zetten (het is client-sided).
Aangezien je in je PHP niets controleerd, kan ik JS uitzetten en alsnog alle velden leeg laten toch succesvol versturen.


Het is een school opdracht, en het moet met js. Het formulier hoefde ook niet te werken. Maar ik heb het toch maar wel werkend gemaakt.

Maar ik snap je alsnog even niet, ik heb toch al een functie checkvelden()?

En als ik onderaan me javascript dit neerzet:
  1. if (melding == '') {
  2. return false;
  3. }
  4. else {
  5. return true;
  6. }

Dan controleert hij niet meer
Offline Thomas - 26/03/2007 10:10
Avatar van Thomas Moderator het onsubmit-attribuut moet het resultaat van die functie retourneren.

  1. <form ... onsubmit="return form_check()">
Offline SilVeX - 26/03/2007 10:34
Avatar van SilVeX HTML beginner Ik dacht dat ik het snapte, maar het werkt niet...

Deze functie heb ik nu aangemaakt in me js:


  1. form_check() {
  2. if (melding == '') {
  3. return false;
  4. }
  5. else {
  6. return true;
  7. }
  8.  
  9. }


En dit is de regel van me form:
  1. <form action="sendmail.php" onSubmit="return form_check()"class="style1" method="post" name="sendmail">


Maar hij controleerd nu niet mijn formulier met mijn javascript
Offline Thomas - 26/03/2007 11:50
Avatar van Thomas Moderator Als je een <functie> maakt die een boolean retourneert die aangeeft of het formulier gesubmit mag worden, en je zet in je formulier-tag onsubmit="return <functie>", dan werkt dat prima :].
Offline SilVeX - 26/03/2007 12:01
Avatar van SilVeX HTML beginner Oké, dat is voor mij véél te moeilijk :S

Kan je het op een leek manier uitleggen? Of iemand anders natuurlijk..
Offline Dark_Paul - 26/03/2007 12:27
Avatar van Dark_Paul PHP ver gevorderde Je moet die if-else die ik je gaf onderaan in je functie checkvelden() zetten.
Dan zet je in de form-tag:
onsubmit="return checkvelden();"
Offline SilVeX - 26/03/2007 12:39 (laatste wijziging 27/03/2007 08:44)
Avatar van SilVeX HTML beginner
Citaat:
Je moet die if-else die ik je gaf onderaan in je functie checkvelden() zetten.
Dan zet je in de form-tag:
onsubmit="return checkvelden();"


Dat heb ik nu, maar dan verstuurt hij alsnog mij een mailtje.
Me javascript doet het op deze manier wel.


Is er niet een manier dat ik me form laat checken door dat javascriptje en dat er onderaan dat javascriptje ervoor word gezorgd dat mijn "post" gegevens worden doorgestuurd naar mijn php scriptje?
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.25s