login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Functie geeft geen waarde terug

Offline MReagle - 19/01/2005 21:26
Avatar van MReagleNieuw lid Voor mijn forum gebruik ik een functie die de juistheid van een email adres controlleerd, nu geeft deze normaal de booleanse waarde true/false terug ,maar dat doet hij helemaal niet, zet ik echter quotes (" ") rond de true/false dan geeft hij het wel terug.

mijn code:

  1. <?php
  2. function CheckMailAdressl(){
  3. $Valid="true";
  4.  
  5. return $Valid;
  6. }
  7. ?>


Rare is dat er enkele functies erboven er ook booleanse waarden worden teruggegeven en dat hij het daar wel bij doet... wat doe ik nu verkeerd...

11 antwoorden

Gesponsorde links
Offline Joel - 19/01/2005 21:28
Avatar van Joel Eigenaar Als je FALSE of TRUE returned, moet je dat volgens mij met === checken vb:

  1. <?php
  2. if ($waarde === true) {
  3. echo "goed";
  4. }
  5. ?>
Het kan zijn dat het niet overal zo is 
Offline Rens - 19/01/2005 21:29 (laatste wijziging 19/01/2005 21:30)
Avatar van Rens Gouden medaille

Crew algemeen
  1. <?php
  2. function CheckMailAdressl()
  3. {
  4. $Valid = true;
  5.  
  6. return $Valid;
  7. }
  8. ?>


Met quotes eromheen denkt PHP dat het een gewone (lap) text is.
Zonder de quotes is het een boolean.

Dus je zou zo kunnen gebruiken om iets te checken:
  1. <?PHP
  2. $check = CheckMailAdressl();
  3. if($check == TRUE)
  4. {
  5. // alles goed
  6. } else
  7. {
  8. // foutje
  9. }
  10. ?>


[edit]
@Joël:
Moet je boolean checken met ===?
Ik gebruik altijd == en heb er nog nooit problemen mee gehad...

Mzzls,
Rensjuh
Offline MReagle - 19/01/2005 21:29
Avatar van MReagle Nieuw lid Ja dat weet ik wel maar ik doe dit :

echo(CheckMailAdress1());

dan moet hij normaal gewoon true weergeven..:S
Offline Thomas - 19/01/2005 21:31
Avatar van Thomas Moderator True in php is "1" als je het echo'd.
False in php is nix als je het echo'd.
Offline NCube - 19/01/2005 21:31 (laatste wijziging 19/01/2005 21:56)
Avatar van NCube HTML beginner
  1. <?php
  2. function CheckMailAdressl(){
  3. $Valid=true;
  4. return $Valid;
  5. }
  6.  
  7. if(CheckMailAdressl()){
  8. //CheckmailAdressl returned true
  9. } else {
  10. //CheckMailAdressl returned geen true
  11. }
  12.  
  13. of
  14.  
  15. $var=CheckMailAdressl();
  16. if($var===true){
  17. //$var is true
  18. } else {
  19. //$var is niet true
  20. }
  21. ?>
Offline VonDutch - 19/01/2005 21:31
Avatar van VonDutch PHP interesse uhuh.
je kan strings en cijfers echoen, booleans niet volgens mij...
Offline Rens - 19/01/2005 21:33
Avatar van Rens Gouden medaille

Crew algemeen
Als je true tussen quotes zet, is het een gewone string...

Mzzls,
Rensjuh
Offline MReagle - 19/01/2005 21:33 (laatste wijziging 19/01/2005 21:34)
Avatar van MReagle Nieuw lid Je kan booleans wel echoen normaal, in een functie doe ik dat en dat gaat perfect , begrijp niet wat ik nu fout aan het doen ben eigenlijk,

en idd als hij tussen " " staat is het een string, en dat wil ik niet.
Offline Rens - 19/01/2005 21:36
Avatar van Rens Gouden medaille

Crew algemeen
Je kan het trouwens ook anders doen.

Zo om true of false te setten:
  1. <?PHP
  2. function CheckMailAdressl()
  3. {
  4. if(ereg("blabla", $iets))
  5. {
  6. return true;
  7. } else
  8. {
  9. return false;
  10. }
  11. }
  12. ?>


En bijvoorbeeld zo om te checken:

  1. <?PHP
  2. $iets = CheckMailAdressl();
  3. if($iets == TRUE)
  4. {
  5. echo "Het is goed";
  6. } else
  7. {
  8. echo "Het is fout";
  9. }
  10. ?>


Mzzls,
Rensjuh
Offline MReagle - 19/01/2005 21:45
Avatar van MReagle Nieuw lid Ja blijkbaar heb ik me zorgen gemaakt om niks, php geeft 1 en 0 weer maar herkent 1 als true en 0 als fasle probleem opgelost dus.

Thnx alvast!
Offline Thomas - 20/01/2005 08:44
Avatar van Thomas Moderator Zowel NULL (voor objecten), "" (voor strings) en 0 (voor getallen) zijn equivalent met false.
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.238s