![]() |
![]() |
-Adrianna- |
![]()
Post
#1
|
Goście ![]() |
Cześć
Ludzie pomóżcie bo mi ręce juz opadają. Szukałam czy wcześniej takeigo tematu nie było ale niedosukałam się niestety ;/ Problem jest taki: Robię plik php o nazwie indeks.php w którym jest formularz z dwoma inputami textowymi z jednym resetem i dwoma submitami. Zadanie jest takie aby klikając na jeden z submitów wywołać odpowiednią funkcję. Pzredstawię kod dla jednego submitu.
Oczywiscie funkcji dla drugiego submitu jeszcze nie robiłam, gdyż ma wywoływac z pliku dane ale jak narazie danych nie ma. Dziwne, bo plik sie tworzy i zapisuje zmienna $spacja a dwie zmienne z formularza nie chcą się zapisać. O wiele dziwniejsze jest to, że na dwóch plikach wszystko działa ok, ale mi zalezy by to w jednym pliku zrobić. Co jest źle? Co ja robię nie tak? Próbowałam z action="'.$PHP_SELF.'" ale dalej nic :/ ?> |
|
|
![]() |
-Adrianna- |
![]()
Post
#2
|
Goście ![]() |
Okej trochę zmodyfikowałam ten kod i teraz działa
![]()
Chodzi o to, że jak uruchomię stronę to już następuje automatyczne dopisanie oraz odczyt z pliku. Oczywiscie tak ma nie być, ma to być spowodowane przyciśnięciem odpowiednich butonów, jednak każdy z nich to samo robi co włączenie strony mimo, że dałam if-y - prawdopodobnie coś namieszałam ale szukam i szukam i nigdzie nie mogę znaleźć if dla dwóch submitów ![]() |
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 1 597 Pomógł: 30 Dołączył: 19.02.2003 Skąd: Tychy Ostrzeżenie: (0%) ![]() ![]() |
Kiedyś w wiadomościach na php.pl link do artykułu o kilku submitach.
Radziłbym także używać echo zamiast print. Jest szybsze. Ten post edytował sf 3.12.2004, 09:38:16 -------------------- Zapraszam na mój php blog, tworzenie stron.
|
|
|
![]()
Post
#4
|
|
![]() Grupa: Przyjaciele php.pl Postów: 5 724 Pomógł: 259 Dołączył: 13.04.2004 Skąd: N/A Ostrzeżenie: (0%) ![]() ![]() |
- register_globals ($_POST[ 'imie' ] zamiast $imie )
- stałe / łańcuchy znaków ( if ( $wyslij == 'on' ) ... zamiast if ( $wyslij == on ) ) - instrukcje warunkowe ( if ( $a == $b ) ..... lub if ( $a === $b )... zamiast if ( $a = b ) ... ) ten drugi submit nie jest potrzebny, zamiast niego wystarczy albo link albo nowy formularz tylko z tym drugm submitem. -------------------- Nie lubię jednorożców.
|
|
|
![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 740 Pomógł: 15 Dołączył: 23.08.2004 Skąd: Poznań Ostrzeżenie: (0%) ![]() ![]() |
echo faktycznie bylo szybsze ale w php 3 Od czasu pojawienia sie php w wersji 4 echo i print maja podobna wydajnsc.
-------------------- bigZbig (Zbigniew Heintze) | blog.heintze.pl
|
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 245 Pomógł: 0 Dołączył: 9.09.2002 Ostrzeżenie: (0%) ![]() ![]() |
Cytat(bigZbig @ 2004-12-03 09:52:40) echo faktycznie bylo szybsze ale w php 3 Od czasu pojawienia sie php w wersji 4 echo i print maja podobna wydajnsc. W zasadzie to ta dyskusja odbywała się gdzieś tutaj, ale w kwestii różnic: echo jest szybsze, ale nie na tyle, żeby mogło to być znaczące, natomiast zasadnicza różnica polega na tym, że echo to konstrukcja językowa, która, jako że nie jest funkcją, nie może nic zwrócić przez nazwę, a print jak najbardziej. Róznica w szybkości wynika z konieczności wykonania tej jednej operacji return. Dlatego ewentualne użycie echo czy print w sytuacji, kiedy nie potrzebujemy nic zwracać to chyba raczej kwestia przyzwyczajenia czy wręcz widzimisię. -------------------- Nie ma nic stałego prócz zmiany...
|
|
|
-Guest- |
![]()
Post
#7
|
Goście ![]() |
Jeśli cała korekta ma polegać tylko na tym, że zastąpię tą część z if-ami czyli:
Zamiast:
dać:
to teraz zupełna klapa, nic nie działa ![]() |
|
|
![]()
Post
#8
|
|
![]() Grupa: Zarejestrowani Postów: 740 Pomógł: 15 Dołączył: 23.08.2004 Skąd: Poznań Ostrzeżenie: (0%) ![]() ![]() |
Zapoznaj się z tematem Problem ze zmiennymi. Tam jest rozwiazanie Twojego problemu ;-). Ponadto w Twoim formularzu przyciski nie nazywaja się "wyslij" i "pokaz" tylko "WYSLIJ" i "POKAZ" tak wiec nazwy zmiennych powinny to odwzorowywac.
A tak przy okazji proponuje abys powoli zaczela sie przyzwyczajac do tworzenia kodu HTML zgodnego ze specyfikacja XHTML. Na poczatek zaczni pisac wszystkie nazwy tagow i ich atrybutow mala litera. Wartosci wszystkich atrybutow ujmuj w cudzyslowy i koncz spacja i slashem " /" wszystkie tagi, ktore nie maja tagu zamykajacego np. <br /> czy <input /> Ten post edytował bigZbig 3.12.2004, 14:29:09 -------------------- bigZbig (Zbigniew Heintze) | blog.heintze.pl
|
|
|
-Adrianna- |
![]()
Post
#9
|
Goście ![]() |
Z tymi dużymi literami to faktycznie, też zauwazyłam metoda prób i błędów, natomiast zcemu przy odświeżaniu przeglądarki nastepuje zapis do pliku? Wtedy jest bezsensu bo INPUTY sa puste i ta "nicość sie tez zapisuje.
Co do XHTML po co sie przyzwyczajać skoro nie widze w tym żadne różnicy w zastosowaniu? |
|
|
![]()
Post
#10
|
|
Grupa: Przyjaciele php.pl Postów: 7 494 Pomógł: 302 Dołączył: 31.03.2004 Ostrzeżenie: (0%) ![]() ![]() |
Cytat(Adrianna @ 2004-12-04 15:00:08) Co do XHTML po co sie przyzwyczajać skoro nie widze w tym żadne różnicy w zastosowaniu? Różnica jest taka ża specyfikacja HTML zatrzymała się na 4.01 i nie jest oraz nie będzie juz dalej rozwijana, w przeciwieństwie do XHTML. Oznacza to że z czasem XHTML wyprze HTML'a i stanie się obowiązującą specyfikacją. A ty nie bedziesz jej znała, bo po co skoro nie ma różnicy. ![]() |
|
|
![]()
Post
#11
|
|
![]() Grupa: Zarejestrowani Postów: 740 Pomógł: 15 Dołączył: 23.08.2004 Skąd: Poznań Ostrzeżenie: (0%) ![]() ![]() |
Cytat(Adrianna @ 2004-12-04 14:00:08) ... natomiast zcemu przy odświeżaniu przeglądarki nastepuje zapis do pliku? Wtedy jest bezsensu bo INPUTY sa puste i ta "nicość sie tez zapisuje. Przede wszystkim przy odsiwerzaniu widoku w przegladarce wartości wpisane do formularza sa zachowywane wiec zastanawia mnie dlaczego Twoje IMPUTY sa puste? Widocznie wartosci te w ogole nie sa przez skrypt odczytywane bo z pewnoscia istnieja jako elementy superglobalnej tablicy $_POST np. zmiennej imie odpowiada $_POST['imie'] itd. Po drugie zapis do pliku nastepuje kazdorazowo po wykonaniu skryptu jeśli spełniony jest warunek isset($_POST['dodaj']) niezaleznie od tego czy formularz jest wypelniony, czy nie. A więc jesli nacisniesz submita z "dodaj" raz a potem odswierzysz widok to skrypt wykona sie jeszcze raz tak jakbys nacisnela tego samego submita jeszcze raz. Co do XHTML to nie bede powtarzal argumentow mojego przedmowcy dodam jedynie, ze stosujac standard XHTML cwiczysz dobre nawyki (np.: wiekszosc jezykow w tym php rozroznia wielkosc liter), ponad to przy ewentualnej probie poznania technologi XML masz juz zadanie ulatwione bo XHTML to nic innego jak dokument HTML napisany zgodnie z zasadami XML -------------------- bigZbig (Zbigniew Heintze) | blog.heintze.pl
|
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 15.07.2025 - 02:46 |