Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP] Curl - adres Url ze zmiennej?
kaszanka
post 21.04.2009, 19:09:53
Post #1





Grupa: Zarejestrowani
Postów: 138
Pomógł: 1
Dołączył: 17.02.2007

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


Hi,

Dlaczego taki kod wywala błąd
Parse error: syntax error, unexpected '"' on line 4
  1. <?php
  2. $adres = "moja_adres.pl";
  3. function curl_go( $COMMAND,$URL="http://$adres/curl.php" )
  4. {
  5. ...
  6. }
  7. ?>

a gdy wpisze:
  1. <?php
  2. function curl_go( $COMMAND,$URL="http://moja_adres.pl/curl.php" )
  3. ?>

to działa prawidłowo?

Ten post edytował kaszanka 21.04.2009, 19:10:09
Go to the top of the page
+Quote Post
erix
post 21.04.2009, 19:15:44
Post #2





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




AFAIK w domyślnych parametrach funkcji tak nie możesz podawać wartości.


--------------------

ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW!
Go to the top of the page
+Quote Post
kaszanka
post 21.04.2009, 19:18:24
Post #3





Grupa: Zarejestrowani
Postów: 138
Pomógł: 1
Dołączył: 17.02.2007

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


hmm

To w takim razie jak zrobić gdy część adresu chce otrzytywać ze zmiennej poza funkcją curl_go, np z bazy danych?
Go to the top of the page
+Quote Post
erix
post 21.04.2009, 19:33:13
Post #4





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




Daj trzeci parametr-referencję, skorzystaj z Registry, zrób sobie wczytywanie wewnątrz funkcji, możliwości jest sporo...


--------------------

ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW!
Go to the top of the page
+Quote Post
kaszanka
post 21.04.2009, 20:27:10
Post #5





Grupa: Zarejestrowani
Postów: 138
Pomógł: 1
Dołączył: 17.02.2007

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


Próbowałem to rozwiązać w ten sposób lecz tym razem wywaliło błąd
Warning: Missing argument 2 for curl_go() in ...

  1. <?php
  2. $moj_adres = "jakas_domena";
  3. $URL="http://$moj_adres/curl.php";
  4.  
  5. function curl_go( $COMMAND, $URL )
  6. {
  7. ...
  8. }
  9. ?>


Ten post edytował kaszanka 21.04.2009, 20:27:37
Go to the top of the page
+Quote Post
erix
post 21.04.2009, 21:27:16
Post #6





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




Ale i tak musisz podać ten argument...

  1. <?php
  2. $asd = curl_go('asdasd', 'sda');
  3. ?>

gdzie sda, to ma być drugi parametr, ponieważ go zadeklarowałeś. Musisz go podać za każdym razem. Jeśli nie chcesz czegoś takiego - pozostaje rejestr albo inne przekazywanie zmiennej.


--------------------

ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW!
Go to the top of the page
+Quote Post
kaszanka
post 21.04.2009, 22:00:53
Post #7





Grupa: Zarejestrowani
Postów: 138
Pomógł: 1
Dołączył: 17.02.2007

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


Zastrzelcie mnie ale i tak nie rozumiem ;/

Do tej pory miałem funkcję curla która łączyła się tylko z jednym adresem URL, teraz chce ją rozbudować by łączyła się z adresem aktualnie wyciągniętym przez danego usera z bazy.

Do tej pory miałem tak:
  1. <?php
  2. function curl_go( $COMMAND,$URL="http://adres_strony/curl.php" )
  3. {
  4. ...
  5. }
  6. ?>

a teraz chce by zamiast stałego wpisu
  1. <?php
  2. $URL="http://adres_strony/curl.php"
  3. ?>

adres_strony był jako zmienna która pobierana jest z bazy danych czyli coś mniej więcej takiego:
  1. <?php
  2. $adres_strony = "url_z_bazy";
  3. $URL="http://$strony/curl.php"
  4. ?>


Ten post edytował kaszanka 21.04.2009, 22:02:05
Go to the top of the page
+Quote Post
erix
post 21.04.2009, 22:27:21
Post #8





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




Ja wiem, co chcesz osiągnąć.

Ale tak łatwo się nie da - jako domyślny parametr musi być podana STAŁA wartość.

Rozwiązaniem pośrednim byłoby IMHO:
  1. <?php
  2. function curl_go( $COMMAND,$adres = null, $URL="http://%s/curl.php"){
  3. $URL = sprintf($URL, $adres);
  4. }
  5. ?>

Jeśli adres ten sam - jako drugi parametr podajesz null.


--------------------

ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW!
Go to the top of the page
+Quote Post
kaszanka
post 21.04.2009, 22:47:38
Post #9





Grupa: Zarejestrowani
Postów: 138
Pomógł: 1
Dołączył: 17.02.2007

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


Zrobiłem jak zasugerowałeś jednak nadal mam ten sam błąd "Parse error: syntax error, unexpected '"' in"
zamarłem ;/
Nie wierze, że nie można tego prosto rozwiązać :|
Go to the top of the page
+Quote Post

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

 



RSS Wersja Lo-Fi Aktualny czas: 28.06.2025 - 05:57