Activare email...
Moderatori: Zamolxe, Moderatori
-
- PHPRomania Supporter
- Mesaje: 17
- Membru din: Joi Noi 20, 2014 12:38 am
Activare email...
Salut, stiu ca o sa vi sa para ca va pierdeti vremea cu mine si chiar asa este. Dar poate cineva o sa fie interesat de asta intr-o zi..).Cum as putea face sa se trimita email cu link de activare. Din cate am vazut sa dau o variabila unde destinatarul este 'email'. Apoi subiectul... Si dupa continutul. Dar cum fac faza cu activarea? adica... nu pot sa inteleg ce cod as introduce.. ok ar fi in tabel o parte (activare) cu 0 si 1 . 0 pt activat sa fie 1 iar 0 pt dezactivat. As putea face cu functia update..dar nu stiu sa pun cap la cap.
- Birkoff
- Senior Member
- Mesaje: 6380
- Membru din: Joi Mar 18, 2004 2:34 pm
- Localitate: Bucuresti
- Contact:
Re: Activare email...
scrisesem mai de mult un algoritm cu ce ar trebui sa contina un script de autentificare vezi daca te ajuta
http://www.tutorialeonline.net/ro/artic ... care-login
legat de ce vrei tu e simplu la inregistrarea userului bagi in tabel ceva de forma
id, user, parola, email, stare (unde 0 = neaprobat, 1 aprobat, 2 banat), data inregistrarii, cod_activare, alte coloane...
dupa aia ii trimiti mail cu datele de autentificare si link de activare de genu
<a href="www.site.ro/activare.php?id=id-ul userului&cod=codul de activare">click aici pentru activarea contului</a>
cand da click il va duce pe pagina activare.php unde tu preiei id si cod, le verifici in bd si daca corespund atunci faci update la coloana "stare" = 1 si ii afisezi mesaj ca e aprobat si se poate loga.
http://www.tutorialeonline.net/ro/artic ... care-login
legat de ce vrei tu e simplu la inregistrarea userului bagi in tabel ceva de forma
id, user, parola, email, stare (unde 0 = neaprobat, 1 aprobat, 2 banat), data inregistrarii, cod_activare, alte coloane...
dupa aia ii trimiti mail cu datele de autentificare si link de activare de genu
<a href="www.site.ro/activare.php?id=id-ul userului&cod=codul de activare">click aici pentru activarea contului</a>
cand da click il va duce pe pagina activare.php unde tu preiei id si cod, le verifici in bd si daca corespund atunci faci update la coloana "stare" = 1 si ii afisezi mesaj ca e aprobat si se poate loga.
1) CMS, ERP, CRM, etc... (doar pentru clienti))
2) Portofoliu, servicii, contact, blog
3) Folositi aceasta clasa sql in proiectele voastre (open source)
4) Vrei un magazin virtual la cheie, usor de folosit, cu api-uri incluse pentru maximizarea vanzarilor si multe alte facilitati? Da un semn si discutam.
2) Portofoliu, servicii, contact, blog
3) Folositi aceasta clasa sql in proiectele voastre (open source)
4) Vrei un magazin virtual la cheie, usor de folosit, cu api-uri incluse pentru maximizarea vanzarilor si multe alte facilitati? Da un semn si discutam.
Re: Activare email...
La inregistrare faci asa :
Bun ... acum va trebui sa faci un tabel in baza de date cu numele `_asteptare_confirmare ` , campurile: ID(int,autoincrement,primary), uid (int), cod(varchar,20), expire(int 15);
Acum in logare.php, sau cum ai tu....Sunt de parere ca nu trebuie adaugat niciun camp in tabelul cu users, deoarece acel camp va folosi o singura data, asa ca nu avem nevoie. Modalitatea mea e simpla, in pagina cu logare faci un COUNT(*) cu id-ul utilizatorului din `_asteptare_confirmare` , si daca exista , opresti intrarea.
Acum facem si pagina cu validare a contului :
Mentionez ca am scris codul aici, fara sa-l testez. Mai mult este ca sa intelegi cum trebuie sa functioneze acest sistem. Bafta !
Cod: Selectaţi tot
$cod = substr(sha1(time()),0,10); //generam un cod de 10 caractere
$expire = time()+3600*24*30; //expirare dupa 30 de zile
$res = mysql_query("INSERT INTO _asteptare_confirmare set uid='".$uid."', cod='".$cod."', `expire`='".$expire."'");
if($res)
{
email($email,"subject","<a href=\"validare.php?cod={$cod}\">validare cont</a>";);
echo "Un email cu codul de activare a fost trimis !";
}
Bun ... acum va trebui sa faci un tabel in baza de date cu numele `_asteptare_confirmare ` , campurile: ID(int,autoincrement,primary), uid (int), cod(varchar,20), expire(int 15);
Acum in logare.php, sau cum ai tu....Sunt de parere ca nu trebuie adaugat niciun camp in tabelul cu users, deoarece acel camp va folosi o singura data, asa ca nu avem nevoie. Modalitatea mea e simpla, in pagina cu logare faci un COUNT(*) cu id-ul utilizatorului din `_asteptare_confirmare` , si daca exista , opresti intrarea.
Cod: Selectaţi tot
logare.php
$id = preiei id-ul dupa trimiterea numelui si a parolei
$count = mysql_fetch_array(mysql_query("select count(*) from _asteptare_confirmare where uid='".$id."'"));
if($count[0]>0)
{
echo "Contul tau nu a fost activat inca";
}
Acum facem si pagina cu validare a contului :
Cod: Selectaţi tot
validare.php
if(!isset($_GET['code']))$_GET['code'] = 0;
$code = mysql_real_escape_string($_GET['code']);
$count = mysql_fetch_array(mysql_query("select count(*) from _asteptare_confirmare where cod='".$code."'"));
if($count[0]==0)die("cod nerecunoscut");
$uid = mysql_fetch_array(mysql_query("select * from _asteptare_confirmare where cod='".$code."'"));
//am scos uid-ul, din care poti lua din users : email , nume si altele ...
//acum stergem codul si putem face trecerea utilizatorului de restrictia din logare.php
mysql_query("delete from _asteptare_confirmare where cod='".$code."'");
echo "contul a fost activat";
Mentionez ca am scris codul aici, fara sa-l testez. Mai mult este ca sa intelegi cum trebuie sa functioneze acest sistem. Bafta !
-
- PHPRomania Supporter
- Mesaje: 17
- Membru din: Joi Noi 20, 2014 12:38 am
Re: Activare email...
Multumesc, o sa incerc in seara asta.
-
- New Member
- Mesaje: 1
- Membru din: Dum Apr 10, 2016 2:42 pm
Re: Activare email...
Interesantă funcția!
Cine este conectat
Utilizatori ce ce navighează pe acest forum: Niciun utilizator înregistrat și 31 vizitatori