Witam!
Tworzę stronkę odnośnie księgi przychodów i rozchodów i stanąłem na walidacji formularza dla kontrahentów. Mianowicie mam 5 pół: Imię, Nazwisko (nazwa firmy), Adres, Kod pocztowy, Miejscowość, NIP i teraz zaczynają się schody. Mam podstawową walidację w JavaScript odnośnie tego, że musisz wypełnić wszystkie pola i nic poza tym, a potrzebuję jeszcze walidację:
- kodu pocztowego
- nip'u (czy jest poprawny, zliczanie 9 pierwszych cyfr i porównywanie z ostatnią kontrolną cyfrą)
- jeżeli nip już istnieje w bazie to wywali błąd
- no i może jakieś sprawdzenie żeby ktoś nie wpisywał bzdur w nazwie firmy, adresie i miejscowości typu @#&
Jeszcze taka ciekawostka ale niekonieczna mianowicie jeżeli wpiszę kod pocztowy to w polu miejscowość automatycznie ukazuje się miejscowość :)
Nie wiem teraz czy można to wszystko zrobić w JavaScript czy przerobić na walidację PHP !!!
Dołączam mój kod html i php w celu pomocy za którą byłbym bardzo wdzięczny !!! Z góry bardzo serdecznie dziękuję za pomoc.
HTML:
<body>
<p align="center" class="style5">Dodaj kontrahenta</p>
<script language="JavaScript">
function checkform ( form )
{
if (form.nazwa.value == "") {
alert( "BŁĄD !!! \n---------------------- \nUzupełnij pole: Imię, Nazwisko (nazwa firmy) !!! \n----------------------" );
form.nazwa.focus();
return false ;
}
if (form.adres.value == "") {
alert( "BŁĄD !!! \n---------------------- \nUzupełnij pole: Adres !!! \n----------------------" );
form.adres.focus();
return false ;
}
if (form.kod.value == "") {
alert( "BŁĄD !!! \n---------------------- \nUzupełnij pole: Kod pocztowy !!! \nFormat: xx-xxx \n----------------------" );
form.kod.focus();
return false ;
}
if (form.miejscowosc.value == "") {
alert( "BŁĄD !!! \n---------------------- \nUzupełnij pole: Miejscowość !!! \n----------------------" );
form.miejscowosc.focus();
return false ;
}
if (form.nip.value == "") {
alert( "BŁĄD !!! \n---------------------- \nUzupełnij pole: NIP !!! \nFormat: xxx-xxx-xx-xx \n----------------------" );
form.nip.focus();
return false ;
}
return true ;
}
//-->
</script>
<form method="post" action="../php/dodajkontr.php" onSubmit="return checkform(this);">
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr>
<td><span class="style7">Imię, Nazwisko (nazwa firmy)</span></td>
<div align="left">
<input name="nazwa" type="text" id="nazwa" value="" size="50" maxlength="50" />
</div></td>
</tr>
<tr>
<td><span class="style7">Adres</span></td>
<div align="left">
<input name="adres" type="text" id="adres" size="50" maxlength="50" />
</div></td>
</tr>
<tr>
<td><span class="style7">Kod pocztowy</span></td>
<div align="left">
<input name="kod" type="text" id="kod" size="10" maxlength="6" />
<span class="style10"> Format: xx-xxx</span></div></td>
</tr>
<tr>
<td><span class="style7">Miejscowość</span></td>
<div align="left">
<input name="miejscowosc" type="text" id="miejscowosc" size="50" maxlength="50" />
</div></td>
</tr>
<tr>
<td><span class="style7">NIP</span></td>
<div align="left">
<input name="nip" type="text" id="nip" size="17" maxlength="13" />
<span class="style10">Format: xxx-xxx-xx-xx</span>
</div></td>
</tr>
</table>
<br />
<p>
<input type=submit value="Dodaj">
</p>
</form>
</body>
PHP:
<?
$idkh=$_POST['idkh'];
$nazwa=$_POST['nazwa'];
$adres=$_POST['adres'];
$kod=$_POST['kod'];
$miejscowosc=$_POST['miejscowosc'];
$nip=$_POST['nip'];
if (!get_magic_quotes_gpc())
{
$idkh = addslashes($idkh);
$nazwa = addslashes($nazwa);
$adres = addslashes($adres);
$kod = addslashes($kod);
$miejscowosc = addslashes($miejscowosc);
$nip = addslashes($nip);
}
@ $db = mysql_connect("mysql3.yoyo.pl", "db250812", "haslo");
if (!$db)
{
echo"<div align='center'><font size='3' face='Tahoma'>Nie można nawiązać połączenia z bazą danych!!!</font>";
exit;
}
mysql_select_db("db250812");
$query = "insert into kontrahenci values ('".$idkh."', '".$nazwa."', '".$adres."', '".$kod."', '".$miejscowosc."', '".$nip."')";
$result = mysql_query($query);
if ($result)
echo"<div align='center'><font size='3' face='Tahoma'>Kontrahent <strong>$nazwa</strong> został dodany do bazy!!!</font>";
?>