Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Jak działa generator potwie. rejestracji mail'em
rgg
post
Post #1





Grupa: Zarejestrowani
Postów: 1
Pomógł: 0
Dołączył: 29.06.2005

Ostrzeżenie: (0%)
-----


Witam,
Może mi ktoś poleć jakiś link do kursu lub książkę dla początkujących
w której znajdę opis tworzenia potralu zaczynając od kodów php i opisu jak działa generator potwierdzający rejetrację konta użytkownika w serwisie:) worriedsmiley.gif

Przenoszę: Skrypty php -> php / crashu
Go to the top of the page
+Quote Post
chmolu
post
Post #2





Grupa: Zarejestrowani
Postów: 179
Pomógł: 0
Dołączył: 8.10.2004

Ostrzeżenie: (0%)
-----


Sprawa jest bardzo prosta. Może to wyglądać tak:

masz tabele:
user_id
user_login
user_confirmed
user_confirm_code

generujesz takie coś:
$hash = md5(uniqid(time()).

Zapisujesz w bazie i jednocześnie wysyłasz maila z linkiem:
www.foo.pl/activate.php?user_id=1&code=$hash

W skrypcie activate.php porównujesz czy hash w linku jest identyczny z tym w bazie. Jeśli tak to zmieniasz pole user_confirmed na 1.
Go to the top of the page
+Quote Post
miedzna
post
Post #3





Grupa: Zarejestrowani
Postów: 401
Pomógł: 1
Dołączył: 10.03.2004
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


Zrobiłem coś takiego, rozwiązanie amatorskie, ale działa smile.gif

rejestrujesz usera z domyślna $aktywacja=0 (niezarejestrowany) i wysyłasz do niego maila. Zmienna hash generowana jest za pomoca md5, natomiast nazwisko, to wiadomo oso chodzi smile.gif (możesz używać id, bylo by nawet lepsze):

zamow.php
  1. <?php
  2.  
  3. // generujesz unikalny hash
  4.  
  5. $hash = md5(uniqid(time()));
  6.  
  7. // jezeli rejestracja przebiegła bez zakłóceń, to wysyłasz maila:
  8.  
  9. mail($email, $temat, &#092;"Dziękujemy bla bla bla.nŻeby potwierdzić zamówienie kliknij w poniższy link
    :nhttp://localhost/potwierdz.php?hash=$hash&nazwisko=$nazwisko\", $nadawca);
  10.  
  11. ?>


a teraz plik, który aktywuje konto, zmienia $aktywacja=1 (zarejestrowany)

potwierdz.php
  1. <?php
  2.  
  3. include('config.php');
  4.  
  5. // sprawdzasz, czy zgadza się hash i nazwisko i czy konto jeszcze nie zostało akty
  6. owane
  7.  
  8. $sql = &#092;"SELECT id FROM zamowienia WHERE hash = '$hash' AND nazwisko = '$nazwisko' AND (aktywacja != '1')\";
  9. $result = mysql_query($sql);
  10. if(mysql_num_rows($result) == 0) {
  11. print '<center><h2>Zamówienie zostało już potwierdzone,<BR>albo hash lub nazwisko są błędne.</h2></center>';
  12. }
  13.  
  14. // a teraz aktywujesz konto zmieniasz wartość zmienne aktywacja na 1
  15.  
  16. $sql2 = &#092;"UPDATE zamowienia SET aktywacja='1' WHERE hash = '$hash' AND nazwisko = '$nazwisko'\";
  17. $result2 = mysql_query($sql2);
  18. print &#092;"<center><h1>Dziękujemy za potwierdzenie zamówienia</h1><BR><h2>Teraz możesz skasować tę wiadomość</h2></center>\";
  19.  
  20. ?>
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 20.08.2025 - 07:12