Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: fynkcja mi warjuje
Forum PHP.pl > Forum > Przedszkole
goped
  1. <?
  2. function zaloguj($a=0){
  3. if($a==&#092;"h\"){
  4. echo(&#092;"a\");
  5. }
  6. else
  7. echo&#092;"b\";
  8. }
  9. zaloguj();
  10. ?>


czy ktos wie czemu jak pusci sie taki skrypt to pokaze sie a, a nie b?
kiedy podstawimy parametr inny niz h to pokaze sie b, poproawnie, ale kiedy damy bez parametru to pokazuje sie a, czemu?

a takie pytanie dodatkowe, czy wie moze ktos, jak wykonac jakis tekst z adresu?
np. www.costam.asc/index.php?a=zaloguj(h);
i chcialbym zeby wykonalo funkcje zawarta w a, jak zmienie to inna, chcialbym znac rozne mozliwosci, nie tylko przypisanie echo $a; ale rowniez jakies inne pomysly, moze jest jakis sposob zeby dopisac do wykonywanego skryptu zawartosc zmiennej? nie wiem, dlatego pytam :]
nospor
wykonanie a:
  1. <?php
  2.  
  3. eval($_GET['a']);
  4.  
  5. ?>


co do wyswietlania to nie wiem. jutro bede mial php to moze sprawdze
4d3x
Może w nawiasy należy wziąść zawartość else ? Spróbuj...

  1. <?
  2. function zaloguj($a=0){
  3. if($a==&#092;"h\"){
  4. echo(&#092;"a\");
  5. }
  6. else {
  7. echo&#092;"b\";
  8. }
  9. }
  10. zaloguj();
  11. ?>
nospor
tu nie chodzi o nawiasy. Krzaczy się przez to 0. Jakbyś dał za wartośc domyslną choćby 1 to by było ok. php ma jakieś problemy z 0 przy porównywaniu ==. I chyba się domyslam czemu. Porónujesz int ze stringiem ale tylko jako wartość. php konwertuje więc stringa na int. literka 'h' nie jest liczbą, więc zamieniana jest na 0. A 0 == 0, więc warunke spełniony
Użyj porównania ===, które sprawdza rónież typy zmiennych, a będzie ok.
  1. <?php
  2. function zaloguj($a = 0){
  3. if($a === &#092;"h\")
  4.  echo &#092;"a\";
  5. else
  6.  echo &#092;"b\";
  7. }
  8. zaloguj();
  9.  
  10. ?>
doctorek
  1. <?php
  2. function zaloguj($a = &#092;"0\"){
  3. if($a == &#092;"h\")
  4.  echo &#092;"a\";
  5. else
  6.  echo &#092;"b\";
  7. }
  8. zaloguj();
  9.  
  10. ?>


lub

  1. <?php
  2. function zaloguj($a = 0){
  3. if($a === &#092;"h\")
  4.  echo &#092;"a\";
  5. else
  6.  echo &#092;"b\";
  7. }
  8. zaloguj();
  9.  
  10. ?>
kszychu
Przypisywanie zmiennej wartości różnych typów to bardzo brzydki nawyk, na który php niestety pozwala... A później są takie klocki.
  1. <?php
  2. function zaloguj($a = &#092;"\"){
  3. if($a == &#092;"h\")
  4.  echo &#092;"a\";
  5. else
  6.  echo &#092;"b\";
  7. }
  8. ?>
flasht
Cytat(kszychu @ 2005-08-01 09:44:04)
Przypisywanie zmiennej wartości różnych typów to bardzo brzydki nawyk, na który php niestety pozwala... A później są takie klocki.

A mi sie podoba, ze tak jest... duzo prosciej/szybciej sie wszystko robi... coprawda trudno lokalizowac bledy, ale i tak szala przewaza w strone plusow:)
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.