![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 25 Pomógł: 0 Dołączył: 23.03.2010 Ostrzeżenie: (0%) ![]() ![]() |
Witajcie!
Przejrzałem i chyba już setki kursów PHP i większość z nich jest do kitu :/ Dlatego zwracam się do Was z prośbą o podanie mi odnośnika do kursu w którym jest wytłumaczone jak zrobić formularz dodający przez PHP dane do bazy MySQL. Długo nad tym siedziałem i nawet popełniłem taki kod, ale co z tego jak wiele z niego nie rozumiem.
Oto moje pytania: Linia 4 O co chodzi z tym if(isset($_POST['nazwisko']))? Czemu musimy sprawdzać czy nazwisko "is set" i dlaczego akurat to pole formularza a nie inne jak "limit"? linia 8 Czym się różni ` od ' ? I na koniec Używam mysql_fetch_row do wyświetlania zawartości bazy danych, ale podobno w dzisiejszych czasach już lepiej jest używać mysql_fetch_array , ale nie wiem jak to zrobić. I tu prosiłbym o link lub wytłumaczenie. Z góry dziękuję za pomoc. |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 1 429 Pomógł: 195 Dołączył: 6.10.2008 Skąd: Kraków/Tomaszów Lubelski Ostrzeżenie: (0%) ![]() ![]() |
Isset sprawdza czy został wysłany formularz. Po naciśnięciu buttona wysyłamy formularz i wykonuje się kod wrzucający do bazy dane nie? Ale co by się działo bez isseta? Wchodzisz na stronę a tu zonk, wysłano zapytanie z pustymi danymi do bazy, bo nie sprawdziło formularza. Równie dobrze możesz dać limit zamiast nazwisko przy sprawdzaniu, jak chcesz, ale najlepiej nadać submitowi name i sprawdzać po submicie (IMG:style_emoticons/default/winksmiley.jpg) Bo zawsze zostanie naciśnięty.
Oczywiście rozumiem że ten kod to przykład bo jest trochę bez sensu, najpierw mysql_fetch_array potem row, wystarczy jeden (IMG:style_emoticons/default/tongue.gif) Polecam jakąś książkę Ten post edytował MateuszScirka 27.03.2010, 20:58:53 |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 2 178 Pomógł: 596 Dołączył: 25.09.2009 Skąd: Piwniczna-Zdrój Ostrzeżenie: (0%) ![]() ![]() |
Isset sprawdza czy został wysłany formularz. Po naciśnięciu buttona wysyłamy formularz i wykonuje się kod wrzucający do bazy dane nie? Ale co by się działo bez isseta? Wchodzisz na stronę a tu zonk, wysłano zapytanie z pustymi danymi do bazy, bo nie sprawdziło formularza. Równie dobrze możesz dać limit zamiast nazwisko przy sprawdzaniu, jak chcesz, ale najlepiej nadać submitowi name i sprawdzać po submicie (IMG:style_emoticons/default/winksmiley.jpg) Bo zawsze zostanie naciśnięty. Nieprawda isset sprawdza, czy zmienna została zainicjowana, również pustą wartością. PrzykładOczywiście rozumiem że ten kod to przykład bo jest trochę bez sensu, najpierw mysql_fetch_array potem row, wystarczy jeden (IMG:style_emoticons/default/tongue.gif) Polecam jakąś książkę isset nie jest specjalnym poleceniem, które służy do sprawdzania, czy formularz został wysłany, aczkolwiek możemy takiego sprawdzenia dokonywać, przy czym sprawdzenie isset($_POST['nazwisko']) możemy interpretować jako "czy w tablicy $_POST istnieje klucz o nazwie 'nazwisko'?". @piotrek0 W kodzie który podałeś należy użyć składni ponieważ $_POST['nazwisko'] zostanie zainicjowane pustą wartością, jeżeli nie wypełnimy odpowiedniego pola. Natomiast znak ` to gravis, czyli znak akcentu. W bazach danych nazwy baz, tabel i pól możemy otaczać tylko tym znakiem, a ' (czyli apostrof) służy do definiowania łańcucha znakowego. |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 1 495 Pomógł: 245 Dołączył: 1.07.2009 Skąd: Bydgoszcz Ostrzeżenie: (0%) ![]() ![]() |
Pojedynczy cudzyslow ( ' ) uzywasz w php np. do tworzenia ciagow znakow np. echo ' costam'; a w SQLu konkretne wartosci. Natomiast to ( ` ) uzywasz w zapytaniu kierowanym do SQL umieszczajac nazwy tabel i kolumn.
Masz tu poprawiony kod. Warunek sprawdza czy zostaly wypelnione potrzebne pola czyli nazwisko i limit oraz czy kliknieto w 'Wyslij'. Jesli tak to wykonuje sie dodanie do bazy. Nastepnie wysiwetlany jest formularz. Zmienna $num jest iloscia rekordow z tego zapytania. Warunek if sprawdza czy jest minimum 1 rekord. Jesli tak to wyswietlane sa rekordy z bazy. Petla while wykonuje wyswietlenie wszystkich rekordow spelniajacych kryteria zapytania (select * from `uzytkownik` ORDER BY `id_uzytkownika` DESC), czyli wyswietli wszystkie rekordy uporzadkowane wg. id_uzytkownika majejaco. Ciag znakow podany w echo wyswietli sie tyle razy ile jest rekordow, natomiast za $rekord[0], $rekord[1] itd. zostana podstawione wartosci kolejnych kolumn z tej tabeli, przy kazdym powtorzeniu petli - nastepny wiersz. Jesli $num <=0 to wyswietla sie komunikat ze brak rekordow. Proste? (IMG:style_emoticons/default/winksmiley.jpg) Ten post edytował sadistic_son 27.03.2010, 21:31:35 |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 1 429 Pomógł: 195 Dołączył: 6.10.2008 Skąd: Kraków/Tomaszów Lubelski Ostrzeżenie: (0%) ![]() ![]() |
Mortus, napisalem co isset robi w jego kodzie a nie co robi w ogole (IMG:style_emoticons/default/smile.gif)
|
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 25 Pomógł: 0 Dołączył: 23.03.2010 Ostrzeżenie: (0%) ![]() ![]() |
Aha czyli isset służy do tego, że jak jakiś maniak wejdzie nam na stronę i będzie naciskać F5 kilkaset razy to nam się dzięki temu nie pojawi kilkaset wpisów w bazie danych.
Dziękuję! Co do książek to już kilka wypożyczałem zaczynałem czytać, krzyczałem w myślach "WTF?!" i odkładałem. Ciężko o pomoc która wytłumaczy elementarne rzeczy, albo są one w ogóle nie tłumaczone, albo tak, że "echh napijmy się". Najgorsze jest to, że jest w sieci dużo śmiecia, które tłumaczy jak dodawać do siebie zmienne, ale żeby trafić na to jak zrobić formularze z dodawaniem danych do bazy, czy jak te dane wyciągnąć do tablicy, a potem jak tę tablicę wydrukować na ekranie w sposób przystępny dla użytkownika to już nie. Dlatego zdesperowany zawracam Wam głowę, chociaż zawszę wolę sam poszukać, pogooglować i poczytać. Czekam na rozwikłanie reszty zagadek (IMG:style_emoticons/default/smile.gif) I oczywiście dziękuję (IMG:style_emoticons/default/smile.gif) //edit O widzę, że jest więcej odpowiedz, zaraz ogarnę i się ustosunkuję. Ten post edytował piotrek0 27.03.2010, 21:32:26 |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 1 495 Pomógł: 245 Dołączył: 1.07.2009 Skąd: Bydgoszcz Ostrzeżenie: (0%) ![]() ![]() |
Aha czyli isset służy do tego, że jak jakiś maniak wejdzie nam na stronę i będzie naciskać F5 kilkaset razy to nam się dzięki temu nie pojawi kilkaset wpisów w bazie danych. Nie, isset Cie przed F5 nie zabezpieczy. Isset powoduje ze rekord sie nie doda do bazy jesli nie klikniesz w 'Wyslij' i nie wypelnisz pol nazwisko i limit. |
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 1 429 Pomógł: 195 Dołączył: 6.10.2008 Skąd: Kraków/Tomaszów Lubelski Ostrzeżenie: (0%) ![]() ![]() |
Nie, isset Cie przed F5 nie zabezpieczy. Isset powoduje ze rekord sie nie doda do bazy jesli nie klikniesz w 'Wyslij' i nie wypelnisz pol nazwisko i limit. Dokładnie. Jeżeli nie rozumiesz kursów, to polecam jakąś analizę prostego kodu, praktykę, jakąś dobrą książkę. Kursy to czysta teoria, bez praktycznych przykładów typu system newsów, shoutbox. Takich skryptów jest mnóstwo, wystarczy wpisać w google odpowiednią frazę, pobierasz i analizujesz. |
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 1 495 Pomógł: 245 Dołączył: 1.07.2009 Skąd: Bydgoszcz Ostrzeżenie: (0%) ![]() ![]() |
Osobiście polecam tą książkę: Lis M.: PHP i MySQL dla każdego. Wydawnictwo Helion, Gliwice 2005. stara ale jara. Wszystko jest tak wytlumaczone ze nie majac kompletnie zadnego polecia o programowaniu nawet debil nauczy sie z niej php i podstaw sql/mysql.
|
|
|
![]()
Post
#10
|
|
Grupa: Zarejestrowani Postów: 2 178 Pomógł: 596 Dołączył: 25.09.2009 Skąd: Piwniczna-Zdrój Ostrzeżenie: (0%) ![]() ![]() |
Pojedynczy cudzyslow ( ' ) uzywasz w php np. do tworzenia ciagow znakow np. echo ' costam'; @sadistic_son: Nie tylko w PHP, bo Twoje $zapytanie wstawia łańcuchy znaków do bazy danych i używasz tam apostrofów (dokładniej w VALUES ('...', '...')).@MateuszScirka: Sorry, że się czepiam, ale już Ci to gdzieś tłumaczyłem. @piotrek0: Jeżeli użytkownik naciśnie F5 zaraz po wysłaniu formularza, to dostanie pytanie "Czy wysłać ponownie dane?". Zatem isset nie "blokuje" F5. F5 możemy zablokować np. przekierowując użytkownika na konkretną stronę za pomocą funkcji header, oczywiście po poprawnym zalogowaniu. isset w formularzach ma sprawdzać, czy np. checkbox-y albo radio zostały zaznaczone, lub czy pole zostało wypełnione 0 (zerem). Ogólnie rzecz biorąc isset doskonale się nadaje do sprawdzenia, czy szczególny "typ danych" został przesłany w odpowiednim polu. Oczywiście możemy również sprawdzać, czy formularz został wysłany, ale wtedy tak jak Mateusz pisał, najlepiej nadać parametr name przyciskowi submit. Nie, isset Cie przed F5 nie zabezpieczy. Isset powoduje ze rekord sie nie doda do bazy jesli nie klikniesz w 'Wyslij' i nie wypelnisz pol nazwisko i limit. Dokładnie. Jeżeli nie rozumiesz kursów, to polecam jakąś analizę prostego kodu, praktykę, jakąś dobrą książkę. Kursy to czysta teoria, bez praktycznych przykładów typu system newsów, shoutbox. Takich skryptów jest mnóstwo, wystarczy wpisać w google odpowiednią frazę, pobierasz i analizujesz. NIEPRAWDA Jeżeli będzie tak skonstruowany warunek, jak w listingu z pierwszego postu, a na pola w bazie danych nie będzie nałożonej restrykcji NOT NULL, to rekord doda się do bazy danych i będą w nim dwa puste pola. Ten post edytował mortus 27.03.2010, 21:50:07 |
|
|
![]()
Post
#11
|
|
Grupa: Zarejestrowani Postów: 1 495 Pomógł: 245 Dołączył: 1.07.2009 Skąd: Bydgoszcz Ostrzeżenie: (0%) ![]() ![]() |
NIEPRAWDA Właśnie to jest kolego nie prawda. Nie sądzisz że to: isset($_POST['nazwisko']) && $_POST['nazwisko']!="" dość solidnie zabezpiecza przed dodaniem pustego rekordu? EDIT: ok, jesli chodzi o pierwszy post to masz racje. Ale w moim poscie juz jest bezpiecznie (IMG:style_emoticons/default/smile.gif) Jeżeli będzie tak skonstruowany warunek, jak w listingu z pierwszego postu, a na pola w bazie danych nie będzie nałożonej restrykcji NOT NULL, to rekord doda się do bazy danych i będą w nim dwa puste pola. @sadistic_son: Nie tylko w PHP, bo Twoje $zapytanie wstawia łańcuchy znaków do bazy danych i używasz tam apostrofów (dokładniej w VALUES ('...', '...')). Przeciez napisalem ze w SQLu sluzy do dodawania konkretnych wartosci.
Ten post edytował sadistic_son 27.03.2010, 21:55:00 |
|
|
![]()
Post
#12
|
|
Grupa: Zarejestrowani Postów: 25 Pomógł: 0 Dołączył: 23.03.2010 Ostrzeżenie: (0%) ![]() ![]() |
No dobrze to co na razie zrozumiałem to to, że tego gravisa używamy w mysql i tak po prostu jest.
Co do isset. To zrozumiałem, że ta instrukcja warunkowa sprawdza czy pola formularza nie są puste, i jak są to wtedy nie pozwala na wykonanie zapytania do bazy czyli dodania rekordu. Ale czy konieczne jest robienie tego dla wszystkich pól? Może będę chciał zezwolić użytkownikowi na nie wypełnianie pola? A co się stanie, jak w ogóle nie użyję isset? Przy każdym wejściu na stronę będzie wywoływało się zapytanie i puste rekordy trafią do mojej tabeli? A jaką wartość będzie miała zamienna $_POST jeżeli jednak wyślemy puste formularze? NULL? |
|
|
![]()
Post
#13
|
|
Grupa: Zarejestrowani Postów: 1 429 Pomógł: 195 Dołączył: 6.10.2008 Skąd: Kraków/Tomaszów Lubelski Ostrzeżenie: (0%) ![]() ![]() |
Piotrek0, nie każde pole musi być wypełnione, ty decydujesz które. Wiadomo, pole hasło/login itp. muszą, wiadomo, ale np. numer telefonu nie, jeżeli pozostawisz puste to się nic nie stanie. W przypadku loginu i hasła (przykład) musisz sprawić np. za pomocą empty czy zmienna nie jest pusta no i musisz ją zwalidować (czy jak to się pisze)
Ten post edytował MateuszScirka 27.03.2010, 22:12:21 |
|
|
![]()
Post
#14
|
|
Grupa: Zarejestrowani Postów: 1 495 Pomógł: 245 Dołączył: 1.07.2009 Skąd: Bydgoszcz Ostrzeżenie: (0%) ![]() ![]() |
A co się stanie, jak w ogóle nie użyję isset? Przy każdym wejściu na stronę będzie wywoływało się zapytanie i puste rekordy trafią do mojej tabeli? Tak się właśnie stanie.A jaką wartość będzie miała zamienna $_POST jeżeli jednak wyślemy puste formularze? NULL? Tak.Co do isset. To zrozumiałem, że ta instrukcja warunkowa sprawdza czy pola formularza nie są puste, i jak są to wtedy nie pozwala na wykonanie zapytania do bazy czyli dodania rekordu. Dobrze zrozumiałeś.Ale czy konieczne jest robienie tego dla wszystkich pól? Może będę chciał zezwolić użytkownikowi na nie wypełnianie pola? Jesli chcesz np. aby uzytkownik musial wypelnic nazwisko a tylko mogl opcjonalnie wypelnic limit to nie musisz uzywac isste w pierwszym warunku. Ale musisz uzyc go dalej aby sprawdzic czy uzytkownik to wypelnil czy nie. Cos musi byc dodane do bazy w miejsce limit. Albo to co wpisal uzytkownik albo np. znak 0 czy + czy cokolwiek innego ustalonego przez Ciebie. Tzn nie musi byc dodane jesli w tabeli dla konkretnej kolumny nie ustawiles NOT NULL. Ale ja proponuje jednak i tak wpisywac np. 0 bo inaczej moze to powodowac problemy przy pozniejszym dzialaniu na rekordach.
Ten post edytował sadistic_son 27.03.2010, 22:15:25 |
|
|
![]()
Post
#15
|
|
Grupa: Zarejestrowani Postów: 25 Pomógł: 0 Dołączył: 23.03.2010 Ostrzeżenie: (0%) ![]() ![]() |
Dobra ludzie, nie mąćcie mu w głowie tą teorią, Piotrek0, nie każde pole musi być wypełnione, ty decydujesz które. Wiadomo, pole hasło/login itp. muszą, wiadomo, ale np. numer telefonu nie, jeżeli pozostawisz puste to się nic nie stanie. W przypadku loginu i hasła (przykład) musisz sprawić np. za pomocą empty czy zmienna nie jest pusta no i musisz ją zwalidować (czy jak to się pisze) Właśnie usunąłem isset z tego mojego kodu i tak jak odświeżałem to mi się nowe rekordy pojawiały, a jak przywróciłem ją z powrotem to już nie. Dlaczego za pomocą empty mam to sprawdzić? Isset się do tego nie nadaje? Następne co zrobiłem to nadałem name="przycisk" przyciskowi i ustawiłem isset na "przycisk". Ale rezultaty były inne niż się spodziewałem. Kiedy nacisnąłem przycisk a potem odświeżałem to rekordy do bazy danych dodawały się, ale jak wszedłem od nowa na stronę i nic nie ruszałem tylko odświeżałem to wtedy nie. Bo ten submit to przekazuje do zmiennej $_POST to co jest w formularzach, i jeżeli formularze będą puste to przekaże NULL Chyba powoli zaczynam rozumieć. Jaką wartość będzie miała ta zmienna?
a ta?
obie NULL? @sadistic_son Cytat Cytat(piotrek0 @ 27.03.2010, 22:04:26 ) Cytat Co do isset. To zrozumiałem, że ta instrukcja warunkowa sprawdza czy pola formularza nie są puste, i jak są to wtedy nie pozwala na wykonanie zapytania do bazy czyli dodania rekordu. Dobrze zrozumiałeś. Nie ochroni mnie to przed odświeżaniem, bo jak jakiś maniak już kliknie wyślij, to wtedy przeglądarka podczas odświeżania będzie wysyłać te same dane, co przy poprzednim załadowaniu. Jednak uchroni mnie to przed dodawaniem rekordu podczas wejścia na stronę. Ten post edytował piotrek0 27.03.2010, 22:39:14 |
|
|
![]()
Post
#16
|
|
Grupa: Moderatorzy Postów: 15 467 Pomógł: 1451 Dołączył: 25.04.2005 Skąd: Szczebrzeszyn/Rzeszów ![]() |
Ekhm, przecież to są stałe...?
|
|
|
![]()
Post
#17
|
|
Grupa: Zarejestrowani Postów: 25 Pomógł: 0 Dołączył: 23.03.2010 Ostrzeżenie: (0%) ![]() ![]() |
Ekhm, przecież to są stałe...? O co chodzi? (IMG:style_emoticons/default/smile.gif) Nie no racja niechcący wpisałem małpę zamiast dolara. Dzięki. |
|
|
![]()
Post
#18
|
|
Grupa: Zarejestrowani Postów: 29 Pomógł: 0 Dołączył: 28.08.2009 Skąd: wertykalne przez większość dnia Ostrzeżenie: (0%) ![]() ![]() |
na odświeżanie znam tylko jeden sposób - nie bedę go tu prezentował bo by troche zajał miejsca a nie o tym tu przeciez mowa - sprawdzanie czy wartosci nie sa zdublowane jeszcze przed zapisem do bazy - ma niestety pare wad - przy duzej ilosci wierszy sprawdzenie chwilke zajmie - poza tym wymaga gruntownego przemyslenia ktora kolumne ma sprawdzac - przeciez nie kazda z osobna bo gdyby cos takiego zastosowali na tym forum to kazdy z nas moglby zamiescic tylko jeden post w zyciu w obrebie calego forum).
co do isset - to troche chlopaki namieszaliscie albo ja was nie zrozumialem (IMG:style_emoticons/default/blinksmiley.gif) isset to z angielskiego is set = jest wybrany (w wolnym tlumaczeniu) czyli if (isset($_POST['user'])&&($_POST['user'] != ')) ... nalezy odczytywac jako: jesli ( jest wybrane (pole post o nazwie [user]) //inaczej: zostalo przeslane pole post o nazwie user// i (to wlasnie pole o nazwie [user] nie ma zadnej wartosci )to ... (i tu wpisujemy instrukcje do wykonania np dodania wartosci przeslanego pola do bazy danych) takze samo isset($_POST['user']) sprawdza czy pole 'user' zostalo przeslane/istnieje - innaczej mowiac tworzy array o nazwie user o podanej przez uzytkownika wartosci i nic wiecej - latwo sprawdzic: print_r($_POST); if (isset($_POST['user'])) - stawia warunek dla wykonania dalszych instrukcji - jesli zostalo przeslane pole user. co do materialow z ktorych mozna sie uczyc polecam - tez juz nienajswiezsza "php5, apache i mysql - od podstaw" z serii programmers for programmers wydanej po polsku w helionie. ja sie z tego uczylem i odnosze wrazenie ze mam solidne podstawy |
|
|
![]()
Post
#19
|
|
Grupa: Zarejestrowani Postów: 2 178 Pomógł: 596 Dołączył: 25.09.2009 Skąd: Piwniczna-Zdrój Ostrzeżenie: (0%) ![]() ![]() |
isset to z angielskiego is set = jest wybrany (w wolnym tlumaczeniu) To ty chba znasz inny angielski niż ja, bo is set w moim wolnym tłumaczeniu znaczy "jest ustawiony", a nie jest wybrany, zresztą tak mówi manual php.pole 'user' zostalo przeslane/istnieje - innaczej mowiac tworzy array o nazwie user o podanej przez uzytkownika wartosci i nic wiecej - latwo sprawdzic: print_r($_POST); A skąd. Przesłanie pola [user], również pustego spowoduje dodanie do tablicy $_POST indexu (klucza) [user], tablicę tworzy się w wyjątkowych sytuacjach (jeśli np. mamy kilka checkbox-ów z name="nazwa[]").
Ten post edytował mortus 28.03.2010, 08:37:29 |
|
|
![]()
Post
#20
|
|
Grupa: Moderatorzy Postów: 4 362 Pomógł: 714 Dołączył: 12.02.2009 Skąd: Jak się położę tak leżę :D ![]() |
Achill... Ja na odświeżanie znam taki sposób, że możesz sobie wciskać F5 ile razy chcesz, pierwsze klikniecie wyśle do bazy jako normalne dodanie, a każde kolejne będzie rozpoznawane jako update.
Isset -> pole jest ustawione, ma jakąkolwiek wartość (może być puste, NULL, nul) empty -> sprawdza czy pole nie ma aby przypadkiem wartości pustej. Piotrek... Jak widzę te kursy to Ty chyba na pierwszej stronie oglądaleś. Bo średnio niemal 100% kursów porusza temat łączenia i zapisu do bazy (IMG:style_emoticons/default/biggrin.gif) Niektóre robia to lepiej, inne gorzej, ale niemal wszystkie pokazują gotowce! Może kłamię? Wpisz w google: php mysql. Pierwszy to manual php o bibliotece mysql, a drugi to pełnoprawny kurs na webmade.org, który od samej instalacji poprzez GOTOWCE pokazuje jak dodawać tabele, rekordy poprzez php i wyciągać je także poprzez php. Tak więc nie pieprz głupot, że setki oglądałeś, jak ja wpisałem dwa słowa w google i dostałem to czego Ty rzekomo nie znalazłeś. Chyba nie chcesz podpaść lenistwem od razu po rejestracji? |
|
|
![]()
Post
#21
|
|
Grupa: Zarejestrowani Postów: 25 Pomógł: 0 Dołączył: 23.03.2010 Ostrzeżenie: (0%) ![]() ![]() |
@thek
Na webmade to nie znalazłem takiego czegoś jak formulaże isset itp. A manual jest po angielsku, a ja się dopiero uczę angielskiego w takim zagadnieniu (Zwykle teksty jakoś jeszcze dukam). Podsumowanie: Już trochę się pogubiłem z tym isset, bo ilu ludzi tyle opinii, sam nie wie co to sprawdza, bo raczej nie sprawdza czy zmienna jest NULL, ale nie wiem. Wydaje mi się, że to sprawdza czy taka zmienna jak $_POST istnieje, bo jak formularz nie zostanie wysłany (czyli nie zostanie naciśnięty przycisk do wysyłania) to wtedy wygląda to tak
To nam zwróci coś takiego:
Wiem jaka jest różnica pomiędzy apostrofem a gravisem. Jeszcze nie rozumiem kilku spraw, ale to najpierw sam poszukam, a potem zapytam, bo nawet sam nie wiem jak pytać, żeby zostać zrozumianym. Na razie dziękuję i czekam na odpowiedzi, rozdaję podzięki. |
|
|
![]() ![]()
Post
#22
|
|
Grupa: Zarejestrowani Postów: 29 Pomógł: 0 Dołączył: 28.08.2009 Skąd: wertykalne przez większość dnia Ostrzeżenie: (0%) ![]() ![]() |
To ty chba znasz inny angielski niż ja, bo is set w moim wolnym tłumaczeniu znaczy "jest ustawiony", a nie jest wybrany, zresztą tak mówi manual php.A skąd. Przesłanie pola [user], również pustego spowoduje dodanie do tablicy $_POST indexu (klucza) [user], tablicę tworzy się w wyjątkowych sytuacjach (jeśli np. mamy kilka checkbox-ów z name="nazwa[]"). szczegóły przesylamy z form oczywiscie. no owszem ale tak wlasciwie co za roznica - ja wole tak to robic - tak sie nauczylem a na jazde bez trzymanki jeszcze troche za cienki jestem. Zresztą chodzi o ogólną zasadę i tak i tak jest poprawnie i bedzie działać a co do angielskiego no cóż wybrany/ustawiony na jedno wychodzi ale nie czas i ne miejsce na dyskusje lingwistyczne. Zatem krotko wniosek prosty lepiej rozumiec co jest napisane niz na sztywno tlumaczyc - tym bardziej ze sa wyrazy ktorych nie da sie tlumaczyc doslownie jak chocby print - drukować a w php sluży do wyswietla danych na monitorze - zonk!. mniejsza z tym - grunt, że się rozumiemy (IMG:style_emoticons/default/tongue.gif) Wydaje mi się, że to sprawdza czy taka zmienna jak $_POST istnieje, bo jak formularz nie zostanie wysłany (czyli nie zostanie naciśnięty przycisk do wysyłania) to wtedy wygląda to tak if (isset $_POST) - owszem sprawdza czy istnieje taka zmienna warunek bedzie prawdziwy w obu przypadkach gdy $_POST 1) bedzie mial jakakolwiek wartosc lub też 2) bedzie to NULL. warunek bedzie jednak nieprawdziwy wtedy i tylko wtedy gdy $_POST nie zostanie przeslana z formularza |
|
|
![]()
Post
#23
|
|
Grupa: Zarejestrowani Postów: 2 178 Pomógł: 596 Dołączył: 25.09.2009 Skąd: Piwniczna-Zdrój Ostrzeżenie: (0%) ![]() ![]() |
if (isset $_POST) - owszem sprawdza czy istnieje taka zmienna Nieprawda, warunek isset($_POST) zawsze będzie spełniony, ponieważ $_POST jest tablicą superglobalną i istnieje zawsze, nawet przy pierwszym uruchomieniu strony. Zatem isset($_POST) nie może nam służyć do sprawdzenia, czy formularz został wysłany.... warunek bedzie jednak nieprawdziwy wtedy i tylko wtedy gdy $_POST nie zostanie przeslana z formularza |
|
|
![]()
Post
#24
|
|
Grupa: Zarejestrowani Postów: 29 Pomógł: 0 Dołączył: 28.08.2009 Skąd: wertykalne przez większość dnia Ostrzeżenie: (0%) ![]() ![]() |
sorka, masz racje caly czas w glowie mialem $_POST['xxxx'] (IMG:style_emoticons/default/wstydnis.gif)
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 15.09.2025 - 10:43 |