![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 16 Pomógł: 0 Dołączył: 8.04.2003 Skąd: Zielona Góra Ostrzeżenie: (0%) ![]() ![]() |
Z góry uprzedzam że czytałem ten przyklejony topic o post i get...
No więc mam problem z formularzem. Wszystko działa tylko że wyświetla błąd: Warning: Undefined variable: imie in d:foxserverwwwcwiczeniaformularzguestbook.php on line 13 A kod mam taki: Kod <?php
if(!($imie) or !($email) or !($www) or !($opinia)) { print '<FORM method = "POST">'; print '<b>Twoje imie lub xywka:</b> <input type = "text" name = "imie"><br>'; print '<b>Twoj adres e-mail:</b> <input type = "text" name = "email"><bR>'; print '<b>Adres twojej strony internetowej:</b> <input type = "text" name = "www"><br>'; print '<b>Co sądzisz o tej stronie? </b><input type = "textarea" name = "opinia"><br>'; print '<input type="submit" value="Wyslij">'; print '</FORM>'; } else { print "Witaj $imie! Twoj e-mail to: $email, a adres twojej strony to $www.<br>"; print "$opinia"; } ?> Jesli na początku dam : Kod $imie = $_POST['imie'];
$email = $_POST['email']; $www = $_POST['www']; $opinia = $_POST['opinia']; To też wywala błąd ale taki: Warning: Undefined variable: _POST in d:foxserverwwwcwiczeniaformularzguestbook.php on line 8 Warning: Undefined variable: _POST in d:foxserverwwwcwiczeniaformularzguestbook.php on line 9 Warning: Undefined variable: _POST in d:foxserverwwwcwiczeniaformularzguestbook.php on line 10 Warning: Undefined variable: _POST in d:foxserverwwwcwiczeniaformularzguestbook.php on line 11 $HTTP_POST_VARS['']; tez nie pomaga... Używam foxservera a zmienne globalne mam na ON Co jest? Pomożcie help! Najdziwniejsze w tym wszystkim jest to ze DANE SĄ PRZEKAZYWANE I WYPISYWANE!!! Tylko że jeszcze wyświetla błąd... |
|
|
![]() |
![]()
Post
#2
|
|
![]() Grupa: Zarząd Postów: 3 503 Pomógł: 28 Dołączył: 17.10.2002 Skąd: Wrocław ![]() |
Przede wszystkim, zamiast podstawiać zmienne pod zmienne, odwołuj sie bezpośrednio do superglobali.[php:1:83c09da64e]<?php
if(!isset($_POST['imie']) || !isset($_POST['email']) || !isset($_POST['www']) || !isset($POST['opinia'])) { print '<FORM method = "POST">'; print '<b>Twoje imie lub xywka:</b> <input type = "text" name = "imie"><br>'; print '<b>Twoj adres e-mail:</b> <input type = "text" name = "email"><bR>'; print '<b>Adres twojej strony internetowej:</b> <input type = "text" name = "www"><br>'; print '<b>Co sądzisz o tej stronie? </b><input type = "textarea" name = "opinia"><br>'; print '<input type="submit" value="Wyslij">'; print '</FORM>'; } else { print "Witaj $_POST['imie']! Twoj e-mail to: $_POST['email'], a adres twojej strony to $_POST['www'].<br>"; print "$_POST['opinia']"; } ?>[/php:1:83c09da64e]Piszę z głowy - powinno działać. -------------------- |
|
|
![]()
Post
#3
|
|
![]() Administrator planeta/IRC Grupa: Przyjaciele php.pl Postów: 385 Pomógł: 0 Dołączył: 19.04.2003 Skąd: Zabrze Ostrzeżenie: (0%) ![]() ![]() |
[php:1:4bfbb517e4]<?php
if(!isset($_POST['imie']) || !isset($_POST['email']) || !isset($_POST['www']) || !isset($POST['opinia'])) ?>[/php:1:4bfbb517e4] Łatwiej jest dać poprostu: [php:1:4bfbb517e4]<?php if(empty($_POST)) ?>[/php:1:4bfbb517e4] |
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarząd Postów: 3 503 Pomógł: 28 Dołączył: 17.10.2002 Skąd: Wrocław ![]() |
To zalezy od tego, czy zezwalasz na puste wartości. Pamietaj, że nie kazdy ma strone WWW (w tym przykładzie). I co wtedy?
-------------------- |
|
|
![]()
Post
#5
|
|
![]() Administrator planeta/IRC Grupa: Przyjaciele php.pl Postów: 385 Pomógł: 0 Dołączył: 19.04.2003 Skąd: Zabrze Ostrzeżenie: (0%) ![]() ![]() |
Ja robie zawsze zabezpieczenie przez JS, bo przez to użytkownik nie musi kilka razy wracać do formularza, jak jakieś pole jest źle wypełnione to wyskakuje alert przy submicie, i chcąc nie chcąć user musi to poprawić jak chce coś dodać. Pozatym zamiast !isset lepiej dać empty :]
|
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarząd Postów: 3 503 Pomógł: 28 Dołączył: 17.10.2002 Skąd: Wrocław ![]() |
Powinno być zarówno zabezpiecznenie
Kod <form onSubmit=".... jak i przy php[php:1:2f4e76b8bd]<?php isset() /* lub */ empty() ?>[/php:1:2f4e76b8bd]. I powtarzam to co napisalem wcześniej.
-------------------- |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 16 Pomógł: 0 Dołączył: 8.04.2003 Skąd: Zielona Góra Ostrzeżenie: (0%) ![]() ![]() |
Dzięki chłopaki
![]() |
|
|
![]()
Post
#8
|
|
![]() Grupa: Przyjaciele php.pl Postów: 1 717 Pomógł: 0 Dołączył: 12.06.2002 Skąd: Wolsztyn..... Studia: Zielona Góra Ostrzeżenie: (0%) ![]() ![]() |
Cytat Ja robie zawsze zabezpieczenie przez JS, bo przez to użytkownik nie musi kilka razy wracać do formularza, jak jakieś pole jest źle wypełnione to wyskakuje alert przy submicie, i chcąc nie chcąć user musi to poprawić jak chce coś dodać.
Poczekaj az Ci jakis "chakier" wylaczy JS w przegladarce i wpisze co chce ![]() To powinno byc, tak jak mowi (pisze) scanner, jedynie jako dodatkowe zabezpieczenie majace na celu ulatwienie zycia tym co maja JS wlaczone. |
|
|
![]()
Post
#9
|
|
![]() Administrator planeta/IRC Grupa: Przyjaciele php.pl Postów: 385 Pomógł: 0 Dołączył: 19.04.2003 Skąd: Zabrze Ostrzeżenie: (0%) ![]() ![]() |
Hehe, no macie racje, jak będzie ktoś złośliwy to tak zrobi :] Tylko co mu da pusty wpis ? :]
|
|
|
![]()
Post
#10
|
|
Grupa: Zarejestrowani Postów: 16 Pomógł: 0 Dołączył: 8.04.2003 Skąd: Zielona Góra Ostrzeżenie: (0%) ![]() ![]() |
Cos mi sie chyba zdawało że działa bo nie działa... :oops:
Looknijcie na ten kodzik(przykładowy): <?php if(isset($_POST['text'])) { print "Ok"; } else { print '<FORM method="POST">'; print '<input type = "text" name = "text">'; print '<input type = "submit" value = "Wyslij">'; print '</form>'; } ?> Jesli cos wpisze na formularzu to powinno wyswietlic ok, ale nie wyswietla... wogóle jakby nie przekazywało z formularz danych do skrytpu...!!! :oops: :cry: Co jest? ![]() Cudi niekoniecznie musi byc pusty wpis moze byc jakis skrypt! |
|
|
![]()
Post
#11
|
|
Grupa: Zarejestrowani Postów: 680 Pomógł: 0 Dołączył: 1.10.2002 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
[php:1:5d035b03e6]
<?php if(isset($_POST['text'])){ print "Ok"; } else { print '<FORM action"plik.php" method="POST">'; print '<input type = "text" name = "text">'; print '<input type = "submit" value = "Wyslij">'; print '</form>'; } ?> [/php:1:5d035b03e6] -------------------- "Czerp z innych, ale nie kopiuj ich. Bądź sobą." Michel Quoist
|
|
|
![]()
Post
#12
|
|
Grupa: Zarejestrowani Postów: 16 Pomógł: 0 Dołączył: 8.04.2003 Skąd: Zielona Góra Ostrzeżenie: (0%) ![]() ![]() |
Kameleon nie działa!!!
![]() ![]() Teraz wogole nie przekazuje wartosci... a tak poza tym to ja nie chce tylko sprawdzic ale tez odczytac co nadal uzytkownik |
|
|
![]()
Post
#13
|
|
Grupa: Zarejestrowani Postów: 680 Pomógł: 0 Dołączył: 1.10.2002 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
Cytat Kameleon nie działa!!! :evil: Poza tym po co wstawiac to action = "plik.php"
![]() Jak to po co? ![]() Action określa do którego pliku przesyłasz zawartość formularza, wpisz tam nazwę swojego pliku.... -------------------- "Czerp z innych, ale nie kopiuj ich. Bądź sobą." Michel Quoist
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 21.08.2025 - 10:28 |