• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

jak zrobić rejestracja z potwierdzeniem na meila

Object Storage Arubacloud
+1 głos
224 wizyt
pytanie zadane 14 kwietnia 2018 w PHP przez TON Nowicjusz (190 p.)

Witam. Mam problem jak zrobić rejestrację z potwierdzeniem na meila.

samą rejestrację już mam tylko potwierdzenie na meila nie wiek jak zrobić.

jeśli ktoś wie jak takie coś zrobić to proszę o odpowiedź. z góry dzięki :)

a oto kod na  rejestrację;

 

<?php

    session_start();
    
    if (isset($_POST['email']))
    {

        $wszystko_OK=true;
        

        $nick = $_POST['nick'];
        

        if ((strlen($nick)<3) || (strlen($nick)>20))
        {
            $wszystko_OK=false;
            $_SESSION['e_nick']="Nick musi posiadać od 3 do 20 znaków!";
        }
        
        if (ctype_alnum($nick)==false)
        {
            $wszystko_OK=false;
            $_SESSION['e_nick']="Nick może składać się tylko z liter i cyfr (bez polskich znaków)";
        }
        

        $imie = $_POST['imie'];
        

        if ((strlen($imie)<3) || (strlen($imie)>24))
        {
            $wszystko_OK=false;
            $_SESSION['e_imie']="imie musi posiadać od 3 do 24 znaków!";
        }
          
        

        $nazwisko = $_POST['nazwisko'];
        
  
        if ((strlen($nazwisko)<4) || (strlen($nazwisko)>34))
        {
            $wszystko_OK=false;
            $_SESSION['e_nazwisko']="nazwisko musi posiadać od 4 do 34 znaków!";
        }
        
        
        
        $email = $_POST['email'];
        $emailB = filter_var($email, FILTER_SANITIZE_EMAIL);
        
        if ((filter_var($emailB, FILTER_VALIDATE_EMAIL)==false) || ($emailB!=$email))
        {
            $wszystko_OK=false;
            $_SESSION['e_email']="Podaj poprawny adres e-mail!";
        }
        

        $haslo1 = $_POST['haslo1'];
        $haslo2 = $_POST['haslo2'];
        
        if ((strlen($haslo1)<8) || (strlen($haslo1)>30))
        {
            $wszystko_OK=false;
            $_SESSION['e_haslo']="Hasło musi posiadać od 8 do 30 znaków!";
        }
        
        if ($haslo1!=$haslo2)
        {
            $wszystko_OK=false;
            $_SESSION['e_haslo']="Podane hasła nie są identyczne!";
        }    

        $haslo_hash = password_hash($haslo1, PASSWORD_DEFAULT);
                 

        if (!isset($_POST['regulamin']))
        {
            $wszystko_OK=false;
            $_SESSION['e_regulamin']="Potwierdź akceptację regulaminu!";
        }    

        if (!isset($_POST['polityka']))
        {
            $wszystko_OK=false;
            $_SESSION['e_polityka']="Potwierdź akceptację Przetwarzanie moich danych przez HS!";
        }   


        $sekret = "6654trh8646RGHRFRr8564drR68rhhrRHD84641R";
        
        $sprawdz = file_get_contents('https://www.google.com/recaptcha/api/siteverify?secret='.$sekret.'&response='.$_POST['g-recaptcha-response']);
        
        $odpowiedz = json_decode($sprawdz);
        
        if ($odpowiedz->success==false)
        {
            $wszystko_OK=false;
            $_SESSION['e_bot']="Potwierdź, że nie jesteś botem!";
        }        
        
        $_SESSION['fr_nick'] = $nick;
        $_SESSION['fr_imie'] = $imie;
        $_SESSION['fr_nazwisko'] = $nazwisko;
        $_SESSION['fr_email'] = $email;
        $_SESSION['fr_haslo1'] = $haslo1;
        $_SESSION['fr_haslo2'] = $haslo2;
        if (isset($_POST['regulamin'])) $_SESSION['fr_regulamin'] = true;
        if (isset($_POST['polityka'])) $_SESSION['fr_polityka'] = true;
        
        require_once "connect.php";
        mysqli_report(MYSQLI_REPORT_STRICT);
        
        try 
        {
            $polaczenie = new mysqli($host, $db_user, $db_password, $db_name);
            if ($polaczenie->connect_errno!=0)
            {
                throw new Exception(mysqli_connect_errno());
            }
            else
            {
                $rezultat = $polaczenie->query("SELECT id FROM uzytkownicy WHERE email='$email'");
                
                if (!$rezultat) throw new Exception($polaczenie->error);
                
                $ile_takich_maili = $rezultat->num_rows;
                if($ile_takich_maili>0)
                {
                    $wszystko_OK=false;
                    $_SESSION['e_email']="Istnieje już konto przypisane do tego adresu e-mail!";
                }        

              
                $rezultat = $polaczenie->query("SELECT id FROM uzytkownicy WHERE nick='$nick'");
                
                if (!$rezultat) throw new Exception($polaczenie->error);
                
                $ile_takich_nickow = $rezultat->num_rows;
                if($ile_takich_nickow>0)
                {
                    $wszystko_OK=false;
                    $_SESSION['e_nick']="Istnieje już użytkownik o takim nicku! Wybierz inny.";
                }
                
                if ($wszystko_OK==true)
                {
                    
                    if ($polaczenie->query("INSERT INTO uzytkownicy VALUES (NULL, '$nick', '$imie', '$nazwisko', '$haslo_hash', '$email', 9990)")) 
                    {
                        $_SESSION['udanarejestracja']=true;
                        header('Location: witamy.php');
                    }
                    else
                    {
                        throw new Exception($polaczenie->error);
                    }
                    
                }
                
                $polaczenie->close();
            }
            
        }
        
          
        catch(Exception $e)
        {
            echo '<span style="color:red;">Błąd serwera! Przepraszamy ale coś poszło nie tak i prosimy o rejestrację w innym terminie!</span>';
            echo '<br />Informacja developerska: '.$e;
        }
        
    }
    
    
    
?>

 

1 odpowiedź

0 głosów
odpowiedź 14 kwietnia 2018 przez Mariusz08 Maniak (62,300 p.)
Musisz wykazać trochę własnej inicjatywy, niż kopiować kod ze strony miroslawzelent.pl :) . Poczytaj o funkcji mail() (do wysyłania maili), generowaniu kodów, i bazie danych
komentarz 14 kwietnia 2018 przez TON Nowicjusz (190 p.)

@Mariusz08, Wiem że skopiowałem ale się dopiero uczę programować.

cały czas próbuję to jakoś ogarnąć ale mi nie wychodzi za bardzo.

komentarz 14 kwietnia 2018 przez marcin99b Szeryf (82,180 p.)
to zacznij od podstaw

kolega zaczynał od "co to zmienna" czego nawet dobrze nie zrozumiał, po czym rzucił się na Unity3D, gdzie co chwile chciał żebym mu pomagał, bo nie potrafił nawet wkleić kodu z poradnika w dobre miejsce

najpierw ogarnij podstawy i później stopniowo coraz więcej
trudno korzystać z narzędzi w danym języku, jeśli jeszcze nie znasz zbyt dobrze tego języka
3
komentarz 14 kwietnia 2018 przez Ehlert Ekspert (212,670 p.)

@Mariusz08, poczytaj o SwiftMailerze lub o PHPMailerze, zanim polecisz komuś następnym razem mail().

Podobne pytania

0 głosów
1 odpowiedź 664 wizyt
pytanie zadane 15 kwietnia 2018 w PHP przez TON Nowicjusz (190 p.)
0 głosów
1 odpowiedź 155 wizyt
0 głosów
2 odpowiedzi 131 wizyt
pytanie zadane 28 lipca 2018 w HTML i CSS przez Layoutowiec Mądrala (5,470 p.)

92,579 zapytań

141,432 odpowiedzi

319,663 komentarzy

61,964 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...