Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Zmiana hostingu i problem z "?:" (unexpected ':')
cinkibolek
post
Post #1





Grupa: Zarejestrowani
Postów: 2
Pomógł: 0
Dołączył: 11.06.2012

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


Pozdrawiam serdecznie wszystkich w moim pierwszym poście smile.gif
Niestety pierwszy post i od razu "o raanyy pomocy!"
Nie znam się za bardzo na php, i dlatego utknąłem w pewnym miejscu.
Już opisuję sytuację:
Dostałem zadanie, uruchomić stronkę która wcześniej była na dedyku, została przeniesiona na hosting www
Stronka się nie wyświetlała (nie ja robiłem przenosiny), nie wiem jaki php był na dedyku, po krótkiej walce znalazłem to co blokowało stronę.

W kilku plikach jest zapis podobny do tego :
$lang = $_GET['lang'] ?: "pl";

Co wywołuje :
Parse error: syntax error, unexpected ':' in XXX on line 7

Rozumiem że powinienem coś wstawić między "?" a ":" czy może całkiem to przerobić ?
Nie za bardzo wiem jak mam interpretować taki zapis ... dlatego zwracam się z prośbą o pomoc...

Pozdrawiam

Go to the top of the page
+Quote Post
rocktech.pl
post
Post #2





Grupa: Zarejestrowani
Postów: 587
Pomógł: 131
Dołączył: 8.02.2010

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


Witam.

Wersja PHP to zapewne 5.2.x.

  1. $lang = $_GET['lang'] ? : "pl";
  2. /**
  3.  * co jest równoznaczne z
  4.  */
  5. if ( $_GET['lang'] ) {
  6. $lang = null;
  7. } else {
  8. $lang = "pl";
  9. }
  10. /**
  11.  * i równoznacze z
  12.  */
  13. ($_GET['lang']) ? $lang = "pl" : $lang = null;
  14.  
  15. /**
  16.  * A poprawnie
  17.  */
  18. $lang = isset ( $_GET['lang'] ) ? null : "pl";
  19.  
  20. /**
  21.  * albo
  22.  */
  23. isset ( $_GET['lang'] ) AND $lang = "pl";



--------------------
Despite the tons of examples and docs, mod_rewrite is voodoo. Damned cool voodoo, but still voodoo. --Brian Moore

I never go looking for a sucker. I look for a Champion and make a sucker of of him. --Amarillo Slim


Home-made : js-gui-classes | Accordion | Tabs | Carousel / php-sms-classes | Obsługa bramki SMS MultiInfo | Obsługa bramki SMS Mobiltek
Go to the top of the page
+Quote Post
lukaskolista
post
Post #3





Grupa: Zarejestrowani
Postów: 872
Pomógł: 94
Dołączył: 31.03.2010

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


Cytat
Rozumiem że powinienem coś wstawić między "?" a ":" czy może całkiem to przerobić ?
dobrze rozumiesz.Jesli nie wiesz czy dobrze rozumiesz komunikat to masz 2 wyjscia:
1. Sprawdzic w slowniku
2. Poprawic kod tak, jak Ci sie wydaje. Jezeli blad zniknie, to jest ok, jezeli nie, to wroc do pkt 1.

Sorki ze tak ostro, ale nie trafie takiego... nie wiem nawet jak to nazwac... ogarnij sie po prostu.

Co do problemu:
  1. $langs = array('pl', 'en', 'de');
  2. $lang = ((isset($_GET['lang']) and in_array($_GET['lang'], $langs)) ?: 'pl');


Ten post edytował lukaskolista 11.06.2012, 09:31:17
Go to the top of the page
+Quote Post
Crozin
post
Post #4





Grupa: Zarejestrowani
Postów: 6 476
Pomógł: 1306
Dołączył: 6.08.2006
Skąd: Kraków

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


@rocktech.pl: a ?: b, to skrócona forma a ? a : b, nie a ? null : b.
Go to the top of the page
+Quote Post
cinkibolek
post
Post #5





Grupa: Zarejestrowani
Postów: 2
Pomógł: 0
Dołączył: 11.06.2012

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


Cytat(Crozin @ 11.06.2012, 11:37:21 ) *
@rocktech.pl: a ?: b, to skrócona forma a ? a : b, nie a ? null : b.


Do tego doszedłem, dzięki za pomoc i nakierowanie smile.gif błędami już nie sypie, teraz walczę z formularzem rejestracyjnym, zapętla się w 2 kroku (2 z 3), ale w sumie chyba dam rade to rozgryźć smile.gif
Go to the top of the page
+Quote Post
rocktech.pl
post
Post #6





Grupa: Zarejestrowani
Postów: 587
Pomógł: 131
Dołączył: 8.02.2010

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


Zgadza się. Mój błąd.

  1. $_GET['lang'] = "en";
  2. $lang = $_GET['lang'] ? : "pl";
  3. var_dump ( $lang );


Wynik:

Kod
string(2) "en"


--------------------
Despite the tons of examples and docs, mod_rewrite is voodoo. Damned cool voodoo, but still voodoo. --Brian Moore

I never go looking for a sucker. I look for a Champion and make a sucker of of him. --Amarillo Slim


Home-made : js-gui-classes | Accordion | Tabs | Carousel / php-sms-classes | Obsługa bramki SMS MultiInfo | Obsługa bramki SMS Mobiltek
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 Aktualny czas: 19.08.2025 - 15:59