PHP deo registracijskog naloga
Zapravo i ovde nema ništa nepoznatog jedino ću objasniti strukturu koda i
njene funkcije. Najpre da dam COD cele skripte za registraciju koga možete
staviti na primer u registracija.php:
<?
include('funkcije.php');
include('vezabaza.php');
if ($greska=$_GET['greskaa']){unset($_POST);
switch ($greska){
case 1: echo 'Sintaksna greska u mejlu. Molimo popunite sve
pazljivije.';break;
case 2: echo 'Lose ste prepisali slova sa kontrolne slike. Molimo
popunite sve pazljivije.';break;
case 3: echo 'Niste popunili sva polja. Molimo popunite sve
pazljivije.';break;
case 4: echo 'Niste uneli isti pasword u oba polja. Molimo popunite
sve pazljivije.';break;
case 5: echo 'U neko polje uneliste nedozvoljen znak, ili previse
znakova. Molimo popunite sve pazljivije.';break;
case 6: echo 'Izvinjavamo se, nastala je greska sa nase strane.
Molimo registrujte se iznova.';break;
case 7: echo 'Na zalost izabrali ste vec zauzet ussername.
Izaberite drugi i popunite opet sve.';break;
case 8: echo 'Vec ste registrovani. Kliknite OVDE da zatrazite
lozinku.';exit;
default: break;
}
}
if ($d=$_GET['d'] and $u=$_GET['u']){
$sql="select username, aktivacija from korisnici where korisnikid='".$d."'";
if (!$q=mysql_query($sql)){ $greska=6; header("location:
registracija.php?greskaa=$greska"); exit;}
while ($redak = mysql_fetch_assoc($q)) {
$username=$redak["username"];
$aktivacija=$redak['aktivacija'];
}
if ($u==$username and $aktivacija==0){
$sql="UPDATE korisnici SET aktivacija='1'WHERE korisnikid=$d";
if (!mysql_query($sql)){ $greska=6; header("location:
registracija.php?greskaa=$greska" ); exit;}
echo 'REGISTROVANI STE. KLIKTANJEM NA LINK'.'<a href="login.php">login</a>';
exit;
}else{ exit;}
}
if (!$_POST["registracija"]){
?>
<html><head><title>REGISTRACIJA</title></head>
<body>
<h1>REGISTRACIJA</h1>
<form method="post" action="registracija.php">
Kontrolni tekst:
<?
$slova=array('w', 'r', 'y', 'u', 'p', 's', 'd', 'f', 'h', 'k', 'l', 'z', 'x',
'c', 'v', 'b', 'm', '2', '3', '4', '8', '9');
srand ((float) microtime()*1000000);
shuffle ($slova);
$ttekst = "$slova[1]"."$slova[2]"."$slova[3]"."$slova[4]"."$slova[5]"."$slova[6]";
$ttekst = encode_decode($ttekst, 'k');
?>
<br>
<img src="kapca.php?code=<?=$ttekst;?>">
<a href="registracija.php">Izmeni sliku</a><br>
Unesi tekst sa slike:<input type="text" name="kapca" size="10" maxlength="6">
<input type="hidden" name="ttekst" value="<?echo $ttekst;?>">
<br><br>
Username :<br>
<input type="text" name="username" size="25" maxlength="20"><br>
(max 20 i min 3 znaka. Unesite samo mala i velika slova, brojeve, donju crtu
"_", bez razmaka)
<br><br>
Password :<br>
<input type="password" size="10" maxlength="8" name="password1"><br>
(max 8 i min 5 mala i velika slova i brojevi bez razmaka)
<br><br>
Ponovi isti password :<br>
<input type="password" size="10" maxlength="8" name="password2">
<br><br>
Upisite vas mejl :<br>
<input type="text" name="mejl" size="60" maxlength="60"><br>
<br><br>
<input name="registracija" type="submit" value="Registruj">
<input type="reset">
<br><br>
</form></body></html>
<?
} else {
$username = $_POST['username'];
$password1 = $_POST['password1'];
$password2 = $_POST['password2'];
$kapca = strtolower($_POST['kapca']);
$mejl = $_POST['mejl'];
$ttekst = encode_decode($_POST['ttekst'], 'd');
if (!filter_var($mejl, FILTER_VALIDATE_EMAIL) or strlen($mejl) > 60) { $greska =
1; header("location: registracija.php?greskaa=$greska"); exit; }
if ($kapca != $ttekst) { $greska=2; header ("location: registracija.php?greskaa=$greska");
exit; }
if (!$username or !$password1 or !$password2 or !$mejl) { $greska = 3; header
("location: registracija.php?greskaa=$greska"); exit; }
if ($password1!= $password2) { $greska = 4; header ("location: registracija.php?greskaa=$greska");
exit; }
if( !ereg("^[a-zA-Z0-9_]{3,20}$", $username) or
!ereg("^[a-zA-Z0-9]{5,8}$",$password1)) {$greska = 5; header ("location:
registracija.php?greskaa=$greska"); exit; }
$password1 = crypt($password1, $username);
$sql = "SELECT username, korisnickimejl FROM korisnici";
if (!$q = mysql_query($sql)) { $greska=6; header ("location: registracija.php?greskaa=$greska");
exit; }
while ($redak = mysql_fetch_assoc($q)){
if($redak["username"] == $username){ $greska = 7; header
("location:registracija.php?greskaa=$greska"); exit; }
if($redak["korisnickimejl"] == $mejl) { $greska = 8; header ("location:
registracija.php?greskaa=$greska"); exit; }
}
$datum = DATE ('Y-m-d H:i:s');
$IP = $_SERVER['REMOTE_ADDR'];
$aktivacija = 0;
$sql = "insert into korisnici (korisnickimejl, username, userpassword,
datumregistracije, zadnjipristup, IP, aktivacija) values ('".$mejl." ',' " .
$username . " ',' " . $password1 . " ',' " . $datum
. " ',' " . $datum . " ',' " . $IP . " ',' "
. $aktivacija . " ')";
if ( !mysql_query($sql)) { $greska = 6; header ("location: registracija.php?greskaa=$greska");
exit; }
$sql = "select korisnikid from korisnici where username = ' " . $username.
" ' ";
if (!$q = mysql_query($sql)) { $greska = 6; header ("location: registracija.php?greskaa=$greska");
exit; }
while ($redak=mysql_fetch_assoc($q)) { $korisnikid = $redak["korisnikid"]; }
$poruka = formaregistracija($username,$password2,$korisnikid);
if(slanjemejla ($mejl,'REGISTRACIJA',$poruka)){
echo 'OCEKUJTE MEJL ZA DOVRSETAK REGISTRACIJE.' . ' <a
href="http://www.vashost.com/index.php">INDEX</a>';
}else{ $greska = 6; header ("location: registracija.php?greskaa=$greska");
exit; }
exit;
}
?>
NASTAVAK SLEDI USKORO