Activaction mail !

Activaction mail !

offline
  • Pridružio: 13 Mar 2009
  • Poruke: 229

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 Smile)) 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 Smile 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>



Registruj se da bi učestvovao u diskusiji. Registrovanim korisnicima se NE prikazuju reklame unutar poruka.
offline
  • Pridružio: 22 Maj 2009
  • Poruke: 27
  • Gde živiš: Kostolac

U login.php probaj sa ovim Query:

$query="SELECT * FROM studenti WHERE `status`='activated' AND imestudenta='$imestudenta' AND password='$password'";

Nisi napravio raspoznavanje da li je korisnik aktivan , ovako uz pomoc onog upita gore slektuje za proveru samo korisnike koji su aktivirali svoj nalog..

Pozdrav.



offline
  • Pridružio: 13 Mar 2009
  • Poruke: 229

E resio sam problem na drugi nacin samo sam zaboravio da se javim Very Happy

offline
  • Pridružio: 22 Maj 2009
  • Poruke: 27
  • Gde živiš: Kostolac

heh, ok , sledeci put se javi Smile

Ko je trenutno na forumu
 

Ukupno su 1018 korisnika na forumu :: 34 registrovanih, 4 sakrivenih i 980 gosta   ::   [ Administrator ] [ Supermoderator ] [ Moderator ] :: Detaljnije

Najviše korisnika na forumu ikad bilo je 3466 - dana 01 Jun 2021 17:07

Korisnici koji su trenutno na forumu:
Korisnici trenutno na forumu: A.R.Chafee.Jr., antonije64, aramis s, Boris BM, cenejac111, CikaKURE, dankisha, debeli, deimos25, deLacy, Dorcolac, esx66, Georgius, helen1, hooraay, jackreacher011011, Mercury, Milos ZA, milutin134, Mixelotti, mrav pesadinac, Nemanja.M, nenad81, nikoladim, NikolaGTR, NoOneEver Dreams, nuke92, panzerwaffe, RJ, Romibrat, sasa87, vathra, VJ, zbazin