[PHP] Controleer veld alleen als ingevuld is

Pagina: 1
Acties:
  • 345 views sinds 30-01-2008
  • Reageer

Onderwerpen


Acties:
  • 0 Henk 'm!

  • RonaldKlijsen
  • Registratie: April 2002
  • Laatst online: 25-07-2022
Ik heb een invulformulier gemaakt en daar wordt ook gevraagd om het telefoonnummer. Nu wil ik het zo doen:

Wanneer dit veld NIET wordt ingevuld wil ik dat hij niets doet (dus niet controleren)
Wanneer dit vel WEL wordt ingevuld wil ik dat hij de ingegeven data controleerd.

momenteel is het zo dat wanneer ik het veld niet invul hij dus gewoon controleerd. dit is het script:

function valideertelefoonnummer($Telefoonnummer) {return ((ereg('^[0-9]{2}[ -]? || [0-9]{3}[ -] || [0-9]{4}[ -][0-9]{8}$',$Telefoonnummer)==1) ? ($Telefoonnummer) : (Telefoonnummer==""));}


aanroepen:

if(valideertelefoonnummer($Telefoonnummer)=="") {echo "Het is verplicht om een geldig telefoonnummer in te vullen. Dit mag ook een mobiel nummer bijv:0612345678. <br>Klik <a href='#' onClick='history.back(1)'>hier</a> om terug te gaan.";}

else

Wat moet ik in hierin veranderen zodat het werkt. Ik heb al verschillende dingen gevprobeerd maar ik kom er niet uit. Telefoonnummer=="" weggelaten hielp niet
En de search had geen resultaat.

Acties:
  • 0 Henk 'm!

  • Michali
  • Registratie: Juli 2002
  • Laatst online: 29-05 22:54
Het lijkt me het beste om met javascript van te voren te controleren of een veld is ingevuld of niet.

Verder heeft php verschillende functies die je kunnen helpen hiermee.

http://php.net/isset
http://php.net/empty
http://php.net/strlen

etc...

Gewoon even de manual door spitten en je komt genoeg tegen lijkt me zo.

Noushka's Magnificent Dream | Unity


Acties:
  • 0 Henk 'm!

  • .oisyn
  • Registratie: September 2000
  • Laatst online: 03:42

.oisyn

Moderator Devschuur®

Demotivational Speaker

Gebruik code tags, en zorg voor duidelijke code! Met die brei kunnen wij natuurlijk ook weinig.

Verder moet je gewoon testen of $Telefoonnummer gezet is (isset ()), en of ie niet leeg is (""), en als dat beide waar is dan kun je het verder valideren. Lijkt mij niet zo moeilijk, toch :?

Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.


Acties:
  • 0 Henk 'm!

Verwijderd

code:
1
2
3
if ($_POST['Telefoonnummer'] != "") {
  functie aanroepen....
}


zoiets?

Acties:
  • 0 Henk 'm!

  • Altaphista
  • Registratie: Juli 2001
  • Laatst online: 12:50

Altaphista

1. check manual, 2. ask

Michali schreef op 06 januari 2004 @ 15:32:
Het lijkt me het beste om met javascript van te voren te controleren of een veld is ingevuld of niet.
En als de javascript-script (om wat voor reden dan ook) faalt, en de form wordt gesubmit?

Of zoiets? ;)
PHP:
1
2
3
if (isset($_POST['Telefoonnummer'])) {
  functie aanroepen....
}

[ Voor 16% gewijzigd door Altaphista op 06-01-2004 15:36 ]

Je gaat het pas zien als je het doorhebt.


Acties:
  • 0 Henk 'm!

Verwijderd

Het beste is dus om clientside mbv javascript te checken op geldige gegevens, en serverside precies hetzelfde..

Acties:
  • 0 Henk 'm!

  • Wolfboy
  • Registratie: Januari 2001
  • Niet online

Wolfboy

ubi dubium ibi libertas

Altaphista schreef op 06 januari 2004 @ 15:34:
[...]


En als de javascript-script (om wat voor reden dan ook) faalt, en de form wordt gesubmit?

Of zoiets? ;)
PHP:
1
2
3
if (isset($_POST['Telefoonnummer'])) {
  functie aanroepen....
}
dat werkt dus niet
dit wel:
PHP:
1
2
3
if (!empty($_POST['Telefoonnummer'])) {
  functie aanroepen....
}

[ Voor 5% gewijzigd door Wolfboy op 06-01-2004 15:45 ]

Blog [Stackoverflow] [LinkedIn]


Acties:
  • 0 Henk 'm!

  • drm
  • Registratie: Februari 2001
  • Laatst online: 09-06 13:31

drm

f0pc0dert

Wat is nou precies het probleem? Dit is toch gewoon een kwestie van een if'je en een else'je :?

Music is the pleasure the human mind experiences from counting without being aware that it is counting
~ Gottfried Leibniz


Acties:
  • 0 Henk 'm!

  • Altaphista
  • Registratie: Juli 2001
  • Laatst online: 12:50

Altaphista

1. check manual, 2. ask

Wolfboy schreef op 06 januari 2004 @ 15:44:
[...]
dat werkt dus niet
dit wel:
PHP:
1
2
3
if (!empty($_POST['Telefoonnummer'])) {
  functie aanroepen....
}
ok :)
* Altaphista heeft al een tijdje geen php meer gebruikt

Je gaat het pas zien als je het doorhebt.


Acties:
  • 0 Henk 'm!

  • Wolfboy
  • Registratie: Januari 2001
  • Niet online

Wolfboy

ubi dubium ibi libertas

zo te zien is het probleem dat de TS niet weet hoe hij kan kijken of een $var leeg is

Blog [Stackoverflow] [LinkedIn]


Acties:
  • 0 Henk 'm!

  • Wolfboy
  • Registratie: Januari 2001
  • Niet online

Wolfboy

ubi dubium ibi libertas

Altaphista schreef op 06 januari 2004 @ 15:45:
[...]


ok :)
* Altaphista heeft al een tijdje geen php meer gebruikt
je code is goed maar als je een form submit worden alle waardes doorgestuurd, leeg of niet

Blog [Stackoverflow] [LinkedIn]


Acties:
  • 0 Henk 'm!

  • drm
  • Registratie: Februari 2001
  • Laatst online: 09-06 13:31

drm

f0pc0dert

Wolfboy:
je code is goed maar als je een form submit worden alle waardes doorgestuurd, leeg of niet
Behalve checkboxes die uit staan, disabled velden, lege multiple selects, en submit-velden waar niet expliciet op geklikt is O-)

Music is the pleasure the human mind experiences from counting without being aware that it is counting
~ Gottfried Leibniz


Acties:
  • 0 Henk 'm!

  • Grijze Vos
  • Registratie: December 2002
  • Laatst online: 28-02 22:17
En een text field met '0' erin, wordt ook niet doorgegeven.

Op zoek naar een nieuwe collega, .NET webdev, voornamelijk productontwikkeling. DM voor meer info


Acties:
  • 0 Henk 'm!

  • Michali
  • Registratie: Juli 2002
  • Laatst online: 29-05 22:54
Altaphista schreef op 06 januari 2004 @ 15:34:

En als de javascript-script (om wat voor reden dan ook) faalt, en de form wordt gesubmit?
Ik zeg toch ook niet dat hij niet meer server-side moet checken? Het is beter om het ook client-side te doen. Scheelt weer wat bandbreedte, dataverkeer en load op de server. En een goed geschreven stukje javascript faalt, niet. Anders is het wel erg slecht gecodeerd, of zit er een zware bug in de browser.

Noushka's Magnificent Dream | Unity


Acties:
  • 0 Henk 'm!

  • .oisyn
  • Registratie: September 2000
  • Laatst online: 03:42

.oisyn

Moderator Devschuur®

Demotivational Speaker

Grijze Vos schreef op 06 januari 2004 @ 15:58:
En een text field met '0' erin, wordt ook niet doorgegeven.
Onzin, alle enabled text fields worden doorgestuurd, of er nou 0 in staat of niet. Het punt is alleen dat empty ("0") true teruggeeft, wat imho een reden is om empty () in z'n geheel links te laten liggen

Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.


Acties:
  • 0 Henk 'm!

  • drm
  • Registratie: Februari 2001
  • Laatst online: 09-06 13:31

drm

f0pc0dert

Grijze Vos:
En een text field met '0' erin, wordt ook niet doorgegeven.
Je bedoelt dat empty () ook true teruggeeft als het argument '0' bevat? Anders klets je nl. uit je nek :P
Michali:
Ik zeg toch ook niet dat hij niet meer server-side moet checken? Het is beter om het ook client-side te doen. Scheelt weer wat bandbreedte, dataverkeer en load op de server. En een goed geschreven stukje javascript faalt, niet. Anders is het wel erg slecht gecodeerd, of zit er een zware bug in de browser.
Of je hebt een browser waar javascript uit staat of geen javascript ondersteunt...

Music is the pleasure the human mind experiences from counting without being aware that it is counting
~ Gottfried Leibniz


Acties:
  • 0 Henk 'm!

  • Wolfboy
  • Registratie: Januari 2001
  • Niet online

Wolfboy

ubi dubium ibi libertas

drm schreef op 06 januari 2004 @ 15:51:
[...]
Behalve checkboxes die uit staan, disabled velden, lege multiple selects, en submit-velden waar niet expliciet op geklikt is O-)
checkboxes hoef je niet te controleren want daar weet je de waarde al van, multiple selects hetzelfde en disabled velden kan toch niets ingevuld worden
en submit velden zijn ook niet zo van belang, daarom leek mijn methode dus beter in dit geval maar je hebt gelijk, niet alles word verstuurd :)

Blog [Stackoverflow] [LinkedIn]

Pagina: 1