cheater

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

Recommended Posts

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

Dalintis šį pranešimą


Nuoroda iki šio pranešimo
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

Dalintis šį pranešimą


Nuoroda iki šio pranešimo
Dalintis per kitą puslapį

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ą.