Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> 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
 
Start new topic
Odpowiedzi (1 - 12)
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ć.


--------------------
scanner.info
Warto pamiętać: KISS, DRY
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?


--------------------
scanner.info
Warto pamiętać: KISS, DRY
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.


--------------------
scanner.info
Warto pamiętać: KISS, DRY
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 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 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?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]


--------------------
"Czerp z innych, ale nie kopiuj ich. Bądź sobą." Michel Quoist
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!!! angrysmiley.gif Poza tym po co wstawiac to action = "plik.php" 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" questionmark.gif?

Jak to po co? ohmy.gif
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
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 21.08.2025 - 10:28