Peršokti į turinį
  • ŽAIDIMAI
  • , ŽAIDIMAI
  • ŽAIDIMAI

Galėčiau nemokamai arba už mažą kainą atlikti PHP darbą.


cheater

Ši tema yra neaktyvi. Paskutinis pranešimas šioje temoje buvo prieš 3220 dienas (-ų). Patariame sukurti naują temą, o ne rašyti naują pranešimą.

Už neaktyvių temų prikėlimą galite sulaukti įspėjimo ir pranešimo pašalinimo!

Recommended Posts

  • Parašė po 3 savaičių...
(redaguota)

gali gal nemokamai padaryt registracija php? tik registracija jokio logino nieko

Galiu.

Prašau. Jei radote kažkokių baisių klaidų praneškite.

 

Demo: Registracija

 

Siųstis: Parsisiųsti

 

config.php

<?php
// Prisijungimo prie duomenų bazės informacija
$db_host = "localhost";
$db_user = "";
$db_password = "";
$db_name = "";

// Mysql duomenų bazės lentelė kur bus įrašoma užregistruotų vartotojų informacija
define("USERS", "users");

// PDO prisijungimas
try
{
     $db_connect = new PDO("mysql:host={$db_host};dbname={$db_name}",$db_user,$db_password);
     $db_connect->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
}
catch(PDOException $e)
{
     echo $e->getMessage();
}

// Užkrauname Users klasę
include_once 'Register.php';
$Users = new Users($db_connect);
?>

Register.php

<?php
    class Users
    {
        private $database;
 
        function __construct($db_connect)
        {
            $this->database = $db_connect;
        }
 
        public function registration ($username,$password1,$password2,$email)
        {
            $username =  htmlspecialchars($username);
            $email =  htmlspecialchars($email);
            
            //Patikriname ar jau yra toks vartotojas.
            $checkuser = $this->database->prepare("SELECT * FROM ".USERS." WHERE user = :user");
            $checkuser->bindValue(":user", $username);
            $checkuser->execute();
            
            //Patikriname ar jau yra naudojamas toks el.pašto adresas.
            $checkemail = $this->database->prepare("SELECT * FROM ".USERS." WHERE email = :email");
            $checkemail->bindValue(":email", $email);
            $checkemail->execute();    
            
            $row_username = $checkuser->rowCount();
            $row_email = $checkemail->rowCount();
            
            //Ieškome klaidų.            
            if(!$username)
            {
                $klaida = "Neįvestas prisijungimo vardas!";
            }
            elseif(strlen($username) < 4)
            {
                $klaida = "Prisijungimo vardas per trumpas! Min. 4 simboliai.";
            }
            elseif(strlen($username) > 16)
            {
                $klaida = "Prisijungimo vardas per ilgas! Max. 16 simboliu.";
            }
            elseif ($row_username > 0)
            {
                $klaida = "Toks prisijungimo vardas jau egzistuoja!";
            }
            elseif(!$password1)
            {
                $klaida = "Neįvedei slaptažodžio!";
            }
            elseif(strlen($password1) < 4)
            {
                $klaida = "Slaptažodis per trumpas! Min. 4 simboliai.";
            }
            elseif(strlen($password1) > 16)
            {
                $klaida = "Slaptažodis per ilgas! Max. 16 simboliu.";
            }
            elseif(!$password2)
            {
                $klaida = "Nepakartojai slaptažodžio!";
            }
            elseif($password1 != $password2)
            {
                $klaida = "Slaptažodžiai nesutampa!";
            }
            elseif(!$email)
            {
                $klaida = "Neįvedei el. pašto!";
            }
            elseif ($row_email > 0)
            {
                $klaida = "Toks el.paštas jau naudojamas!";
            }
            elseif(!preg_match("/^[A-z0-9_.-]+[@][A-z0-9]+[ .][A-z]{2,4}$/",$email))
            {
                $klaida = "Neteisingas el. pašto formatas! Turi būti: [email protected]";
            }
            // Jeigu viskas gerai, įrašome duomenis į duomenų bazę.
            if(!$klaida)
            {
                $passwordhash = md5($password1);
                $result = $this->database->prepare("INSERT INTO ".USERS." (user,pass,email) VALUES (:user, :pass, :email)");
                $result->bindValue(":user", $username);
                $result->bindValue(":pass", $passwordhash);
                $result->bindValue(":email", $email);
                $result->execute();
                    
                $regklaida = "Ačiū ! Jūs sėkmingai užregistruotas!";
                $regklaida = '<div class="alert alert-success"><p> '.$regklaida.' </p></div>';
                return $regklaida;
            }
            // Kažkas negerai, rodome klaidą.
            else
            {
                $klaida = '<div class="alert alert-warning "><p> '.$klaida.' </p></div>';
                echo $klaida;
            }
        }
    }
?>

index.php

<?php include_once 'config.php'; ?>
<!DOCTYPE html>
<html>
  <head>
    <meta charset="windows-1257">
    <title>OOP, PDO - Registracija</title>
    <!-- Sets initial viewport load and disables zooming  -->
    <meta name="viewport" content="initial-scale=1, maximum-scale=1, user-scalable=no">
    <!-- SmartAddon.com Verification -->
    <meta name="smartaddon-verification" content="936e8d43184bc47ef34e25e426c508fe" />
    <!-- site css -->
    <link rel="stylesheet" href="theme/css/site.min.css">
    <link href="http://fonts.googleapis.com/css?family=Open+Sans:400,300,600,800,700,400italic,600italic,700italic,800italic,300italic" rel="stylesheet" type="text/css">
    <!-- HTML5 shim, for IE6-8 support of HTML5 elements. All other JS at the end of file. -->
    <!--[if lt IE 9]>
      <script src="theme/js/html5shiv.js"></script>
      <script src="theme/js/respond.min.js"></script>
    <![endif]-->
    <script type="text/javascript" src="theme/js/site.min.js"></script>
  </head>
<body>
  <div class="index">
        <h1>
            Registracija
        </h1>
    <?php
    $user = $_POST['user'];
    $pass = $_POST['pass'];
    $pass2 = $_POST['pass2'];
    $email = $_POST['email'];

    if (isset($_POST['post']))
    {
        $register = $Users->registration($user,$pass,$pass2,$email);
    }
    if($register)
    {
        echo $register;
    }
    else
    {        
        echo '
        <form method="POST" class="login-form">
            <div class="form-group col-xs-6">
                <label for="exampleInputEmail1">Prisijungimo vardas</label>
                <input type="text" name="user" value="'.$user.'" class="form-control" placeholder="Prisijungimo vardas" required>
            </div>
   
            <div class="form-group col-xs-6">
                <label for="exampleInputPassword1">Slaptažodis</label>
                <input type="password" name="pass" class="form-control" placeholder="Slaptažodis" required>
            </div>
 
            <div class="form-group col-xs-6">
                <label for="exampleInputPassword1">Pakartokite slaptažodį</label>
                <input type="password" name="pass2" class="form-control" placeholder="Pakartokite slaptažodį" required>
            </div>
 
            <div class="form-group col-xs-6">
                <label for="exampleInputPassword1">El.Paštas</label>
                <input type="email" name="email" value="'.$email.'" class="form-control" placeholder="El.Paštas" required>
            </div>
 
                <button type="submit" name="post" class="btn btn-default">Registruotis</button>
        </form>';
    }
    ?>
    </div>
  </body>
</html>

SQL užklausa.

CREATE TABLE `users` (
  `id`         INT     (10)  NOT NULL auto_increment,
  `user`    VARCHAR (50)  NOT NULL,
  `pass`    VARCHAR (500)  NOT NULL,
  `email`    VARCHAR (250)  NOT NULL,
  `hashas` TEXT          NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=MyISAM CHARSET=utf8 COLLATE=utf8_unicode_ci;
Redaguota , nario CheateR
Nuoroda į komentarą
Dalintis per kitą puslapį

Jis norėjo pasakyti, kad nenaudotum md5(sha1), nes slaptažodžius iškraipo. Aišku dabar? ;)

ne, nenorejau

 

jis norėjo pasakyt, kad tu hashini orą, tokio var kaip $password nesi sukūręs..

sitas irgi tiesa bet norejau pasakyt kad md5+sha1 yra nesaugu ir htmlspecialchars idejimas i DB yra kvaila

Nuoroda į komentarą
Dalintis per kitą puslapį

Ši tema yra neaktyvi. Paskutinis pranešimas šioje temoje buvo prieš 3220 dienas (-ų). Patariame sukurti naują temą, o ne rašyti naują pranešimą.

Už neaktyvių temų prikėlimą galite sulaukti įspėjimo ir pranešimo pašalinimo!

Prisijungti prie diskusijos

Palikti atsakymą galite iš karto, o užsiregistruoti vėliau. Jeigu jau turite paskyrą mūsų forume, Prisijunkite.

Svečias
Atsakyti šioje temoje...

×   Įklijuotas tekstas turi teksto formatavimą.   Pašalinti teksto formatavimą

  Galimi tik 75 veidukai.

×   Nuoroda buvo automatiškai įterpta.   Įterpti nuorodą paprastai

×   Jūsų ankstesnis pranešimas buvo atkurtas.   Išvalyti redaktorių

×   Jūs negalite įkelti nuotraukas tiesiogiai.Įkelkite arba įdėkite nuotraukas iš URL.

  • Šiame puslapyje naršo:   0 nariai

    • Nėra registruotų narių peržiūrinčių šį forumą.

Skelbimai


×
×
  • Sukurti naują...