ďťż
Podstrony
|
telcocafeTak więc napisałem prosty skrypt, który wyświatla jaki jest dzień tygonia. No ale coś się stało że wywala mi errorParse error: parse error, unexpected T_IF in /home4/zu/zupy/index.php on line 139 No a kod jest taki <?php $data= date ("l") if (stripslashes($data)!== "monday"){ echo ("teraz jest poniedziałek"); } elseif (stripslashes($data)!== "tuesday"){ echo ("teraz jest wtorek"); } elseif (stripslashes($data)!== "wednesday"){ echo ("teraz jest środa"); } elseif (stripslashes($data)!== "thursday"){ echo ("teraz jest czwartek"); } elseif (stripslashes($data)!== "friday"){ echo ("teraz jest piątek"); } elseif (stripslashes($data)!== "saturday"){ echo ("teraz jest sobota"); } elseif (stripslashes($data)!== "sunday"){ echo ("teraz jest niedziela"); }else{ echo ("chyba nie działa skrypt"); } ?> Na początku warunek był prosty np. ($data == monday) i był też taki sam błąd. Potemurozmaiciłem skrypt i był taki jak teraz, tylko w warunkach nie było dni tygodnia w cudzysłowach. Czekam na odpowiedzi. Jest Jeszcze początkujacym w PHP, ten skrypt napisałem tylko dla ćwiczeń, jednak jeżeli ktos odpowie i bedzie mi działać to zawsze będę miał canne doświadczenie, a inni czytelnicy forum też by mogli skorzystać :D $data= date ("l"); Średnik na końcu. I nie wiem po co to stripslashes($data). Poza tym zmień warunek z !== na ==, inaczej nie będzie działać. Bardzo dziekuje 0lukasz0. Już nie wywala errora, no ale jest mały problem. Wyświetla mi tekst z else, więc wychodzi, że coś źle napisałem warunki :( To jest sztuka warunki postawić ;) Porsze o odpowiedzi, bo jestem ciekaw dlaczego-to-tak-jest ---edit--- Już działa! Problem był banalny, nazwy dni trzeba było wpisac zaczynając z duzej litery :P Jak coś to możecie używa skryptu u siebie. <?php $data= date ("l"); /*skrypt by Wiklin © 2005 www.fingerb.prv.pl*/ if ($data== Monday){ echo ("teraz jest poniedziałek"); } elseif ($data== Tuesday){ echo ("teraz jest wtorek"); } elseif ($data== Wednesday){ echo ("teraz jest środa"); } elseif ($data== Thursday){ echo ("teraz jest czwartek"); } elseif ($data== Friday){ echo ("teraz jest piątek"); } elseif ($data== Saturday){ echo ("teraz jest sobota"); } elseif ($data== Sunday){ echo ("teraz jest niedziela"); }else{ echo ("chyba nie działa skrypt"); } ?> Użytkownik wiklin edytował ten post 03 sierpień 2005, 20:37 Jeśli mogę się wtrącić to bym trochę ulepszył kod: 1. Niepotrzebnie dajesz po każdym warunku echo, ja bym tam dał $data = "tutaj_dzień_tygodnia"; i na końcu tylko jedno echo("teraz jest $data"); - tak jest bardziej profesjonalnie :). 2. Ostatni warunek jest chyba niepotrzebny, nie ma tutaj więcej możliwości. 3. Spróbuj rozbudować skryp, np. o datę (dzień, miesiąc rok). Dzięki wielkie, ale troszkę nie zrozumiałem z tym pierwszym punktem. Jeżeli tak zrobię to mi będa się wyświetlać nazwy angielskie, a niektórzy co angielskiego nei znają to się pogubią. A z rozbudowaniem skryptu to nie bede miał problemu, tylko moze na forum jest ktos kto zna literki do date, no bo np. l to dzień tygodnia, j to dzień, m to miesiąc, y to rok (dwie cyferki tzn. np. 05), h to godzina, i to minuta, a może ktos zna resztę? 1. Nie całkiem się zrozumieliśmy, daje przykładowy kawałek: if ($data == Monday){ $data = "poniedziałek"; } elseif ($data == Tuesday){ $data = "wtorek"; } echo ("teraz jest $data"); Oczywiście możesz zostawić tak jak jest, ale tak wydaje się być bardziej profesjonalnie (tak w ogóle to ja bym zastąpił if switchem). Mógłbyś też zastąpić date(l) na " w - dzień tygodnia, liczbowy, tzn. od "0" (Niedziela) do "6" (Sobota)" zaoszczędzisz trochę bajtów, wiem, że to niewiele, ale ja nawet najmniejsze skrypty staram się optymalizować. 2. http://pl.php.net/ma...nction.date.php Bardzo dziękuję :D Uwzględnię to. No ale tak myślałem żeby zrobic jakiś skrypt cenzury i skrypt by tak wyglądał: $data= date("l"); echo "teraz jest".$data"!"; No i jakiś tam skrypt cenzury miałby ustwione np. Monday na poniedziałek, no i w poniedziałek byłoby po Polsku, a w resztę dni po angielsku, ale oczywiście bym to przetłumaczył dalej :) Czyli szukam tylko skryptu cenzury i tyle. Myślę ze nie będę zakładał już nowego tematu. Tak więc poszukuję skryptu PHP, który by zamieniał jakis wyraz na inny (określony w kodzie). Może kożystać ten skrypt z plików tekstowych jak coś, ale bazy danych to ja nie mam na za.pl No i ogólnie chodzi o skrypt w rodzaju takiej opcji na phpBB. No i tyle miałem do powiedzenia. a ja bym użył czegoś takiego: <?php $data= date ('w'); $dzien_tygodnia = array(0 => 'niedziela', 1 => 'poniedziałek', 2 => 'wtorek', 3 => 'środa', 4 => 'czwartek', 5 => 'piątek', 6 => 'sobota'); echo 'teraz jest '.$dzien_tygodnia[$data]; ?> nie sprawdzałem więc jak coś nie tak to pisz :P nie wiem czy o to ci chodzi bo trudno mi zrozumieć co ty faktycznie chcesz napisać :blink: <?php $data= date ('w'); $data_en = date ('l'); $dzien_tygodnia = array(0 => 'niedziela', 1 => 'poniedziałek', 2 => 'wtorek', 3 => 'środa', 4 => 'czwartek', 5 => 'piątek', 6 => 'sobota'); if ($data == 1) { echo 'teraz jest '.$dzien_tygodnia[$data]; } else { echo 'teraz jest '.$data_en; } ?> no powiedzmy, ale nie chodziło, żeby była data i Polska i angielska. Chodziło o to, że skrypt ograniczał by sie tylko do <?php $data_en = date ('l'); echo 'teraz jest '.$data_en; ?> No i byłby skrypt cenzurujący, który miałby ustawione, żeby np. Monday zmieniać na poniedziałek i tak inne dni tygodnia. Chyba rozumiesz? Wydaje mi się, że chodzi Ci o wyrażenia regularne: - http://pl.php.net/ma...reg-replace.php - Google + wyrażenia regularne No i byłby skrypt cenzurujący, który miałby ustawione, żeby np. Monday zmieniać na poniedziałek i tak inne dni tygodnia. Chyba rozumiesz? no prawie to :). Chodzi tylko o to, zeby cenzurowało troszkę inaczej. jeśli będę miał zmienną $data = date ("l") to nie dam jej w takim stanie do zmieniania wyrazów. Czyli np. musi być $data == Monday. trochę zawiło tłumaczę, ale spróbuję zrobić to troszkę jaśniej. Chce aby to Monday zamieniło mi na poniedziałek. No ale te Monday musi być wskazane gdzieś, a z resztą chyba dam se spokój i użyje Twój sposób na ten dzień tygodnia. No ale dzięki za chęci, no i dzięki 0lukasz0 że wogle powiedziałeś że to wyrażenia regularne, bo bym na to nigdy nie wpadł, a na znanych przeze mnie kursach tego nie było :) To dzięki chłopaki, naprawdę wielkie dzięki. No ale chyba już skńczmy pisać no bo wszystko wiem co chciałem sie dowiedzieć. Jeszcze raz dziękuję :) jeśli będę miał zmienną $data = date ("l") to nie dam jej w takim stanie do zmieniania wyrazów a dlaczego nie?? :P zobacz to: <?php $data_en = date ('l'); $ocenzurowany = str_replace ("Thursday", "czwartek", "$data_en"); echo $ocenzurowany; ?> działa tylko na czwartek, ale możesz tak zrobić dla innych dni :) Użytkownik maverik edytował ten post 04 sierpień 2005, 15:52 Maverik ma tutaj rację ze str_replace, ereg_replace jest bardzo podobne do str_replace, ale służy raczej w sytuacjach kiedy nie znamy dokładnego źródła, np. mamy wyraz_niecenzuralny i wyraz_wulgarny (można dodać, np. możliwe błędy ort. w tych słowach) i oba byśmy chcieli zamienić na wyraz CENZURA, a w twoim wypadku bardziej pasuje str_replace. Ale i tak mi najbardziej spodobał się pomysł Maverika z tablicą w poście 8 na tej stronie. EDIT: Odnośnie wyrażeń regularnych znalazłem fajną stronę: http://bedkowski.pl/php_regex/ Użytkownik 0lukasz0 edytował ten post 05 sierpień 2005, 16:59 No, pomysł z tablica jest spoko. Tylko, ze wiecie, ledwo co przeczytałem kurs PHP więc niewiele wiem i chcę sobie poćwiczyć. Kiedyś jeszcze dojde do wyrażeń regularnych w jakims bardziej złożonym kursie :) |
|||
Sitedesign by AltusUmbrae. |