konto usunięte

Temat: Formularz i GET

Witam,
Właśnie walczę z formularzami. Sprawa stoi jasno z post, ale już z get mam problem.

Ponieważ jak używałem post to dawałem:

if(post[submit]) {
cos tam
}

Natomiast nie wiem jak to ma wyglądać z get, ponieważ

if ($_GET['submit'])

nie działa.

konto usunięte

Temat: Formularz i GET

pokaż kod formularza

konto usunięte

Temat: Formularz i GET

http://pastie.org/242490 - kod formularza

oooo tyle wcześniej szukałem a teraz właśnie znalazłem. Czyli dane są przechowywane w tablicy.

http://pl.wikibooks.org/wiki/Programowanie:PHP:Formularze

Więc już wszystko jasne. Ale dziękuje za pomoc.Bartłomiej Sadkowski edytował(a) ten post dnia 28.07.08 o godzinie 16:45
Wojciech Gomoła

Wojciech Gomoła Now is my Time

Temat: Formularz i GET

widzę że 40 sekund spóźniłem już pomoc nie potrzebna:/Wojciech Gomoła edytował(a) ten post dnia 28.07.08 o godzinie 16:50

konto usunięte

Temat: Formularz i GET

Hmm niestety mam problem. Ponieważ przy wpisywaniu danych otrzymuje link

index.php?szukaj=terenowka

I problem pojawia się, gdy przechodzę do innej podstrony (np. regulamin - odnośnik - index.php?go=regulamin)

I wtedy pokazuje się regulamin i także ten formularz co wyskakuje po wpisaniu w wyszukiwarkę. Jak sobie z tym poradzić?
Wojciech Gomoła

Wojciech Gomoła Now is my Time

Temat: Formularz i GET

A na czym polega metoda $_GET?? na dopisaniu odpowiedniego łańcucha do adresu :D!! Żeby dać ci odpowiedź na twoje pytanie muszę wiedzieć kiedy formularz ma się wyświetlać a kiedy nie??
Wojciech Gomoła

Wojciech Gomoła Now is my Time

Temat: Formularz i GET

Najprościej bedzie warunkiem:

if ($jakas_zmienna == 'jakas_wartosc')
{
require(formularz.php);
}
Ma to jednak wadę formularz będzie zwasze ładowany do pamięci, tylko nie zawsze wyświetlany ale za to kod ładnie wygląda dodatkową zaletą tego rozwiązania jest możliwość zapisania analizy formularza w pliku formularz php. Jeżeli jednak twój serwis jest często otwierany a formularz żadko wyświetlany, zalecałbym takie podejście:

if ($jakas_zmienna == 'jakas_wartosc')
{
$uchwyt=fopen('formularz.html');
$tekst=fread($uchwyt,filesize($uchwyt));
$fclose($uchwyt);
echo $tekst;
// obsługa danych pochodzących z formularza
}
nie wygląda to elegancko ale działa szybciej ponieważ plik formularz.html ładowany jest tylko wtedy gdy następuje taka potrzeba, wadą tego rozwiązania jest konieczność zaśmiecania pliku index.php kodem obsługi formularza.Wojciech Gomoła edytował(a) ten post dnia 28.07.08 o godzinie 17:44
Jarosław Rafa

Jarosław Rafa senior software
engineer, Motorola
Solutions Systems
Polska

Temat: Formularz i GET

Wojciech Gomoła:
Najprościej bedzie warunkiem:

if ($jakas_zmienna == 'jakas_wartosc')
{
require(formularz.php);
}
Ma to jednak wadę formularz będzie zwasze ładowany do pamięci, tylko nie zawsze wyświetlany ale za to kod ładnie wygląda

Nie wydaje mi się, zeby tak było - skoro instrukcja require (bądź include, na jedno wychodzi, ja zawsze używam include zamiast require) jest pod warunkiem, to nie będzie w ogóle wykonana w razie niespełnienia warunku. Więc co ma zaczytać plik formularz.php do pamięci, skoro instrukcja robiąca to się nie wykona?
Wojciech Gomoła

Wojciech Gomoła Now is my Time

Temat: Formularz i GET

Linijki kodu się nie wykonają, ale wykona się:
-sprawdzenie czy plik istnieje
-otwarcie pliku
-analiza składni php(jeśli taka jest)
-zamkięcie pliku

O operacjach kontroli dostępu jakie przy okazji wykona system plików systemu operacyjnego nie mówiąc. Wydaje się niewiele ale przy 20 odświeżeniach na sekundę da się odczuć różnicę. A 20 odświeżeń to nie jest rekordWojciech Gomoła edytował(a) ten post dnia 28.07.08 o godzinie 18:35
Jarosław Rafa

Jarosław Rafa senior software
engineer, Motorola
Solutions Systems
Polska

Temat: Formularz i GET

Wojciech Gomoła:
Linijki kodu się nie wykonają, ale wykona się:
-sprawdzenie czy plik istnieje
-otwarcie pliku
-analiza składni php(jeśli taka jest)
-zamkięcie pliku

No, żeby to stwierdzić to trzeba by jakieś śledzenie operacji wykonywanych przez apacza zapuścić. Ale zrobiłem taki prosty test. Wywołałem plik zawierający cos takiego:

echo "poczatek";
if (1==0) {
require "dupa.php";
}
echo "koniec";

Jezeli plik dupa.php nie istnieje, istnieje, ale nie ma do niego dostepu do czytania, badz zawiera totalnie bledny składniowo kod PHP, nic się nie dzieje - między słowami "początek" i koniec" nie pojawia się żaden komunikat. Jesteś pewien, że require próbuje otworzyć plik, nawet kiedy nie jest wykonywane ??? Skąd masz takie informacje? W dokumentacji PHP nic takiego nie piszą... Niestety, nie piszą też wprost, że jest tak jak ja myślę, ale dla mnie to co ja myślę, jest logiczne - skoro cała instrukcja require jest pod if-em, to cała się nie wykonuje. Natomiast Ty twierdzisz, że mimo wszystko część tej instrukcji się wykonuje, co dla mnie nie brzmi zbyt logicznie...
Wojciech Gomoła

Wojciech Gomoła Now is my Time

Temat: Formularz i GET

http://helion.pl/ksiazki/phppr2.htm Strona 290
"Tworząc bibliotekę funkcji, należy zachować równowagę pomiędzy grupowaniem funkcji mających ze sobą związek [...] Wszystkie funkcje znajdujące się w dołączanej bibliotece są przetwarzane przez analizator składni PHP [...] Jednocześnie nie chcemy rozbijać biblioteki na zbbyt wiele mniejszych plików [...] ponieważ dostęp do plików jest powolny". Lerdorf, Tatroe, MacIntyre jakoś dziwnie znajomo te nazwiska brzmią, być może analizator składni nie sprawdza kodu "nie zgrupowanego" ale musi sprawdzić czy nie ma w pliku funkcji.

konto usunięte

Temat: Formularz i GET

Wojciech Gomoła:
A na czym polega metoda $_GET?? na dopisaniu odpowiedniego łańcucha do adresu :D!! Żeby dać ci odpowiedź na twoje pytanie muszę wiedzieć kiedy formularz ma się wyświetlać a kiedy nie??

No więc mam na stronie głównej wyszukiwarke (index.php), wpisuje coś, dostaje wynik. Potem sobie przechodze do każdej innej podstrony (index.php?go=formularz lub index.php?go=regulamin itd) I właśnie każda podstrona ma ten formularz, co się pojawia po kliknięciu szukaj.
Adam Sznajder

Adam Sznajder Senior Software
Engineer

Temat: Formularz i GET

Proponuję byś wkleił problematyczny kod, a wtedy będzie łatwiej wyjaśnić w czym tkwi błąd oraz jak można go naprawić :)

konto usunięte

Temat: Formularz i GET

Wojciech Gomoła:
"Tworząc bibliotekę funkcji, należy zachować równowagę pomiędzy grupowaniem funkcji mających ze sobą związek [...] Wszystkie funkcje znajdujące się w dołączanej bibliotece są przetwarzane przez analizator składni PHP [...] Jednocześnie nie chcemy rozbijać biblioteki na zbbyt wiele mniejszych plików [...] ponieważ dostęp do plików jest powolny". Lerdorf, Tatroe, MacIntyre jakoś dziwnie znajomo te nazwiska brzmią, być może analizator składni nie sprawdza kodu "nie zgrupowanego" ale musi sprawdzić czy nie ma w pliku funkcji.

A zrozumiałeś tekst który wkleiłeś?

Mówi on, że jeśli będziesz miał zgrupowany zestaw funkcji czyli np. plik zawierający dużo linii kodu w postaci

function pierwszaFunkcja () {
kod...
}
function drugaFunkcja () {
kod...
}

i tak dalej, to jeśli go już załadujesz, to nawet jeśli któreś z
tych funkcji nie będą potem w ogóle wykorzystywane, to i tak interpreter je zanalizuje. PO ZAŁADOWANIU PLIKU.

Nie ma to absolutnie żadnego związku z przykładem o którym tutaj rozmawiamy, bo ładowanie nie następuje jak w IFie siedzi false :]Adam Doroziński edytował(a) ten post dnia 28.07.08 o godzinie 23:56
Wojciech Gomoła

Wojciech Gomoła Now is my Time

Temat: Formularz i GET

No właśnie przez noc stwierdziłem że popełeniłem błąd w interpretacji ten tekst był wcześniej przeczytany dość szybko i mi utwiło w głowie słowa "interpretowany nie wykonywany"...Wojciech Gomoła edytował(a) ten post dnia 29.07.08 o godzinie 06:20

Następna dyskusja:

Formularz na stronie




Wyślij zaproszenie do