[PHP]formularz

0

Jka zrobic zeby:mając formularz do wpisania z danymi, a potem przejscier od sprawdzania danych, w przypadku kiedy uzytkownik nie wpisze jakis danych to go cofa, ale chce zeby dane juz wpisane wczesniej zostały w textboxach, czy pozostałych okienkach a nie pojawiały się puste klatki

drugi problem to taki ze po wyjsciu z funkcji form1() gdzie uzytkownik wpisał dane , i przejsciu do spawdzania wszystko jest ok, ale następnie po przejsciu do form2() zmienna $_POST['imie'] gubi wartosc , nie wiem dlacego, przeciez ma ona zasięg globalny

0

Ad.1 Jeśli nie masz tam danych takich jak hasło do sprawdzania to może ci sprawdzać JS w onsubmit formularza i w razie niepowodzenia return false - jeśli musisz sprawdzać przez php to przed cofnięciem - zapisz wszystkie wprowadzone przez usera dane do ciasteczek a w skrypcie formularza sprawdź na początku czy istnieją jakieś ciasteczka i ew. wypełnij nimi formularz.

Ad.2 Wątpię żeby zanikała, raczej coś źle robisz - zapuść lepiej trochę kodu.

Przykład w PHP:

  • plik "index.php":
<?php
function zmienna($nazwa,$domysl){
 if(isset($_COOKIE['f_'.$nazwa])) return $_COOKIE['f_'.$nazwa]; else
  return $domysl;
}
?><form method=post action="sprawdz.php">
<input type=text name="zmienna1" value="<?= zmienna('zmienna1','pole') ?>"><br>
<input type=text name="zmienna2" value="<?= zmienna('zmienna2','') ?>"><br>
<input type=text name="costam" value="<?= zmienna('costam',' cos ') ?>"><br>
<input type=text name="zmienna3" value="<?= zmienna('zmienna3','') ?>"><br>
<input type=submit value="Wy?lij">
</form>
  • plik: "sprawdz.php":
<?php
foreach($_POST as $klucz => $wartosc)
 setcookie('f_'.$klucz,$wartosc,time()+60);

Header("Location: index.php");
?>

dane będą czekać na usera przez minutę w formularzu - możesz wydłużyć czas i nawet po zamknięciu przeglądarki będą one pokazane - jeśli tak nie chcesz to użyj sesji zamiast ciasteczek, albo skasuj ciasteczko przy formularzu od razu po jego odczytaniu.

1 użytkowników online, w tym zalogowanych: 0, gości: 1