Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Problem z formularzem(post)
Wiktor
post
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...
Go to the top of the page
+Quote Post
scanner
post
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ć.
Go to the top of the page
+Quote Post
Cudi
post
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]
Go to the top of the page
+Quote Post
scanner
post
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?
Go to the top of the page
+Quote Post
Cudi
post
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 :]
Go to the top of the page
+Quote Post
scanner
post
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.
Go to the top of the page
+Quote Post
Wiktor
post
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 (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) Jak ktos nie ma strony www to ja tez nie wymagam jej wpisania tylko że ten formularz byl tylko żeby sprzwdzic czy dziala post i get a nie na prawde do ksiegi gości...
Go to the top of the page
+Quote Post
FiDO
post
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 (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif)
To powinno byc, tak jak mowi (pisze) scanner, jedynie jako dodatkowe zabezpieczenie majace na celu ulatwienie zycia tym co maja JS wlaczone.
Go to the top of the page
+Quote Post
Cudi
post
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 ? :]
Go to the top of the page
+Quote Post
Wiktor
post
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?(IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif) HELP ME!!![/code]

Cudi niekoniecznie musi byc pusty wpis moze byc jakis skrypt!
Go to the top of the page
+Quote Post
KaMeLeOn
post
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]
Go to the top of the page
+Quote Post
Wiktor
post
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!!! (IMG:http://forum.php.pl/style_emoticons/default/angrysmiley.gif) Poza tym po co wstawiac to action = "plik.php" (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif) ?

Teraz wogole nie przekazuje wartosci... a tak poza tym to ja nie chce tylko sprawdzic ale tez odczytac co nadal uzytkownik
Go to the top of the page
+Quote Post
KaMeLeOn
post
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" (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif) ?

Jak to po co? (IMG:http://forum.php.pl/style_emoticons/default/ohmy.gif)
Action określa do którego pliku przesyłasz zawartość formularza, wpisz tam nazwę swojego pliku....
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 22.08.2025 - 19:14