Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> fynkcja mi warjuje
goped
post
Post #1





Grupa: Zarejestrowani
Postów: 156
Pomógł: 0
Dołączył: 28.11.2003
Skąd: gliwice

Ostrzeżenie: (0%)
-----


  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 :]

Ten post edytował goped 31.07.2005, 22:32:11
Go to the top of the page
+Quote Post
nospor
post
Post #2





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




wykonanie a:
  1. <?php
  2.  
  3. eval($_GET['a']);
  4.  
  5. ?>


co do wyswietlania to nie wiem. jutro bede mial php to moze sprawdze
Go to the top of the page
+Quote Post
4d3x
post
Post #3





Grupa: Zarejestrowani
Postów: 3
Pomógł: 0
Dołączył: 18.06.2005
Skąd: Rybnik

Ostrzeżenie: (0%)
-----


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. ?>
Go to the top of the page
+Quote Post
nospor
post
Post #4





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




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. ?>
Go to the top of the page
+Quote Post
doctorek
post
Post #5





Grupa: Zarejestrowani
Postów: 5
Pomógł: 0
Dołączył: 27.07.2005

Ostrzeżenie: (0%)
-----


  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. ?>
Go to the top of the page
+Quote Post
kszychu
post
Post #6





Grupa: Przyjaciele php.pl
Postów: 2 712
Pomógł: 23
Dołączył: 27.10.2003
Skąd: z kontowni

Ostrzeżenie: (0%)
-----


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. ?>
Go to the top of the page
+Quote Post
flasht
post
Post #7





Grupa: Zarejestrowani
Postów: 101
Pomógł: 0
Dołączył: 4.03.2004

Ostrzeżenie: (0%)
-----


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:)
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 16.09.2025 - 02:29