E malo sam prpao nesto na ovu temu da se korisniku salje aktivacijski mail svaki put pri registraciji. Nesto sam napravio medjutim treba ovde da se doda jos neke stvari. Recimo u lokalu kada probam da se logujem meni login prodje )) jer u formi za logovanje nisam resio taj deo iako bi mozda mail za aktivaciju otisao kada bi ovo postavio na neki server, ali ocigledno on nebi imao nikakvu funkciju Ima neko ideju kako da ovo resim?
add.php
<?php
// konekcija na bazu
mysql_connect("localhost", "root", "") or die(mysql_error());
mysql_select_db("prijavaispita") or die(mysql_error());
//Provjeravamo da li je korisnik pritisnuo submmit
if (isset($_POST['submit'])) {
//Provera da li je korisnik popunio polja
if (!$_POST['ime'] | !$_POST['prezime'] |!$_POST['password']|!$_POST['brindeksa'])
{
die('Niste popunili sva polja');
}
if (!get_magic_quotes_gpc())
{
$_POST['brindeksa'] = addslashes($_POST['brindeksa']);
}
//select za proveru indeksa
$usercheck = $_POST['brindeksa'];
$check = mysql_query("SELECT brojindeksa FROM studenti WHERE brojindeksa = '$usercheck'")
or die("Provjera ne moze da se izvrsi");
$check2 = mysql_num_rows($check);
//select za proveru email-a
$usercheck = $_POST['email'];
$pemail = mysql_query (" SELECT * FROM studenti WHERE email ='$email' ")
or die ("Provera ne moze da se izvrsi");
$check3 = mysql_num_rows($pemail);
//Ako broj indeksa postoji u bazi ispisujemo gresku
if ($check2 != 0)
{
die('Greska, brojindeksa koji ste uneli '.$_POST['brindeksa'].' je u upotrebi.');
}
//Provera da li je unijeta e-mail adresa ispravna
if (!eregi('^[a-zA-Z0-9_\-\.]+@[a-zA-Z0-9\-]+\.[a-zA-Z0-9\-\.]', $_POST['email']))
{
echo 'Uneta email adresa nije ispravna';
exit;
}
//Proveravamo da li email vec postoji u bazi
if ($check3 !=0)
{
die ('Greska, Email koji ste uneli '.$_POST['email'].' je u upotrebi');
}
// Vrsimo kriptovanje sifre md5 algoritmom
$_POST['password'] = md5($_POST['password']);
if (!get_magic_quotes_gpc()) {
$_POST['password'] = addslashes($_POST['password']);
}
//Ako je korisnik sabmitovao formu
if ($_POST['form_submitted'] == '1')
{
//Definisanje aktivacijskog maila
$activactionkey = mt_rand() . mt_rand() . mt_rand() . mt_rand() . mt_rand();
//Upisivanje u bazu
$datumprijave=date("Y-m-d");
$ime=$_POST['ime'];
$prezime=$_POST['prezime'];
$brindeksa=$_POST['brindeksa'];
$password=$_POST['password'];
$email=$_POST['email'];
$password=mysql_real_escape_string($password);
$insert = "INSERT INTO studenti (imestudenta,prezimestudenta,brojindeksa,password,email,activactionkey,datumprijave)
VALUES ('".$ime."','".$prezime."','".$brindeksa."','".$password."','".$email."','".$activactionkey."','".$datumprijave."')";
$add_member = mysql_query($insert);
echo "Aktivacijski mail je poslat na $_POST[email]. Molimo proverite vas e mail i potvrdite aktivaciju.";
//Slanje aktivacionog maila
$to = $_POST['email'];
$subject = "Potvrdite vasu registraciju";
$message = "Dobrodosli na nas sajt!\r\rVi ili neko drugi koristi ovu email adresu da se registruje. Mozete se registrovati klikom na sljedeci link:\rhttp://www.YOURWEBSITE.com/add.php?$activactionkey\r\rAko ste ovaj mail dobili greskom ignorisite ga i bicete automatski izbrisani sa liste.\r\rRegards,\ YOURWEBSITE.com Team";
$headers = 'From: noreply@ YOURWEBSITE.com' . "\r\n" .
'Reply-To: noreply@ YOURWEBSITE.com' . "\r\n" .
'X-Mailer: PHP/' . phpversion();
mail($to, $subject,$message,$headers);
}
else
{
##User isn't registering, check verify code and change activation code to null, status to activated on success
$queryString = $_SERVER['QUERY_STRING'];
$query = "SELECT * FROM studenti";
$result = mysql_query($query) or die(mysql_error());
while($row = mysql_fetch_array($result))
{
if ($queryString == $row["activactionkey"])
{
echo "Congratulations!" . $row["ime"] . " is now the proud new owner of an YOURWEBSITE.com account.";
$sql="UPDATE studenti SET activactionkey = '', status='activated' WHERE (id = $row[id])";
if (!mysql_query($sql))
{
die('Error: ' . mysql_error());
}
}
}
}
?>
<h1>Nakon potvrde aktivacijskog maila mozete se logovati</h1>
<p></p>
<?php
}
else
{
?>
<form action="add.php" method="post">
<table border="0">
<tr><td>Ime:*</td><td>
<input type="text" name="ime" maxlength="35">
</td></tr>
<tr><td>Prezime:*</td><td>
<input type="text" name="prezime" maxlength="35">
</td></tr>
<tr><td>Broj indeksa:*</td><td>
<input type="text" name="brindeksa" maxlength="4">
</td></tr>
<tr><td>Sifra:*</td><td>
<input type="password" name="password" maxlength="12">
</td></tr>
<tr><td>eMail:</td><td>
<input type="text" name="email" maxlength="35">
<input type="hidden" name="form_submitted" value="1"/>
</td></tr>
<tr><th colspan=2><input type="submit" name="submit" value="Registracija"></th></tr>
<tr><th colspan=2><input type="reset" name="reset" value="Resetovanje"></tr></td></table>
</form>
<?php
}
?>
login.php
<?php
session_start();
if (isset ($_POST['imestudenta'])&& isset ($_POST['password']))
{
//Ako je korisnik pokusao da se prijavi
$imestudenta=$_POST['imestudenta'];
$password=md5($_POST['password']);
$db_conn=mysql_connect("localhost", "root","");
mysql_select_db("prijavaispita",$db_conn);
$query="select * from studenti
where imestudenta='$imestudenta'
and password='$password'";
$rezultat=mysql_query($query,$db_conn);
if (mysql_num_rows($rezultat)>0)
{
//ako je korisnik pronadjen u bazi podataka
//registrujemo njegov indetifikator u sesiji
$_SESSION['valid_student']=$imestudenta;
}
}
?>
<html>
<body>
<h1>Prijava ispita</h1>
<?php
if (isset($_SESSION['valid_student']))
{
echo 'Vi ste prijavljeni kao: '.
$_SESSION['valid_student'].'<br />';
echo '<a href="logout.php">Log out</a><br />';
}
else
{
if (isset($password))
{
//ako se pokusaj prijavljivanja zavrsio neuspjehom
echo 'Niste se uspjesno logovali';
}
else
{
//Korisnik koji se jos nije prijavio ili se odjavio
echo 'Niste logovani';
}
//generisanje obrasca za prijavljivanje
echo '<form action = "login.php" method = "post">';
echo '<table>';
echo '<tr><td>Vase ime:</td>';
echo '<td><input type="text" name="imestudenta"></td></tr>';
echo '<tr><td>Password:</td>';
echo '<td><input type="password" name="password"></td></tr>';
echo '<tr><td colspan="2" align="center">';
echo '<input type="submit" value="Logujte se"></td></tr>';
echo '</table></form>';
}
?>
<br>
<a href="studenti.php">Studentska sekcija</a>
</body>
</html>
|