![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 21 Pomógł: 0 Dołączył: 24.05.2010 Ostrzeżenie: (0%) ![]() ![]() |
Witam mam taki problem otóż mam klasę
I teraz chcial bym utworzyc odnosnik do wstawiania uzytkownika:
Problem w tym ze jezeli tak to wywolam to tylko wyswietli sie formularz nie ustawiajac zmiennych Imie i Nazwisko gdyz tablica $_POST jest pusta. Nie chcial bym do kazdej funkcji tworzyc osobnego odnosnika by sie wywolala. Wiem ze jezeli funkcje ustaw i dodaj wywale poza ifa to bedzie dzialac, ale co zrobic gdy np mam inna klase i w niej mam funkcje dodajCzlowieka ktora zawiera wywolanie tych 3 funkcji klasy czlowiek
Bardzo prosze o pomoc bo nie wiem jak sobie poradzic z tym problemem |
|
|
![]()
Post
#2
|
|
![]() Grupa: Moderatorzy Postów: 4 465 Pomógł: 137 Dołączył: 26.03.2004 Skąd: Gorzów Wlkp. ![]() |
Słowa klucze - enkapsulacja i parametryzacja
Błędy: - echo w ciele metod - niczym nieuzasadnione - automatyczne przypisywanie wartości z $_POST do atrybutów obiektu Jeśli rozwiążesz te dwa problemy to Twój problem się rozwiąże sam. ![]() -------------------- To think for yourself you must question authority and
learn how to put yourself in a state of vulnerable, open-mindedness; chaotic, confused, vulnerability, to inform yourself. Think for yourself. Question authority. |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 21 Pomógł: 0 Dołączył: 24.05.2010 Ostrzeżenie: (0%) ![]() ![]() |
możesz wyjaśnić mi o co rozchodzi się z tym automatycznym przypisywaniem wartości $_POST atrybutom obiektów ?
|
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 511 Pomógł: 143 Dołączył: 13.03.2010 Skąd: Jasło Ostrzeżenie: (0%) ![]() ![]() |
jest:
a powinno być
Ten post edytował jaslanin 26.05.2010, 11:42:00 -------------------- Good luck and happy PHP'ing
|
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 21 Pomógł: 0 Dołączył: 24.05.2010 Ostrzeżenie: (0%) ![]() ![]() |
hmmm.. ale gdzie jest przypisanie do zmiennej np imie watrosci $_POST['imie']
![]() |
|
|
![]()
Post
#6
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Tam, gdzie będziesz wywoływał metodę ustaw()
-------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 21 Pomógł: 0 Dołączył: 24.05.2010 Ostrzeżenie: (0%) ![]() ![]() |
czyli moja funkcja powinna wyglądać tak :
![]() nie rozumiem.. to po co te argumenty w funkcji?? Proszę o wyjaśnienie |
|
|
![]()
Post
#8
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Wywołanie funkcji to nie jest deklaracja funkcji.
Zapoznaj się z podstawami http://pl2.php.net/manual/pl/language.functions.php -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 21 Pomógł: 0 Dołączył: 24.05.2010 Ostrzeżenie: (0%) ![]() ![]() |
tak wiem, ale nie rozumiem jak mam napisać taką funkcje ? Wyżej napisano że powinienem napisać funkcje z dwoma argumentami, oraz że powinienem w tej funkcji przypisać dane z $_POST do zmiennych, wiec nie wiem co maja zawierać te argumenty w funkcji. Jedyne co mi przychodzi do głowy to wywołanie funkcji z argumentami $_POST
ale nie działa tak jak chce. |
|
|
![]()
Post
#10
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
odpowiadalem jedynie na Twoj ostatni post.
Teraz przeczytalem temat i masz inne bledy Cytat Problem w tym ze jezeli tak to wywolam to tylko wyswietli sie formularz nie ustawiajac zmiennych Imie i Nazwisko gdyz tablica $_POST jest pusta. Nie chcial bym do kazdej funkcji tworzyc osobnego odnosnika by sie wywolala. Wiem ze jezeli funkcje ustaw i dodaj wywale poza ifa to bedzie dzialac, ale co zrobic gdy np mam inna klase i w niej mam funkcje dodajCzlowieka ktora zawiera wywolanie tych 3 funkcji klasy czlowiek No bo chcesz pójść po najmniejszej linii oporu i wszystko zawrzec w 3 funkcjach w ktorych masz burdel na kółkach. Owszem, możesz tak zrobić, nikt ci nie broni. Musisz wiec przed dodawaniem rekordu sprawdzac czy POST poszedl (np. isset($_POST['imie'])). Wowczas bedzie sie dodwalao wtedy kiedy trzeba. -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#11
|
|
Grupa: Zarejestrowani Postów: 21 Pomógł: 0 Dołączył: 24.05.2010 Ostrzeżenie: (0%) ![]() ![]() |
tylko ze próbuje już 2 dzień i wniosek mam jeden jeżeli tak wywołam jak wyżej to te dane nie zostaną ustawione sama funkcja ustaw się wykona ale jak mam w niej warunek if(!empty($_POST['imie'])) to nie ustawia mi zadnych zmiennych bo o ile dobrze rozumiem to on wchodzi do funkcji
wykonuje wszystkie 3 funkcje na raz czyli w funkcji WypelnijDane nie zostalo jeszcze nic wyslane w $_POST a pozostałe już sie wykonały, jezeli ustawie warunek w ustaw() sprawdzajacy czy cos jest w $_POST to to tez nic nie da bo $_POST bedzie puste dopoki nic nie wysle a jak juz wysle to funkcja ustaw() dawno sie juz wykonala. Ma ktos moze pomysl jak to inaczej rozwiac tzn jak utworzyc w funkcji klasy jednego obiektu obiekt innej klasy? |
|
|
![]()
Post
#12
|
|
Grupa: Zarejestrowani Postów: 511 Pomógł: 143 Dołączył: 13.03.2010 Skąd: Jasło Ostrzeżenie: (0%) ![]() ![]() |
ale ładniej byś to zrobił jakbyś rozbił na dwie osobne rzeczy wyświetlanie formularza, i ustawianie/dodawanie człowieka Ten post edytował jaslanin 26.05.2010, 13:18:42 -------------------- Good luck and happy PHP'ing
|
|
|
![]()
Post
#13
|
|
Grupa: Zarejestrowani Postów: 21 Pomógł: 0 Dołączył: 24.05.2010 Ostrzeżenie: (0%) ![]() ![]() |
no tylko tak nie chce mi działać
![]() ![]() Ten post edytował emil_seba 27.05.2010, 12:11:53 |
|
|
![]()
Post
#14
|
|
Grupa: Zarejestrowani Postów: 511 Pomógł: 143 Dołączył: 13.03.2010 Skąd: Jasło Ostrzeżenie: (0%) ![]() ![]() |
dodaj pole input:
Kod <input type="hidden" name="formularzWyslany" value="1" /> i sprawdzaj odpowiednio czy formularzWyslany ma wartość 1 a ten if jest po to żeby te funkcje się nie wykonały, jeżeli nie masz wypełnionego formularza to skąd weźmiesz imię i nazwisko ? Ten post edytował jaslanin 27.05.2010, 12:46:27 -------------------- Good luck and happy PHP'ing
|
|
|
![]()
Post
#15
|
|
Grupa: Zarejestrowani Postów: 21 Pomógł: 0 Dołączył: 24.05.2010 Ostrzeżenie: (0%) ![]() ![]() |
tak ja to rozumiem ale po prostu obojętnie czy ustawie ifa czy nie to nie działa tak jak chce ponieważ te 3 funkcje są wykonywane w 1 a wykonanie pierwsze potrzebuje chyba "odświeżenia strony". Na mój chłopski rozum to on wykonuje pierwsza (nie odświeża sobie tablicy $_POST) i wykonuje następne ponieważ wykonywane są w 1 funkcji dopiero po wyjściu z funkcji "odświeża tablice"
|
|
|
![]()
Post
#16
|
|
Grupa: Zarejestrowani Postów: 511 Pomógł: 143 Dołączył: 13.03.2010 Skąd: Jasło Ostrzeżenie: (0%) ![]() ![]() |
masz pusty formularz, to co jest w instrukcji warunkowej się nie wykonuje, wypełniasz formularz, przyciskasz wyślij (to jest pewnie to twoje odświeżenie o którym piszesz), tablica $_POST jest uzupełniana, warunek zachodzi, ustaw i dodaj się wykonują.
-------------------- Good luck and happy PHP'ing
|
|
|
![]()
Post
#17
|
|
Grupa: Zarejestrowani Postów: 21 Pomógł: 0 Dołączył: 24.05.2010 Ostrzeżenie: (0%) ![]() ![]() |
ale wstaw te 3 funkcje w 1 i wywołaj ją.. mi za każdym razem nie działa... zrobiłem to inaczej formularz zrobiłem jako osobna stronę wykonywana po kliknięciu na link i mającą pole ukryte (jak ktoś wyżej polecił) wtedy sprawdzam czy te pole ukryte ma wartość jeżeli tak to wykonuje funkcje ustaw() i dodaj(), może ktoś mi poradzić jak otworzyć stronę z formularzem w stronie glownej(idzie tak wogole?) aby zachowac caly layout strony bez ponownego definiowania go w stronie z formularzem, z góry dziękuje za odpowiedź i poprzednie odpowiedzi
|
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 19.07.2025 - 04:47 |