![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 51 Pomógł: 0 Dołączył: 19.05.2003 Skąd: Millhaven Ostrzeżenie: (0%) ![]() ![]() |
Witam!
Mam taki oto problem... Na jednej stronie jest kilka formuł <form> w tym są textarea i inne duperele ... I wszystko jest ok dopóki nie wprowadze drugiej takiej formuły! Bo jeśli jedną z nich zostawie pustą to do bazy sql wyśle mi puste pole! A tego nie chce! To utrudnia życie gdyż żeby wszystko było ok musze wypełnić wszystkie pola i dopiero wtedy kliknąć w jakikolwiek submit... Jak je oddzielić od siebie ? tzn jak zrobić zeby wypełniając jeden <form> nie mieszać sie w drugi ... ? pozdrawiam! |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 223 Pomógł: 1 Dołączył: -- Skąd: Rogożnik /K-ce/ Ostrzeżenie: (0%) ![]() ![]() |
Witam.
Przed zapisaniem do bazy sprawdzaj czy zostało wypełnione pole. [php:1:5a50c61cd0]<?php if($_POST["nazwapola"]){ // rob cos } ?>[/php:1:5a50c61cd0] I tak z każdym polem, które może bądź nie może zostać wypełnione ... |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 36 Pomógł: 0 Dołączył: 30.11.2003 Ostrzeżenie: (0%) ![]() ![]() |
Zrób w każdym formularzu pole typu <input type="hidden" name="ktory-formularz" value="1"/> i wtedy sprawdzaj czy dostałeś formularz 1 czy 2 czy itd.
A co do tego, co napisał id4 - nie wiem, kto z nas dobrze zrozumiał problem lovefool'a, ale w każdym razie powinno się to raczej robić: [php:1:e4dd9b6cba]<?php if(isset($_POST["nazwapola"])) { // rób coś } ?>[/php:1:e4dd9b6cba] bo w przeciwnym wypadku co jeśli user wpisał w polu 0. |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 270 Pomógł: 0 Dołączył: 15.06.2003 Ostrzeżenie: (0%) ![]() ![]() |
Z empty bezpieczniej
[php:1:892ea0eb66]<?php if(!empty($_POST["nazwapola"])) { // rób coś } ?>[/php:1:892ea0eb66] |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 51 Pomógł: 0 Dołączył: 19.05.2003 Skąd: Millhaven Ostrzeżenie: (0%) ![]() ![]() |
heh......no ok....teraz potrafie sprawdzać czy zostały wypełnione formularze:) Ale co zrobić gdy pole typu textarea jest puste i żeby nie wpisywało (do bazy mysql - to mało ważne, ale chodzi nie o INSERT tylko UPDATE a wtedy puste pola potrafią zastąpić wcześńiej zapisane i wten sposób mam wałka) żadnych zmiennych ?!
pozdrawiam |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 263 Pomógł: 0 Dołączył: 13.07.2003 Skąd: wawa Ostrzeżenie: (0%) ![]() ![]() |
Kod <form action="costam.php" name="form1" method="post">
<input type="text" name="form1_cos1"> </form> <form action="costam.php" name="form2" method="post"> <input type="text" name="form2_cos2"> </form> i php [php:1:f386a00b1b]<?php if(!empty($_POST['form1_cos1']) && !empty($_POST['form2_cos2'])) { // przetwarzasz dane } else { echo 'Wypełnij formularz'; } ?>[/php:1:f386a00b1b] tyle moge pomóc... prosiłbym o zkonkretyzowanie pytania... gdyż za bardzo nierozumiem o co ci chodzi.... |
|
|
![]()
Post
#7
|
|
Grupa: Przyjaciele php.pl Postów: 2 712 Pomógł: 23 Dołączył: 27.10.2003 Skąd: z kontowni Ostrzeżenie: (0%) ![]() ![]() |
Cytat Ale co zrobić gdy pole typu textarea jest puste ...
[php:1:584bd5e4cb]<?php if($_POST['nazwa_pola_textarea'] != "") // rob update else // nie rob update ?>[/php:1:584bd5e4cb] O to chodziło? |
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 51 Pomógł: 0 Dołączył: 19.05.2003 Skąd: Millhaven Ostrzeżenie: (0%) ![]() ![]() |
Kod <form action="costam.php" name="form1" method="post">
<input type="text" name="form1_cos1"> </form> <form action="costam.php" name="form2" method="post"> <input type="text" name="form2_cos2"> </form> I dajmy na to, że form1 jest nie wypełniony a form2 tak...Więc chciałbym aby form2 został przesłany dalej a form1 został nietknięty. Można to załatwić tworząc wszystkie inne form w nowych oknach ale to dużo roboty a pozatym wiedziałbym na przyszłość... Ja już nie potrafie dokładniej wytłumaczyć (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif) pozdraaawiam! |
|
|
![]()
Post
#9
|
|
Grupa: Przyjaciele php.pl Postów: 554 Pomógł: 0 Dołączył: 4.04.2002 Skąd: Tychy Ostrzeżenie: (0%) ![]() ![]() |
Cytat Kod <form action="costam.php" name="form1" method="post">
<input type="text" name="form1_cos1"> </form> <form action="costam.php" name="form2" method="post"> <input type="text" name="form2_cos2"> </form> I dajmy na to, że form1 jest nie wypełniony a form2 tak...Więc chciałbym aby form2 został przesłany dalej a form1 został nietknięty. Można to załatwić tworząc wszystkie inne form w nowych oknach ale to dużo roboty a pozatym wiedziałbym na przyszłość... Ja już nie potrafie dokładniej wytłumaczyć :D pozdraaawiam! Ke? Wysylane jest tylko to co jest miedzy znacznikami <form></form> dla danego submita czyli zawsze jest wysylany tylko jeden formolarz. Nie wiem o co ci chodzi. Daj sobie print_r($_POST); to zobaczysz ze w tablicy znajduja sie zmienne z tylko jednego formularza. |
|
|
![]()
Post
#10
|
|
Grupa: Zarejestrowani Postów: 51 Pomógł: 0 Dołączył: 19.05.2003 Skąd: Millhaven Ostrzeżenie: (0%) ![]() ![]() |
Heh.....a więc prosze....Co prawda aby sprawdzić trzebaby było stworzyć baze mysql ale taki oto kod nie działa...a raczej występuje ten problem który napisałem wyżej:
Kod <FORM ACTION="dodaj.php" METHOD="POST" name="posta">
<INPUT TYPE="TEXT" NAME="profesor" SIZE="20"> <input type="submit" value="Dodaj" name="dodajprofesora"> </form> <? while ($row = mysql_fetch_array ($pokazprofesora)) { echo "Trener: prof. "; echo "<a href="#">"; echo $row["imie"]; echo "</a>"; } ?> <br> Grupa no. ?<br> <form ACTION="dodaj.php" METHOD="POST" name="postb"> <INPUT TYPE="TEXT" NAME="numer" SIZE="2"> <input type="submit" value="Dodaj no. grupy" name="dodajgrupe" ><br></FORM> </form> Grupa <? while ($row = mysql_fetch_array ($pokazgrupe)) { echo $row["szkola"]; } ?> |
|
|
![]() ![]() |
![]() |
Aktualny czas: 3.10.2025 - 01:37 |