Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP][MYSQL] Walidacja - zmiana, ulepszenie walidacji
em-ba
post
Post #1





Grupa: Zarejestrowani
Postów: 202
Pomógł: 3
Dołączył: 6.01.2008
Skąd: Mazowieckie

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


Witam, mam w formularzu walidację.. Problem jest z numerem mieszkania "mi", tzn. do tej pory korzystałem z takiego zabezpieczenia, że można było wpisać tylko cyfry i litery (i było to pole wymagane do wpisania).. teraz zmieniłem tak, że nie jest to pole wymagane do wypełnienia nie mam żadnej walidacji..
Jak mam zrobić taką walidację, która będzie pozwalała na to, że..
1. jeżeli ktoś wpisze "$%^$" w polu "mi" w formularzu - to żeby wyskoczyła inf.. "mi - podaj same cyfry i litery"
2. jeżeli ktoś nic nie poda w polu "mi" w formularzu - to zeby NIE wyskakiwała inf "mi - podaj same cyfry i litery", tylko poprostu zeby nic nie wyskakiwało i zeby dodało pozostałe dane do bazy (potrzebne to jest, gdyż nie każda osoba posiada nr. mieszkania (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif) )

trochę to zagmatwane ale mam nadzieję, ze chociaż trochę jasno to opisałem

Kod
<div>
    <label class="mi" for="mi">mi:</label>
    <input id="mi" name="mi" class="mi" type="text" size="5" "maxlength="4" value="<?=$mi;?>"  />
</div>

  1. <?php
  2. $pol = @mysql_connect ('localhost', 'root', 'krasnal') or die ("nie udało sie połączyć");
  3. mysql_select_db('fix') or die ("Nie mozna zlokalizowac bazy danych");
  4.  
  5. function alpha_numeric($str)
  6. {
  7. return ( ! preg_match("/^([-a-z0-9])+$/i", $str)) ? FALSE : TRUE;
  8. }
  9.  
  10. if ($_POST['mi']=='' || alpha_numeric($_POST['mi'])==FALSE)
  11. {
  12. $errors[] = 'mi - podaj same cyfry i litery';
  13. }
  14.  
  15.  if(is_array($errors) && !empty($errors))
  16. {
  17. echo '<br><p class="error">Formularz napotkał błędy</p>';
  18. while (list($key,$value) = each($errors))
  19. {
  20.  
  21. echo '<span class="error">'.$value.'</span><br />';
  22. }
  23. }
  24. else { 
  25. $m = htmlspecialchars($_POST["mi"], ENT_QUOTES);
  26.  
  27. $qr = "INSERT INTO `kortyc` (`mi`)
  28. VALUES('".$mi."')"; //lub VALUES('')
  29. $wy = mysql_query ($qr) or die(mysql_error());
  30.  
  31. echo 'ok';
  32. }
  33.  
  34. }
  35.  
  36. ?>
Go to the top of the page
+Quote Post

Posty w temacie
- em-ba   [PHP][MYSQL] Walidacja - zmiana   17.06.2008, 11:06:11
- - Shili   wyrażenie reguralne coś w stylu ^([a-zA-Z0-9]*)?...   17.06.2008, 11:15:00
- - em-ba   jak wstawiłem jak napisałes to wywala mi inf pod f...   17.06.2008, 11:46:39
- - Shili   Proponowałaś Podałam samą sk...   17.06.2008, 12:43:14
- - em-ba   ok, dzieki   17.06.2008, 12:53:05


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: 20.12.2025 - 22:56