Poslao: 18 Avg 2007 17:54
|
offline
- DR
- Legendarni građanin
- Pridružio: 08 Okt 2004
- Poruke: 5450
- Gde živiš: Beograd
|
potreban kod za validaciju forme koja salje podatke u bazu
|
|
|
Registruj se da bi učestvovao u diskusiji. Registrovanim korisnicima se NE prikazuju reklame unutar poruka.
|
|
|
Poslao: 19 Avg 2007 17:11
|
offline
- DR
- Legendarni građanin
- Pridružio: 08 Okt 2004
- Poruke: 5450
- Gde živiš: Beograd
|
ahahahaha, mislio sam neka generalna pravila
<?php
$dbhost = 'localhost';
$dbuser = 'xxxx';
$dbpass = 'xxxx';
$dbname = 'apoxxx';
$conn = mysql_connect($dbhost, $dbuser, $dbpass) or die ('Greska pri konektovanju na bazu');
mysql_select_db($dbname);
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>upisi</title>
<script type="text/javascript">
function provera() {
if(document.forma.naziv.value.length<3 || document.forma.naziv.value.length>15) {
alert("Niste uneli naziv Vase apoteke ili ste uneli preko 15 karaktera za naziv sto nije dozvoljeno !");
return false;
}
if(document.forma.email.value.length<1) {
alert("Niste uneli e-mail adresu !");
return false;
}
if(document.forma.email.value != "") {
var ispravanmail=/^\w+[\+\.\w-]*@([\w-]+\.)*\w+[\w-]*\.([a-z]{2,4}|\d+)$/i
var promenljiva = ispravanmail.test(document.forma.email.value)
if (promenljiva == false){
alert("Unesite validnu e-mail adresu !")
return false;
}
}
if(document.forma.adresa.value.length<6) {
alert ("Niste uneli adresu ili ste uneli premalo karaktera !");
return false;
}
if(document.forma.mesto.value.length<3) {
alert ("Niste uneli mesto !");
return false;
}
if(document.forma.telefon.value.length<6) {
alert ("Niste uneli telefon ili ste uneli premalo karaktera !");
return false;
}
return true;
}
</script>
</head>
<body>
<?
//upis u bazu
if ( isset($_POST['potvrdi']) ) {
$drzava = trim($_POST['drzava']);
$naziv = trim($_POST['naziv']);
$adresa = trim($_POST['adresa']);
$mesto = trim($_POST['mesto']);
$telefon = trim($_POST['telefon']);
$fax = trim($_POST['fax']);
$email = trim($_POST['email']);
$upis = "insert into registar (Drzava, Naziv, Adresa, Mesto, Telefon, Fax, Email) values ('$drzava', '$naziv', '$adresa', '$mesto', '$telefon', '$fax', '$email')";
if( mysql_query($upis) ) {
echo("upisano");
}
else {
echo("greska u upisu");
}
}
?>
<p align="center"><font size="5">xxx</font></p>
<form method="post" name="forma" action="" onSubmit="return provera();">
<table align="center" with="80%" cellspacing="15" cellpading="5" border="0" bgcolor="lightblue">
<tr>
<td align="center">Drzava  
<select name="drzava">
<option value="Srbija">Srbija</option>
<option value="Crna Gora">Crna Gora</option>
<option value="Bosna i Hercegovina-Republika Srpska">Bosna i Hercegovina-Republika Srpska</option>
<option value="Bosna i Hercegovina-Federacija">Bosna i Hercegovina-Federacija</option>
<option value="Makedonija">Makedonija</option>
</select> <font color="red">*</font></td>
<tr>
<td align="center">Naziv            <input type="text" name="naziv"><font color="red">*</font></td>
</tr>
<tr>
<td align="center">Adresa         <input type="text" name="adresa"><font color="red">*</font></td>
</tr>
<tr>
<td align="center">Mesto    <input type="text" name="mesto"><font color="red">*</font></td>
</tr>
<tr>
<td align="center">Telefon       <input type="text" name="telefon"><font color="red">*</font></td>
</tr>
<tr>
<td align="center">Fax       <input type="text" name="fax"></td>
</tr>
<tr>
<td align="center">Email      <input type="text" name="email"><font color="red">*</font></td>
</tr>
<tr>
<td colspan="2" align="center"><input type="submit" name="potvrdi" value="Posalji"></td>
</tr>
</table>
</form>
</body>
</html>
|
|
|
|
Poslao: 20 Avg 2007 16:21
|
offline
- Blood
- Ugledni građanin
- Pridružio: 26 Jul 2003
- Poruke: 384
- Gde živiš: Beograd
|
u sustini nemas neko pravilo, proveris samo da li su sva polja popunjena
if ( isset($_POST['potvrdi']) && isset($_POST['drzava']) && isset($_POST['naziv']) (i tako za sve ostale) ) {
$drzava = trim($_POST['drzava']);
$naziv = trim($_POST['naziv']);
$adresa = trim($_POST['adresa']);
|
|
|
|
Poslao: 20 Avg 2007 17:37
|
offline
- DR
- Legendarni građanin
- Pridružio: 08 Okt 2004
- Poruke: 5450
- Gde živiš: Beograd
|
ne, ne, bilo bi dobro da moze da se ogranici da za odredjena polja mogu samo brojevi da se pisu a za druga slova ili je za to dovoljna kontrola kroz js?
|
|
|
|
Poslao: 20 Avg 2007 18:00
|
offline
- Balkanac82
- Legendarni građanin
- Pridružio: 20 Dec 2004
- Poruke: 2887
- Gde živiš: Na Balkanu
|
Sa JS dobijaš i gubiš.
Sa JS proveravaš obrazac bez da pošalješ podtake, odnosno sve se izvršava u browsere. Korisnik uveK može isključiti JS i tu ti nastaje problem, a ako neko hoće da ti napravi problem može ti poslati podatke sa svog obrsca.
Tako da javascript nije najbolje rešenje, ali je često sasvim dovoljno.
Najbolje je da sa php prmiš podatke, proveriš ih i ako su ispravni upišeš u bazu, a u suprotnom ispišeš poruku o grešci i korisnika vratiš na početak.
|
|
|
|
Poslao: 20 Avg 2007 18:11
|
offline
- Blood
- Ugledni građanin
- Pridružio: 26 Jul 2003
- Poruke: 384
- Gde živiš: Beograd
|
pa u glavnom je dovoljna, ali mozes i preko php-a, ali moras da znas regularne izraze(mislim da isto vazi i za js). Ti reci sta za koja polja ti treba tacno, i videcu da ti ja to odradim.
|
|
|
|
Poslao: 20 Avg 2007 18:46
|
offline
- DR
- Legendarni građanin
- Pridružio: 08 Okt 2004
- Poruke: 5450
- Gde živiš: Beograd
|
e ko ti je kriv sad kad si ponudio
znaci trebaju mi ogranicenja kao i js-u gore
naziv-samo slova do odredjene duzine
adresa kombinacija slova, brojeva i .
mesto samo slova
telefon samo brojevi
fax samo brojevi
email svi karakteri
takodje moze li se spreciti da korisnik vise puta posalje isto popunjen obrazac?
|
|
|
|
Poslao: 20 Avg 2007 19:06
|
offline
- Balkanac82
- Legendarni građanin
- Pridružio: 20 Dec 2004
- Poruke: 2887
- Gde živiš: Na Balkanu
|
E, to već ne može preko JS, već treba odraditi preko php-a.
Pre upisa u bazu treba proveriti da li već postoji red sa tim podacima, ako postoji onda se podaci ne upisuju već se ispisuje poruka o grešci.
|
|
|
|
Poslao: 20 Avg 2007 19:25
|
offline
- DR
- Legendarni građanin
- Pridružio: 08 Okt 2004
- Poruke: 5450
- Gde živiš: Beograd
|
aha, znam.
i postoji li nacin da se npr za polje godine ogranici mogucnost izbora od npr 1950.god pa do 2006.??
|
|
|
|