Forum Sveta kompjutera

Nazad   Forum Sveta kompjutera > Internet > Web razvoj > Serverske aplikacije i baze podataka

Serverske aplikacije i baze podataka PHP, Perl, ASP, ASP .NET, ColdFusion...
MySQL, PostgreSQL, MSQL, Oracle...

Odgovor
 
Alatke vezane za temu Vrste prikaza
Stara 8.3.2010, 0:44   #1
hack
Član
 
Član od: 9.12.2007.
Poruke: 150
Zahvalnice: 20
Zahvaljeno 3 puta na 3 poruka
Određen forumom Activaction mail

Postovanje svima. Npravio sam neku jednostavnu formu za rekistraciju, skolski primer, nista posebno.E sad hocu da na e mail, koji korisnik upise, stize aktivacijski mail koji on klikne, potvrdi registraciju i naravno taj link time prestane da bude validan. Ima neko ideju kako to da se odradi. Pozdrav

Kod:
<?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'])) { 

//Provjera 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 provjeru 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 provjeru email-a
$usercheck = $_POST['email'];
$pemail = mysql_query (" SELECT * FROM studenti WHERE email ='$email' ") 
or die ("Provjera 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 unijeli '.$_POST['brindeksa'].' je u upotrebi.'); 
} 

//Provjera 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 'Unijeta email adresa nije ispravna';
exit;
}

//Provjeravamo da li email vec postoji u bazi
if ($check3 !=0)
{
die ('Greska, Email koji ste unijeli '.$_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']); 
} 


//Sigurnosno 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,datumprijave) 
VALUES ('".$ime."','".$prezime."','".$brindeksa."','".$password."','".$email."','".$datumprijave."')"; 
$add_member = mysql_query($insert); 



//Upisujemo podatke u bazu 
//$insert = "INSERT INTO users (username, password) 
//VALUES ('".$_POST['username']."', '".$_POST['pass']."')"; 
//$add_member = mysql_query($insert); 

// Make a safe SQL
//$user = check_input($_POST['user']);
//$pwd = check_input($_POST['pwd']);
//$sql = "SELECT * FROM users WHERE
//user=$user AND password=$pwd";
?> 

<h1>Uspjesno ste se registrovali</h1> 
<p>Hvala Vam na registraciji.Sada mozete da se logujete</a>.</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"> 
</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 
} 
?>
hack je offline   Odgovor sa citatom ove poruke
Stara 8.3.2010, 1:33   #2
ivan.a
Član
 
Član od: 20.3.2007.
Poruke: 283
Zahvalnice: 43
Zahvaljeno 60 puta na 48 poruka
Određen forumom Re: Activaction mail

Možda ti ovo može pomoći:
http://www.learnphponline.com/script...-for-php-forms
http://www.tutorialcode.com/php/registration-script/
ivan.a je offline   Odgovor sa citatom ove poruke
Stara 8.3.2010, 1:38   #3
hack
Član
 
Član od: 9.12.2007.
Poruke: 150
Zahvalnice: 20
Zahvaljeno 3 puta na 3 poruka
Određen forumom Re: Activaction mail

Pogledacu pa javljam sta sam uradio. Hvala puno!
hack je offline   Odgovor sa citatom ove poruke
Stara 9.3.2010, 17:27   #4
hack
Član
 
Član od: 9.12.2007.
Poruke: 150
Zahvalnice: 20
Zahvaljeno 3 puta na 3 poruka
Određen forumom Re: Activaction mail

E ovako. Zbunio sam se ovim mnogo. Mene zanima kako ovo ovde radi? Znaci sta e desava posle toga kada korisnik klikne na aktivacioni link i kako skripta zakljuci da je on to uradio stvarno mi nije jasno. Vidim da uporedjuje da li su activactionkey isti i na osnovu toga izvrsi izmene u tabeli tj polje status iz verifi prebaci u activated. Po meni ovde fali dosta jos toga. Kao prvo ne vidim nigde deo gde se korisnik loguje, kao drugo ne vidm deo gde se proverava da li korisnik uopste registrovan i ako nije da mi zabrani da se loguje itd.

Tacnije ovo ovde ne mogu da protumacim:
Kod:
$queryString = $_SERVER['QUERY_STRING'];

$query = "SELECT * FROM users"; 

$result = mysql_query($query) or die(mysql_error());

  while($row = mysql_fetch_array($result)){

    if ($queryString == $row["activationkey"]){

       echo "Congratulations!" . $row["username"] . " is now the proud new owner of an YOURWEBSITE.com account.";

       $sql="UPDATE users SET activationkey = '', status='activated' WHERE (id = $row[id])";

       if (!mysql_query($sql))

  {

        die('Error: ' . mysql_error());

  }

    }

  }

}
hack je offline   Odgovor sa citatom ove poruke
Odgovor

Bookmarks sajtovi

Alatke vezane za temu
Vrste prikaza

Vaš status
Ne možete postavljati teme
Ne možete odgovarati na poruke
Ne možete slati priloge uz poruke
Ne možete prepravljati svoje poruke

BB kod: uključeno
Smajliji: uključeno
[IMG] kod: uključeno
HTML kod: isključeno


Slične teme
tema temu započeo forum Odgovora Poslednja poruka
Beobug mail Electro Internet usluge 1 24.2.2010 12:31
Mail delivery failed permanently :@ RaKuN_s_NeOnKoM Internet tehnologije 1 22.2.2010 12:23
Migracija s Thunderbirda na Windows Mail Vladimiros Aplikativni softver 1 29.10.2008 2:05
opera mail JovanK Aplikativni softver 6 10.2.2007 22:26
kako da posaljem mail na svoj tel? Vorador Aparati i oprema 10 24.1.2006 21:12


Sva vremena su po Griniču +2 h. Sada je 1:18.


Powered by vBulletin® verzija 3.8.7
Copyright ©2000–2024, vBulletin Solutions, Inc.
Hosted by Beograd.com