login  Naam:   Wachtwoord: 
Registreer je!
 Forum

global ?

Offline brechtjeu - 11/09/2005 18:07
Avatar van brechtjeuOnbekend ik ga es zelf beginnen met zonder overtypen of teen of tander een systeempje samen te stellen...
vroeger gebruikte ik dat van sasser maar ik vind het toch makkelijker als ik er zelf een maak, maar in zijn script stond er dit:
  1. function wachtwoord($gebruikersnaam, $passgecodeerd)
  2. { global $id;
  3. $pass_uit_database = "";
  4. $id="";
  5. $sql = "SELECT * FROM MEMBERS WHERE gebruikersnaam = '$gebruikersnaam'";
  6. $resultaat = mysql_query($sql) or die(mysql_error());
  7. if ($row = mysql_fetch_object($resultaat))
  8. { $pass_uit_database = md5($row->wachtwoord);
  9. if($passgecodeerd == $pass_uit_database)
  10. { $id=$row->id;
  11. return $id;
  12. return TRUE;
  13. } else {
  14. return FALSE;
  15. }
  16. } else {
  17. return FALSE;
  18. }
  19. }

mijn vraag is eigenlijk, waarvoor dient die global en wat gebeurt er in die functie heir 

8 antwoorden

Gesponsorde links
Offline Ontani - 11/09/2005 18:09
Avatar van Ontani Gouden medailleGouden medailleGouden medailleGouden medaille

-1
die global zorgt ervoor dat je die variable overal kan gebruiken
Offline brechtjeu - 11/09/2005 18:12
Avatar van brechtjeu Onbekend @ ontani: dankje, en euh de rest dient dan om te controleren of de pass en zo juist is, maar die returns ? waarvoor dienen die dan ?? :$
Offline Thomas - 11/09/2005 18:22 (laatste wijziging 11/09/2005 18:23)
Avatar van Thomas Moderator Globals gebruiken is meestal een slechte gewoonte.

Functies voeren vaak een of meerdere taken uit.
Na afloop van uitvoering van de taken zou de functie ook een resultaat terug kunnen geven. Dat doe je met het return-statement.

Voorbeeld:
  1. // functie declaratie:
  2. function optellen($a, $b) {
  3. return $a + $b;
  4. }
  5.  
  6. // functie aanroep:
  7. $som = optellen(2, 3);
  8. // $som bevat nu de waarde 5


Het gebruik van meerdere return-statements zou je ook als een slechte gewoonte beschouwen - je moet dan zoeken naar wat een functie retourneert. Probeer het bij één return-statement te houden.
Offline brechtjeu - 11/09/2005 18:24 (laatste wijziging 11/09/2005 18:27)
Avatar van brechtjeu Onbekend @ fangorn: ahja, euh sorry ik begrijp dat nog niet zo goed van dat return, dat dient dus gewoon voor de functie te bepalen, of ben ik mis :)

EDIT: die ->'s bijv in $wachtwoord_db = $row->wachtwoord,
begrijpt php wat dat wil zeggen dat -> want ik heb al => gezien ook of is dat gewoon een stukje niet-code erin stekenN?
Offline Dani - 11/09/2005 19:24 (laatste wijziging 11/09/2005 19:28)
Avatar van Dani PHP gevorderde Functies zijn eigenlijk redelijk gemakkelijk.

global :
Als je een variabel binnen een functie defineert is deze enkel geldig binnen de functie. En de functie zelf weet ook niet welke variabelen buiten de functie bestaan.
  1. $i=123;
  2. $k=888;
  3. function test() {
  4. global $k;
  5. // de variabele $i is hier onbekent.
  6. $i=321;
  7. // ook al defineer je hier een variabele $i zal deze enkel
  8. // binnen de functie bekend zijn. En geen invloed hebben
  9. // op de buiten de functie defineert $i.
  10. $j=567;
  11. // de variabele $j is enkel binnen de functie defineert
  12. // en heeft geen effect buiten de functie
  13. $k=911;
  14. // $k is binnen en buiten de functie bekend omdat wij deze
  15. // als global defineert hebben.
  16. // Nadat de functie een keer wordt opgeroepen zal $k ook
  17. // de waarde 911 hebben buiten deze functie.
  18. }


PS : is je ander probleem (zie PHP forum) nu opgelost ? zou handig zijn moest je iets laten weten.
Offline brechtjeu - 11/09/2005 19:50
Avatar van brechtjeu Onbekend @ dani: bedankt ik begrijp het volkomen nu 

php forum is opgelost ja
Offline Dani - 11/09/2005 19:54
Avatar van Dani PHP gevorderde @ brechtjeu

Mischien handig als je daar dan ook laat weten wat het probleem uiteindelijk was, zo zullen andere met gelijkaardige problemen ook geholpen zijn 
Offline brechtjeu - 11/09/2005 20:24 (laatste wijziging 23/09/2005 18:52)
Avatar van brechtjeu Onbekend @ dani: ja dan eens, ik heb nu neit veel tijd meer... kmoet een scriptje af hebben tegen morgen

EDIT: topic mag gesloten worden
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2025 Sitemasters.be - Regels - Laadtijd: 0.19s