Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Formularz, problem ze sprawdzaniem wpisanych danych
lukash82
post
Post #1





Grupa: Zarejestrowani
Postów: 320
Pomógł: 2
Dołączył: 17.03.2006
Skąd: Siemianowice

Ostrzeżenie: (0%)
-----


Witam. Mam klopot ze sprawdzeniem danych wpisanych przez uzytkownika do formularza gdy ten bedzie chcial cos kupic w sklepie internetowym. Chodzi tu o to zeby nie wpisywal jakichs dziwnych rzeczy a np. imie czy nazwisko z duzej litery, bez cyferek itd. Formularz wyglada nastepujaco (plik nazywa sie powiedzmy form1.php:
(IMG:http://localhost/zamowienie.gif)
I teraz gdy uzytkownik wpisze dane klika na buttona na dole i wtedy ma byc akcja typu, ze jesli dane sa zle wpisane to ma wrocic z powrotem do tego formularza i wywalic komunikat gdzie jest blad (cos jak np. przy zakladaniu maila i wyborze nicku) A jesli wszystko bedzie ok to przejdzie dalej (do pliku form2.php) np prezentujac wpisane dane jeszcze raz z opcja wroc gdyby uzytkownik sie jednak pomylil w kodzie pocztowym czy cus w tym stylu. Probowalem to zrobic wykorzystujac if, cos w tym stylu co umiescilem w pliku form2.php:
  1. <?php
  2.  
  3. if {
  4. if ( !ereg("^[A-Z][a-z]+$",$imie))
  5. printf("zle imie");
  6. else {echo "$imie";}
  7. if ( !ereg("^[A-Z][a-z]+$",$nazwisko))
  8. printf("zle nazwisko");
  9. else {echo "$nazwisko";}
  10. }
  11. else{
  12. --wyswietlanie danych jesli dobre--
  13. }
  14.  
  15. ?>

I wlasnie z tym mam problem bo nie wiem jak sie za to zabrac praktycznie bo teoretycznie to chyba jest dobre podejscie... Nie wiem jak przekazac te zle wpisane dane z powrotem do tamtego formularza (form1.php). Jesli ktos wie jak sie za to zabrac to prosze o pomoc. No chyba ze bylby inny sposob sprawdzenia...(IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif) Pozdrawiam
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 4)
krzyszbi
post
Post #2





Grupa: Zarejestrowani
Postów: 251
Pomógł: 13
Dołączył: 15.09.2005

Ostrzeżenie: (0%)
-----


witam
poczytaj sobie o sesjach a napewno coś sobie wykombinyjesz
ja torobie mniej więcej tak (ten kod jest zawarty w drugin pliku )
  1. <?php
  2.  
  3. if (empty($_POST['nazwa_pola']))
  4. {
  5. $_SESSION['info'] = 'Masz bląd, popraw';
  6. header('Location: plik1.php');
  7. }
  8.  
  9. ?>

pewnie ci o to biega alejak nie to pisz
Go to the top of the page
+Quote Post
lukash82
post
Post #3





Grupa: Zarejestrowani
Postów: 320
Pomógł: 2
Dołączył: 17.03.2006
Skąd: Siemianowice

Ostrzeżenie: (0%)
-----


Oki. Powiedzmy, ze czesc juz dziala (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) tzn. nie pozwala przejsc dalej jesli pole jest puste. Jeszcze tylko jesli mozesz krzyszbi to napisz jak mam zrobic zeby przy danym zle wypelnionym polu wywalal ten blad.
Wyglada to mniej wiecej tak (tzn w tym pierwszym pliku form1.php)
  1. <tr>
  2. <td width="30%" class=r>Imię</td>
  3. <td width="70%" class=l><input type="text" name="imie" maxlength="30" size="30">
  4.  
  5.  
  6. </td>
  7. </tr>

Pozdr.
Go to the top of the page
+Quote Post
krzyszbi
post
Post #4





Grupa: Zarejestrowani
Postów: 251
Pomógł: 13
Dołączył: 15.09.2005

Ostrzeżenie: (0%)
-----


witam
a więc jak chcesz pokaać ostrzeżenie to je dajesz w tym miejscu w którym ma sie ono pokazać, ja to robie mniej więcej tak
  1. <tr>
  2. <td width="30%" class=r>Imię</td>
  3. <td width="70%" class=l>
  4. <?php
  5. if (!empty($_SESSION['info']))
  6. echo $_SESSION['info'];
  7. ?>
  8. <input type="text" name="imie" maxlength="30" size="30">
  9. </td>
  10. </tr>

i tak mniej wiecej ja to mam zrobione(chociarz u mnie info o wynaganych polach pokazuje się na samej górze)
i tak na koniec dobrze jet jak bedziesz mial zapamiętanie i automatyczne wczytanie wcześniej wpisanych danych mniej więcej tak to zrobione
  1. <?php
  2. if (empty($_POST['nazwa_pola']))
  3. {
  4. $_SESSION['info'] = 'Masz bląd, popraw';
  5. $_SESSION['nazwa_pola'] = $_POST['nazwa_pola'];
  6. header('Location: plik1.php');
  7. }
  8.  
  9. ?>

a później w pliku z formularzem dajesz
  1. <?php
  2. if (!empty($_SESSION['info']))
  3. echo $_SESSION['info'];
  4. if (!empty($_SESSION['nazwa_pola']))
  5. echo'<input type="text" name="imie" maxlength="30" size="30" value="'.$_SESSION['nazwa_pola'].'" />';
  6. ?>

to tyle z mojej strony
Go to the top of the page
+Quote Post
lukash82
post
Post #5





Grupa: Zarejestrowani
Postów: 320
Pomógł: 2
Dołączył: 17.03.2006
Skąd: Siemianowice

Ostrzeżenie: (0%)
-----


OK! Dziala (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif) Dzieki za pomoc krzyszbi
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: 24.08.2025 - 21:20