Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> kilka <form> ale tylko jeden aktywny
lovefool
post
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!
Go to the top of the page
+Quote Post
id4
post
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 ...
Go to the top of the page
+Quote Post
bumelang
post
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.
Go to the top of the page
+Quote Post
Bora
post
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]
Go to the top of the page
+Quote Post
lovefool
post
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
Go to the top of the page
+Quote Post
patrycjusz
post
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....
Go to the top of the page
+Quote Post
kszychu
post
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?
Go to the top of the page
+Quote Post
lovefool
post
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!
Go to the top of the page
+Quote Post
rzseattle
post
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.
Go to the top of the page
+Quote Post
lovefool
post
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&nbsp;

<?

while ($row = mysql_fetch_array ($pokazgrupe)) {

echo $row["szkola"];

}

?>
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: 3.10.2025 - 01:37