![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 79 Pomógł: 0 Dołączył: 28.04.2011 Ostrzeżenie: (0%) ![]() ![]() |
Witam, oto mam taki kod:
No i wywala mi taki błąd: Parse error: syntax error, unexpected T_BOOLEAN_AND, expecting ',' or ')' in C:\Program Files\WebServ\httpd\works.php on line 6 Coś linijką szóstą, chyba oczekuje ',' albo ')' - ale nie za bardzo rozumiem gdzie to wstawić. |
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 4 340 Pomógł: 542 Dołączył: 15.01.2006 Skąd: Olsztyn/Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Brakuje CI nawiasów.
-------------------- I'm so fast that last night I turned off the light switch in my hotel room and was in bed before the room was dark - Muhammad Ali.
Peg jeżeli chcesz uprawiać sex to dzieci muszą wyjść, a jeżeli chcesz żeby był dobry ty też musisz wyjść - Al Bundy. QueryBuilder, Mootools.net, bbcradio1::MistaJam http://www.phpbench.com/ |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 79 Pomógł: 0 Dołączył: 28.04.2011 Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 4 340 Pomógł: 542 Dołączył: 15.01.2006 Skąd: Olsztyn/Warszawa Ostrzeżenie: (0%) ![]() ![]() |
na lub -------------------- I'm so fast that last night I turned off the light switch in my hotel room and was in bed before the room was dark - Muhammad Ali.
Peg jeżeli chcesz uprawiać sex to dzieci muszą wyjść, a jeżeli chcesz żeby był dobry ty też musisz wyjść - Al Bundy. QueryBuilder, Mootools.net, bbcradio1::MistaJam http://www.phpbench.com/ |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 79 Pomógł: 0 Dołączył: 28.04.2011 Ostrzeżenie: (0%) ![]() ![]() |
Aaaa, myślałem że w isset można łączyć przez &&
![]() Okej, tyko teraz inny problem. Kiedy nic nie wpiszę w pola powinno się wyświetlić "Nic nie zamówiłeś!" a jest puste miejsce w polu na liczbę produktów. Ten post edytował Niedowiarek 26.12.2011, 17:20:50 |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 1 195 Pomógł: 109 Dołączył: 3.11.2011 Ostrzeżenie: (10%) ![]() ![]() |
To powinieneś raczej użyć zamiast
1. 1. if(isset($ig) && isset($ic)) instrukcje or 1. if(isset($ig) || isset($ic)) Nie to i to -lecz to lub to Ten post edytował Niktoś 26.12.2011, 17:39:18 |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 79 Pomógł: 0 Dołączył: 28.04.2011 Ostrzeżenie: (0%) ![]() ![]() |
Ale to nie rozwiązuje problemu tego że jak nic nie wpiszę w pola ilość cuksów i ilość gum to powinno się wyświetlić 'Nic nie zamówiłeś!' a tak nie jest ;/
Całość teraz wygląda tak:
Ten post edytował Niedowiarek 26.12.2011, 17:45:06 |
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 1 195 Pomógł: 109 Dołączył: 3.11.2011 Ostrzeżenie: (10%) ![]() ![]() |
if(strlen($ig>0) || strlen($ic)>O) {
Tutorial co robi isset. |
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 79 Pomógł: 0 Dołączył: 28.04.2011 Ostrzeżenie: (0%) ![]() ![]() |
Dzięki, a isset sprawdza czy dana zmienna istnieje, tak? W takim razie jak jej nie przypiszę wartość to ona istnieje, i jest pusta?
|
|
|
![]()
Post
#10
|
|
Grupa: Zarejestrowani Postów: 695 Pomógł: 65 Dołączył: 27.07.2009 Skąd: Y Ostrzeżenie: (0%) ![]() ![]() |
jeśli nie przypiszesz do zmiennej wartości tylko po prostu nagle gdzieś jej użyjesz to wtedy APACHE powinnien wywalić notice o ile jest odpowiednio oczywiście skonfigurowany.
|
|
|
![]()
Post
#11
|
|
Grupa: Zarejestrowani Postów: 1 195 Pomógł: 109 Dołączył: 3.11.2011 Ostrzeżenie: (10%) ![]() ![]() |
Cytat Dzięki, a isset sprawdza czy dana zmienna istnieje, tak? Jeśli nic nie wpiszesz zmienna będzie istnieć ,ale będzie " " lub null tego do końca jeszcze nie rozwikłałem. Badanie długości znaków jest jednym ze sposobów czy ktoś coś wpisał. |
|
|
![]()
Post
#12
|
|
Grupa: Zarejestrowani Postów: 2 178 Pomógł: 596 Dołączył: 25.09.2009 Skąd: Piwniczna-Zdrój Ostrzeżenie: (0%) ![]() ![]() |
Dzięki, a isset sprawdza czy dana zmienna istnieje, tak? W takim razie jak jej nie przypiszę wartość to ona istnieje, i jest pusta? Nie, jeśli nie przypiszesz jakiejś zmiennej wartości (oprócz null), to ta zmienna nie istnieje. Przykład:
Podczas pierwszego uruchomienia Twojego skryptu zmienne $_POST['ig'] i $_POST['ic'] nie istnieją, czyli mają wartość null, zatem i zmienne $ig oraz $ic mają wartość null. Tutaj PHP powinien zgłosić uwagę. jeśli nie przypiszesz do zmiennej wartości tylko po prostu nagle gdzieś jej użyjesz to wtedy APACHE powinnien wywalić notice o ile jest odpowiednio oczywiście skonfigurowany. W powyższym przykładzie PHP nie zgłosi żadnej uwagi i właśnie do tego służy isset(). |
|
|
![]()
Post
#13
|
|
Grupa: Zarejestrowani Postów: 1 195 Pomógł: 109 Dołączył: 3.11.2011 Ostrzeżenie: (10%) ![]() ![]() |
Nie wiem jak za bardzo jest w PHP bo ja programuje w c#,ale
robisz Posta ,pola pozostają puste to w c# jakaś zmienna string przyjmuje prawdopodobnie null lub "" właśnie tego nie wiem ,bo w przypadku int od razu wysypuję błędami .Dlaczego? Bo zarówno podczas konwersji "" lub null na int-nie może tego dokonać ,gdyż " " nie jest liczbą ,ani int nie jest typu nullable(można powiedzieć ,że w int null to 0). Dlatego trudno mi się zorientować ,czy przy requesciie w PHP $_POST na pustą zmienną jest zwracany "" czy null coś zwracane musi być i tutaj nie ma ale. Ten post edytował Niktoś 26.12.2011, 18:39:59 |
|
|
![]()
Post
#14
|
|
Grupa: Zarejestrowani Postów: 2 178 Pomógł: 596 Dołączył: 25.09.2009 Skąd: Piwniczna-Zdrój Ostrzeżenie: (0%) ![]() ![]() |
Pole formularza HTML jest polem tekstowym, więc jak można się domyślić, w przypadku gdy takie pole nie zostanie uzupełnione, w tablicy $_POST pod indeksem będącym nazwą takiego pola zostanie przesłany pusty łańcuch znaków (czyli "" lub '' - jak kto woli).
Jeśli pole nie jest polem tekstowym (i chyba również polem select, czyli listą rozwijaną), to jego zawartość zostanie przesłana tylko wtedy, gdy zostanie określenia jego wartość (checkbox, radio muszą być np. zaznaczone). Ten post edytował mortus 26.12.2011, 18:50:49 |
|
|
![]()
Post
#15
|
|
Grupa: Zarejestrowani Postów: 1 195 Pomógł: 109 Dołączył: 3.11.2011 Ostrzeżenie: (10%) ![]() ![]() |
Dzięki mortus trochę mi rozjaśniłeś.
Tak więc w wyżej wymienionym przypadku jak nic nie wpisze to isset i tak nie zadziała ,bo wartość będzie istnieć i przyjmie pusty łąńcuch znaków " ". Więc badanie długości znaków ma tam sens. A powiedz mi jeszcze po stronie klienta to chyba trochę inaczej wygląda,wartość niezdefiniowana przyjmuje undefined,tam jest tego trochę nawet więcej NaNA,undefined,null i " ".Czy sposób kreowania zmiennych po stronie klienta różni się od tego po stronie serwera?? Ten post edytował Niktoś 26.12.2011, 19:06:53 |
|
|
![]()
Post
#16
|
|
Grupa: Zarejestrowani Postów: 2 178 Pomógł: 596 Dołączył: 25.09.2009 Skąd: Piwniczna-Zdrój Ostrzeżenie: (0%) ![]() ![]() |
Sprawdzanie długości przesłanego łańcucha znaków ma wtedy sens, jeśli rzeczywiście oczekujemy, że w polu znajdzie się łańcuch znaków i będzie on miał lub nie będzie miał określonej długości. Aby sprawdzić, czy pole tekstowe zostało wypełnione jakąś wartością wystarczy użyć w PHP funkcji empty(), ale stosuje się również porównanie do pustego łańcucha znaków, czyli:
Inaczej wygląd sytuacja jeśli mówimy o polach typu checkbox, bo przy tego typu polach isset() bardzo się przydaje, żeby nie rzec, że jest koniecznością. Jeśli chodzi o typy zmiennych w JS, po stronie przeglądarki, to: NaN - Not a Number - przypisywana zmiennej, która nie jest prawidłowym wynikiem działań arytmetycznych, undefined - to taka zmienna, która nie została zadeklarowana (słówko var) lub taka, która jest argumentem funkcji lub właściwością/polem obiektu i nigdy nie otrzymała wartości, null - to zmienna pusta, "" - to po prostu pusty łańcuch znaków (jego długość to 0). Trochę więcej na ten temat możesz znaleźć tutaj (zajrzyj również do źródła artykułu). |
|
|
![]()
Post
#17
|
|
Grupa: Zarejestrowani Postów: 1 195 Pomógł: 109 Dołączył: 3.11.2011 Ostrzeżenie: (10%) ![]() ![]() |
Jeszcze raz dziękuje -masz plus ode mnie w profilu ;)Fajny tutorial JS -dodam do zakładki. .Jeszcze,aż tak się nie zagłębiałem w strukture html ,ale wydaje mi się ,że nawet select,checkbox jest tam traktowany jako tekst.Tzn.Przy zaznaczeni daje 1 przy odznaczeniu 0. Skrypt PHP ,czy c# obojętnie jaki traktuje to wartściami boolean czyli dla 1 True,dla 0 false ,ale mogę być w błędzie.W przypadku indeksowania 0 będzie wartością -1;
W JS po obserwacji ,to tam jest chyba ściśle odseparowane od typów int i string w przeciwieństwie do HTML gdzie wszystko traktowane jest jako string,ale tutaj też mogę być w błędzie.To takie moje indywidualne spostrzeżenia,które mogą być błędne. Ten post edytował Niktoś 26.12.2011, 20:10:04 |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 16.06.2025 - 21:13 |