Skocz do zawartości
  • 👋 Witaj na MPCForum!

    Przeglądasz forum jako gość, co oznacza, że wiele świetnych funkcji jest jeszcze przed Tobą! 😎

    • Pełny dostęp do działów i ukrytych treści
    • Możliwość pisania i odpowiadania w tematach
    • System prywatnych wiadomości
    • Zbieranie reputacji i rozwijanie swojego profilu
    • Członkostwo w jednej z największych społeczności graczy

    👉 Dołączenie zajmie Ci mniej niż minutę – a zyskasz znacznie więcej!

    Zarejestruj się teraz

[P] Potwierdzenie e-maila


Rekomendowane odpowiedzi

Opublikowano

Cześć zaczołgam sobie na nowo pisać gierkę i zastanawiam się jak zrobić by gracz musiał potwierdzić e-maila.

Jak zrobić by do gracza na e-maila był wysyłany link lub kod który musi kliknąć i wtedy jego konto jest aktywne?

Proszę o podsunięcie rozwiązań, jeśli znacie jakiś skrypcik na to bardzo by się przydał.

Pozdrawiam i dziękuję.

Opublikowano

Jeżeli potrafisz pisać samemu to można ci tylko pomysł podsunąć... ;)

 

Najprostszy sposób:

Po pierwsze poczytaj o funkcji mail(). Dodaj do tabelki kolumnę o dowolnej nazwie np. active, będzie ona służyła do przechowywania wartości np. 1 jeżeli potwierdzono maila, 0 jeżeli jeszcze nie potwierdzono oraz kolumnę, która będzie zawierała kod potwierdzenia. Do generowania kodu potwierdzenia napisz sobie funkcje lub w google znajdź.

 

W wysyłanej wiadomości na podanego maila dajesz po prostu link np. www twojagra pl/activemail.php?code=losowo_generowany_kod

Po przejściu pod ten link w odpalane jest zapytanie do bazy, które zmienia zawartość kolumny active na 1 - tzn. potwierdzono :)

 

Chyba dobrze wyjaśniłem ? :)


...

 

Opublikowano

Ja robię sobie tak:

Generuję kod unikalny gracza, oraz nadaję mu status Not-Actived.

kod unikalny to u mnie:

 

$code = time().'12Skills'.rand(1,100000);

Wtedy wysyłam mail z linkiem do aktywacji konta. Jako GET daję właśnie ten wygenerowany kod i dzięki temu zmieniam mu status na User ;)

PS: Jak wysyłasz maila to pewnie nie dojdzie on na każdą pocztę dlatego polecam ci stosować to co i ja stosuję:

 

            $naglowek = "MIME-Version: 1.0\n"; //zgodność ze standardem MIME
            $naglowek .= "Content-type: text/html; charset=iso-8859-2\n"; //typ zawartej treści, kodowanie
            $naglowek .= "From: 12 skills <".$admin_email.">\n"; //nadawca
           mail($Email, $tytul, $tresc, $naglowek);
Opublikowano

Sprawdź to

    if($_POST["rej"]=="true")
    {
    $akod = uniqid('akod', true);
    $user = htmlspecialchars($_POST['user']);
    $email = htmlspecialchars($_POST['email']);
    $akod2 = "http://twojastrona.pl/rejestracja_.php?aktywacja=".$akod;
    $mail_headers = "From: costamcostam.pl\r\nReply-To: cotamcostam.pl\r\n";
    $mail_headers.= "Content-Type: text/html;\n";
    $mail_headers.= "\tcharset=\"UTF-8\"\n";
    $mail_headers.= "Content-Transfer-Encoding: 8bit\n\n";
    $temat = ("Kod aktywacyjny");
    mail($email, $temat, $akod2, $mail_headers);
    mysql_query("INSERT INTO user SET user='$user', haslo='$haslo', email='$email', przydomek='$przydomek', akod='$akod', aktywacja=0");
    }
    elseif($_GET["aktywacja"]) {
    mysql_query("UPDATE user SET aktywacja=1 WHERE akod='$_GET[aktywacja]' ");
    if(mysql_affected_rows()==1)
    {
    print"Aktywacja ukończona pomyślnie. Możesz się teraz zalogować używając loginu i hasła.";
    mysql_query("ALTER TABLE user DROP COLUMN akod");
    }
    else
    {
    print"Podano nieistniejący kod aktywacyjny, bądź kod został już użyty. <a href='wyslij_kod.php'>Wyślij</a> kod aktywacyjny jeszcze raz.";
    }
    }

jesse_pinkman_v2_by_seb3tears-d5s8er0.pn


Gold Member | Blue Member | exModerator Counter-Strike

Opublikowano

Dziękuję za pomoc, postaram się zrobić przy pomocy funkcji mail().

Chyba, że naprawde jest to słabe rozwiązanie?

Opublikowano

Jeżeli zależy Ci na tym, żeby tylko wysłało - tak.

Jeżeli ma gdziekolwiek dochodzić - nie. Nieodpowiednio ustawiony mail() 60% serwisów pocztowych wychwytuje jako spam.

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

×
×
  • Dodaj nową pozycję...