![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 405 Pomógł: 6 Dołączył: 12.01.2007 Ostrzeżenie: (0%) ![]() ![]() |
Chciałbym się zapytać czy ten kod jest poprawny. Tzn. chodzi mi o to, że ten kod jest umieszczony na stronie "index.php"; jak za pomocą przeglądarki wejdzie sie na ta strone to w polu "tekst" ma nic nie pisać. Natomiast jak się w tym polu coś wpisze i kliknie na przycisk "przeslij" to ponownie ma sie wyswietlic ta sama strona, ale w polu "tekst" ma sie pojawic napis taki jak wpisano poprzednio. I tak sie zastanawiam czy dobrze zrobiłem przypisujac polu "tekst" wartosc "value='$_POST[tekst]'", bo przeciez jak sie pierwszy raz wejdzie na strone to jeszcze $_POST[tekst] nie istnieje, wiec pole tekst przyjmuje wartosc "NULL" znaczy za pierwszym razem jest puste ? W w przegladarce firefox to działa prawidłowo. Ale czy miałem prawo tak zrobić, czy to jest poprawne ? Ten post edytował nieraczek 19.09.2007, 13:44:57 |
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 31 Pomógł: 1 Dołączył: 10.12.2006 Ostrzeżenie: (0%) ![]() ![]() |
W zasadzie nie wiem do czego coś takiego jest Ci potrzebne. W każdym razie kod nie jest do końca poprawny. Poniżej zamieszczam działający po małych modyfikacjach.
PS. Nie istnieje taka funkcja, jak head. -------------------- this world means nothing
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 108 Pomógł: 4 Dołączył: 3.03.2007 Ostrzeżenie: (0%) ![]() ![]() |
Może z tego się wywiąże mała dyskusja, ale uważam że to skraca kod i jest przyjemniejsze dla oka, mianowicie:
|
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 31 Pomógł: 1 Dołączył: 10.12.2006 Ostrzeżenie: (0%) ![]() ![]() |
Wszystko fajnie Istalacar, tyle że w przypadku, gdy zmienna $_POST['tekst'] nie będzie ustawiona/zdefiniowana, wyrzuci Ci coś w stylu:
Notice: Undefined index: tekst in... on line... No chyba, że masz inne ustawienia... Ten post edytował c0cr0ach 19.09.2007, 14:30:45 -------------------- this world means nothing
|
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 405 Pomógł: 6 Dołączył: 12.01.2007 Ostrzeżenie: (0%) ![]() ![]() |
hm........ czy jak rozumiem wg c0cr0ach ten mój sposób nie jest poprawny, a wg Istalacar jest poprawny. Kto ma racje ?
![]() A jest to potrzebne np. do tego, że gdy mamy formularz kontaktowy na stronie i ktoś wyłączył obsługę javascript lub po prostu formularz nie ma walidacji javascript a tylko walidację PHP to po kliknięciu na button "przeslij" jeśli podczas walidacji za pomocą PHP okaże się, że np. nie wypełniono wszystkich pól to formularz nie zostanie wysłany, osoba starająca się wysłać formularz będzie więc go musiała poprawić - jednak dostanie z powrotem pusty formularz i będzie musiała go na nowo wypełniac, a wg mojego sposobu otrzyma formularz - a właściwie tutaj jedno pole tekstowe z tym co wpisała wcześniej do poprawy. Przetestowałem to w firefoxie i IE7 i nie było błędów. Ten post edytował nieraczek 19.09.2007, 14:30:47 |
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 31 Pomógł: 1 Dołączył: 10.12.2006 Ostrzeżenie: (0%) ![]() ![]() |
@nieraczek ogólnie Twój sposób jest poprawny. Jedyne co rzuciło mi się w oczy i - że tak się wyrażę - nie spodobało, to fakt że sprawdzasz ustawienie wartości zmiennej $_POST['przeslij'], która zawsze będzie miała ustaloną wartość. No i o "funkcji" head już pisałem.
@Istalacar Gwoli ścisłości, takie "cuda" wyskoczyłyby Ci w sytuacji, gdybyś w php.ini miał ustawione dyrektywy: error_reporting = E_ALL, display_errors = On ![]() Gdybym wyłączył notices wszystko wyglądałoby niby pięknie, tak jak np. w Twoim przypadku ![]() Ten post edytował c0cr0ach 19.09.2007, 18:52:19 -------------------- this world means nothing
|
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 108 Pomógł: 4 Dołączył: 3.03.2007 Ostrzeżenie: (0%) ![]() ![]() |
Nieraczek, nic złego w Twoim skrypcie nie widzę, poza tym, że zawsze się IF na dole wypełni jak wyślesz formularz, a jeżeli funkcja head do której się odwołujesz ma za zadanie wywołać przekierowanie na stronę na której jest (np. przez header('Location: ')), wtedy się skasują zmienne post.
Edit: c0cr0ach powiem szczerze, dopiero się uczę i sprawdzam konfigurację różnych serwerów, nie miałem jeszcze styczności z takim który wyrzuca taki błąd, ale dzięki za informację:). Ten post edytował Istalacar 19.09.2007, 16:18:41 |
|
|
![]()
Post
#8
|
|
![]() Grupa: Zarejestrowani Postów: 793 Pomógł: 32 Dołączył: 23.11.2006 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Ja bym sugerował takie rozwiązanie:
A dlaczego tak, bo masz swobodę skąd pochodzi wartość $strTekst, może to być przetworzona już wartość. A trzeba sprawdzać isset($_POST['tekst']), bo odwoływanie się do czegoś co nie zostało zainicjalizowane jet złe. -------------------- Algorytmy w PHP, czy ktoś o tym słyszał?
Dlaczego tak mało kobiet programuje? ponieważ nie zajmują się głupotami. |
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 108 Pomógł: 4 Dołączył: 3.03.2007 Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#10
|
|
![]() Grupa: Zarejestrowani Postów: 793 Pomógł: 32 Dołączył: 23.11.2006 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
@Istalacar
Chyba w ramach zmniejszenia czytelności. Do tego przy moim sposobie masz możliwość zrobienia coś jeszcze, co raczej zawsze się znajdzie. Do tego łatwiej debugować ![]() -------------------- Algorytmy w PHP, czy ktoś o tym słyszał?
Dlaczego tak mało kobiet programuje? ponieważ nie zajmują się głupotami. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 21.08.2025 - 23:31 |