Formularz PHP - jak 'nie kasować' danych po przesłaniu
2011-06-13 14:23:20
Post #1
gość_diska
Proszę o pomoc. mam formularz w PHP.
Po uzupełnieniu formularza i kliknięciu przycisku "wyślij"
dane z formularza zostają wyczyszczone i przesłane do bazy, a chciałabym także, żeby pozostały wpisane w okienka (żeby okienko pozostało dalej uzupełnione wpisaną daną).
Czy może mi ktoś poradzić jak to zrobić ?
Z góry dziękuję za pomoc.
2011-06-13 14:32:50
Post #2
nospor
Dane z forma masz w $_POST.
Jeśli więc chcesz je gdzieś wyświetlić to robisz normalnie:
echo $_POST['zmienna'];
Jeśli chcesz wypełnić tą daną jakieś pole formularza to też normalnie:
echo '<input type="text" name="zmienna" value="'.$_POST['zmienna'].'" />';
2011-06-13 14:35:07
Post #3
gość_diska
Bardzo dziekuje, ale mnie chodzi o to, że:
mam uzupełniony formularz: imie, nazwisko ...
klikam wyślij i w tym momencie to co user uzupełnił w formularzu, to mi to znika,
a chciałabym, żeby ta sesja pozostała wpisana okienku formularza.
2011-06-13 14:39:05
Post #4
nospor
No to przecież ci napisałem, jak się tworzy formularz z wypełnionymi danymi:
echo '<input type="text" name="zmienna" value="'.$_POST['zmienna'].'" />';
2011-06-13 14:45:12
Post #5
gość_diska
niestety próbowałam, wypisuje mi w okienku formularza kod PHPowy
2011-06-13 14:51:05
Post #6
nospor
To może pokaż całość.
Zauważ, że ja ci podałem kod php i to co ja ci podałem masz wstawiać w bloku php a nie html. Może wcześniej formularz miałaś w html. Musisz go więc teraz przerobić na kod co ja ci podałem.
2011-06-13 15:06:14
Post #7
gość_diska
Faktycznie działa

super
tylko że mam teraz błąd Wstaw ID zadania:
Notice: Undefined index: id_zadania in C:\Program Files\wamp\www ....
i nie wiem jak teraz z tego wybrać, bo do HTMLa wstawiłam PHP.
2011-06-13 15:12:29
Post #8
nospor
Bo przed wysłaniem formularza nie istnieją dane w $_POST. Musisz więc zrobić coś takiego:
$id_zadania = isset($_POST['id_zadania'] ) ? $_POST['id_zadania'] : '';
echo '<input type="text" name="id_zadania" value="'.$id_zadania.'" />';
Analogicznie pozostałe pola.
2011-06-13 15:16:35
Post #9
gość_diska
No właśnie tak mam:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<tr>
<td> <font face="verdana" size="2" > <b> Wstaw ID zadania: </b> </font> </td>
<?php
$id_zadania = isset($_POST['id_zadania'] ) ? $_POST['id_zadania'] : '';
echo '<td> <input size="6" type="text" maxlength="3" name="id_zadania" value="'.$_POST['id_zadania'].'" >';
?>
</td>
</tr> </font>
<tr>
i dalej się rzyca o ten index.
Jeszcze jedno pytanie: onkeyup="this.value = this.value.replace(/[^0-9]/g,'')" jak wstawiam do INPUT to też nie działa , a wcześniej działało w takim układzie jak value było puste. Mozna to jakoś zmodyfikować ?
2011-06-13 15:20:42
Post #10
nospor
No przecież napisałem, że przy polu już nie $_POST['id_zadania'] a $id_zadania

Przypatrz się jeszcze raz mojemu poprzedniemu postowi
Pokaz cały kod z tym onkeyup co teraz masz.
Pamiętaj, że jak masz
echo 'blavbla';
to nie możesz tam wstawić apostrofa normalnie
echo 'bla'vb'la'; - to jest błąd.
Musisz go poprzedzić \
echo 'bla\'vb\'la'; - to jest ok.
2011-06-13 15:25:56
Post #11
gość_diska
Teraz to nie działa ani onkeyup ani zmienna
1
2
3
4
5
6
7
8
<?php
$id_zadania = isset($_POST['id_zadania'] ) ? $_POST['id_zadania'] : '';
echo '<td> <input size="6" type="text" maxlength="3" name="id_zadania" onkeyup="this.value = this.value.replace(/[^0-9]/g,'')" value="'$id_zadania'" >';
?>
2011-06-13 15:26:45
Post #12
gość_diska
kod - jeszcze raz
1
2
3
4
5
6
7
8
9
10
11
12
<?php
$id_zadania = isset($_POST['id_zadania'] ) ? $_POST['id_zadania'] : '';
echo '<td> <input size="6" type="text" maxlength="3" name="id_zadania"
onkeyup="this.value = this.value.replace(/[^0-9]/g,'')" value="'$id_zadania'" >';
?>
2011-06-13 15:27:30
Post #13
nospor
Ale czemu nie czytasz wszystkiego co ci piszę? Naprawdę piszę tylko to co ci jest niezbędne.
1
2
3
<?php
echo '<td> <input size="6" type="text" maxlength="3" name="id_zadania" onkeyup="this.value = this.value.replace(/[^0-9]/g,\'\')" value="'.$id_zadania.'" >';
?>
2011-06-13 22:08:00
Post #14
gość_diska
bardzo serdecznie dziękuję za pomoc, jest ok
2011-06-14 08:31:37
Post #15
gość_diska
To jeszcze jedno pytanko: dlaczego reset mi nie czyści pola w formularzu po zastosowaniu powyższego kodu ?
2011-06-14 08:37:10
Post #16
nospor
reset czyści do stanu domyślnego. Gdy wypełniasz pole na dzień dobry, to stanem domyślnym jest właśnie ta wypełniona wartość
2011-06-14 08:44:01
Post #17
gość_diska
Aha

a to dziękuje bardzo i miłego dnia
2012-01-07 15:41:04
Post #18
gość_andriej
a jak by było w przypadku listy rozwijanej ?
mam do wyboru opcje 1 i 2. Wybieram 2 i chce zeby po kliknięciu na button pozostalo 2
2012-01-07 16:24:34
Post #19
nospor
Zeby zaznaczyć jakąś opcję trzeba dodać selected, czyli np:
<option value="2" selected="selected">2</option>
Jedyne co musisz zrobic to gdy $_POST['twoj select'] bedzie rowne 2 to dopisac selected do option
Odpowiedz