Advertisement
Guest User

Registrasi

a guest
Dec 3rd, 2016
169
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 11.15 KB | None | 0 0
  1. <?php
  2.   error_reporting( ~E_NOTICE );
  3.   ob_start();
  4.   session_start();
  5.   if( isset($_SESSION['user'])!="" ){
  6.     header("Location: index.php");
  7.   }
  8.   include_once 'konek.php';
  9.  
  10.   $error = false;
  11.  
  12.   if ( isset($_POST['submit']) ) {
  13.    
  14.     // clean user inputs to prevent sql injections
  15.     $email = trim($_POST['email']);
  16.     $email = strip_tags($email);
  17.     $email = htmlspecialchars($email);
  18.    
  19.     $username = trim($_POST['username']);
  20.     $username = strip_tags($username);
  21.     $username = htmlspecialchars($username);
  22.  
  23.     $password = trim($_POST['password']);
  24.     $password = strip_tags($password);
  25.     $password = htmlspecialchars($password);
  26.  
  27.     $nama = trim($_POST['nama']);
  28.     $nama = strip_tags($nama);
  29.     $nama = htmlspecialchars($nama);
  30.  
  31.     $alamat = trim($_POST['alamat']);
  32.     $alamat = strip_tags($alamat);
  33.     $alamat = htmlspecialchars($alamat);
  34.  
  35.     $gender = trim($_POST['gender']);
  36.     $gender = strip_tags($gender);
  37.     $gender = htmlspecialchars($gender);
  38.  
  39.     $handphone = trim($_POST['handphone']);
  40.     $handphone = strip_tags($handphone);
  41.     $handphone = htmlspecialchars($handphone);
  42.  
  43.     $payment = trim($_POST['payment']);
  44.     $payment = strip_tags($payment);
  45.     $payment = htmlspecialchars($payment);
  46.  
  47.     //$photo = trim($_POST['photo']);
  48.     //$photo = strip_tags($photo);
  49.     //$photo = htmlspecialchars($photo);
  50.  
  51.     $imgFile = $_FILES['user_image']['name'];
  52.     $tmp_dir = $_FILES['user_image']['tmp_name'];
  53.     $imgSize = $_FILES['user_image']['size'];
  54.  
  55.     //email validasi
  56.     if ( !filter_var($email,FILTER_VALIDATE_EMAIL) ) {
  57.       $error = true;
  58.       $emailError = "Mohon masukkan email valid.";
  59.     } else {
  60.       // cek email sudah di gunakan atau belum
  61.       $query = "SELECT email FROM reg WHERE email='$email'";
  62.       $result = mysql_query($query);
  63.       $count = mysql_num_rows($result);
  64.       if($count!=0){
  65.         $error = true;
  66.         $emailError = "Email ini sudah di gunakan, silahkan gunakan email yang lain.";
  67.       }
  68.     }
  69.  
  70.     // username validasi
  71.     if (empty($username)) {
  72.       $error = true;
  73.       $usernameError = "Mohon masukkan username anda.";
  74.     } else if (strlen($username) < 3) {
  75.       $error = true;
  76.       $usernameError = "Username harus di atas 3 karakter.";
  77.     } else if (!preg_match("/^[a-zA-Z]*$/",$username)) {
  78.       $error = true;
  79.       $usernameError = "Username tidak boleh mengandung spasi.";
  80.     }
  81.  
  82.     // password validasi
  83.     if (empty($password)){
  84.       $error = true;
  85.       $passwordError = "Mohon masukkan password.";
  86.     } else if(strlen($password) < 6) {
  87.       $error = true;
  88.       $passwordError = "Password harus di atas 6 karakter.";
  89.     }
  90.    
  91.     // nama validasi
  92.     if (empty($nama)) {
  93.       $error = true;
  94.       $namaError = "Mohon masukkan nama lengkap anda.";
  95.     } else if (strlen($nama) < 3) {
  96.       $error = true;
  97.       $namaError = "Nama harus di atas 3 karakter.";
  98.     } else if (!preg_match("/^[a-zA-Z ]+$/",$nama)) {
  99.       $error = true;
  100.       $namaError = "Nama harus mengandung alpabet dan spasi.";
  101.     }
  102.  
  103.     // alamat validasi
  104.     if (empty($alamat)) {
  105.       $error = true;
  106.       $alamatError = "Mohon masukkan alamat lengkap anda.";
  107.     } else if (strlen($alamat) < 4) {
  108.       $error = true;
  109.       $alamatError = "Alamat macam apa itu, cuma segitu doang karakter.";
  110.     } else if (!preg_match("/^[a-zA-Z ]+$/",$alamat)) {
  111.       $error = true;
  112.       $alamatError = "Alamat harus mengandung alpabet dan spasi.";
  113.     }
  114.  
  115.     // hp validasi
  116.     if (empty($handphone)) {
  117.       $error = true;
  118.       $handphoneError = "Mohon masukkan no handphone anda.";
  119.     } else if (strlen($handphone) < 10) {
  120.       $error = true;
  121.       $handphoneError = "Singkat kali no hp mu, cuma segitu doang angkanya.";
  122.     } else if (!preg_match("/^[0-9]*$/",$handphone)) {
  123.       $error = true;
  124.       $handphoneError = "Cuma angka ya mas, gak boleh selingkuh ke huruf.";
  125.     }
  126.  
  127.     if (empty($imgFile)) {
  128.       $error = true;
  129.       $photoError = "Silahkan pilih photo profil anda.";
  130.     } else
  131.     {
  132.       $upload_dir = 'user_images/'; // upload directory
  133.  
  134.       $imgExt = strtolower(pathinfo($imgFile,PATHINFO_EXTENSION)); // get image extension
  135.    
  136.       // valid image extensions
  137.       $valid_extensions = array('jpeg', 'jpg', 'png', 'gif'); // valid extensions
  138.    
  139.       // rename uploading image
  140.       $userpic = rand(1000,1000000).".".$imgExt;
  141.        
  142.       // allow valid image file formats
  143.       if(in_array($imgExt, $valid_extensions)){    
  144.         // Check file size '5MB'
  145.         if($imgSize < 5000000)        {
  146.           move_uploaded_file($tmp_dir,$upload_dir.$userpic);
  147.         }
  148.         else{
  149.           $errMSG = "Maaf, file anda terlalu gede wkwkwk.";
  150.         }
  151.       }
  152.       else{
  153.         $errMSG = "Maaf, Hanya JPG, JPEG, PNG & GIF files yang di izinkan.";    
  154.       }
  155.     }
  156.    
  157.    
  158.     // password encrypt SHA256();
  159.     $password = hash('sha256', $password);
  160.    
  161.     // jika tidak ada error, continue ke signup
  162.     if( !$error ) {
  163.      
  164.       $query = "INSERT INTO reg(email,username,password,nama,alamat,gender,handphone,payment,photo) VALUES('$email','$username','$password','$nama','$alamat','$gender','$handphone','$payment','$photo')";
  165.       $res = mysql_query($query);
  166.        
  167.       if ($res) {
  168.         $errTyp = "success";
  169.         $errMSG = "Register Sukses, Anda akan redirect ke halaman login dalam waktu 5 detik";
  170.         unset($email);
  171.         unset($username);
  172.         unset($password);
  173.         unset($nama);
  174.         unset($alamat);
  175.         unset($gender);
  176.         unset($handphone);
  177.         unset($payment);
  178.         unset($photo);
  179.       } else {
  180.         $errTyp = "danger";
  181.         $errMSG = "Ada yang salah, coba lagi, jangan menyerah...";
  182.       }
  183.     }
  184.   }
  185. ?>
  186.  
  187. <!DOCTYPE html>
  188. <html lang="en-US">
  189.  
  190. <head>
  191.     <!-- Meta Tag -->
  192.     <meta charset="utf-8">
  193.     <meta http-equiv="X-UA-Compatible" content="IE=edge">
  194.     <meta name="viewport" content="width=device-width, initial-scale=1">
  195.     <meta name="description" content="">
  196.     <meta name="author" content="">
  197.  
  198.     <!-- Favicon -->
  199.     <link href="images/fav1.png" rel="shortcut icon" type="image/png"/>
  200.  
  201.     <!-- Materialize -->
  202.     <link href="css/bootstrap.css" rel="stylesheet">
  203.     <link href="css/bootstrap-material-design.css" rel="stylesheet">
  204.     <link href="css/ripples.css" rel="stylesheet">
  205.    
  206.     <!-- Font Awesome -->
  207.     <link rel="stylesheet" href="css/font-awesome.min.css">
  208.  
  209.     <!-- Title -->
  210.     <script language='JavaScript'>
  211.         var txt="Flash Hosting | Host your Life - ";
  212.         var kecepatan=300;
  213.         var segarkan=null;
  214.         function bergerak()
  215.             { document.title=txt;
  216.                 txt=txt.substring(1,txt.length)+txt.charAt(0);
  217.                 segarkan=setTimeout("bergerak()",kecepatan);
  218.             }bergerak();
  219.     </script>
  220.  
  221. </head>
  222.  
  223. <body background="images/back-3440.jpg"> <!-- Comment -->
  224.  
  225.   <!-- Navbar -->
  226.   <?php
  227.   if ($login == ""){
  228.     include "navbarkeluar.php";
  229.   }
  230.   else {
  231.     include "navbarmasuk.php";
  232.   }
  233.   ?> <!-- End Navbar -->
  234.  
  235.   <!-- Register -->
  236.   <div class="container">
  237.     <div class="row" id="pwd-container">
  238.       <div class="col-md-2"></div>
  239.         <div class="col-md-8">
  240.           <section class="login-form2">
  241.             <form method="POST" action="<?php echo htmlspecialchars($_SERVER['PHP_SELF']); ?>" role="login" enctype="multipart/form-data" autocomplete="on">
  242.               <img src="images/logo.png" class="img-responsive" alt="" />
  243.  
  244.             <?php
  245.             if ( isset($errMSG) ) {
  246.               ?>
  247.               <div class="form-group">
  248.                     <div class="alert alert-danger<?php echo ($errTyp=="success") ? "success" : $errTyp; ?>">
  249.               <span class="glyphicon glyphicon-info-sign"></span> <?php echo $errMSG; ?>
  250.                       </div>
  251.                     </div>
  252.               <?php
  253.             }
  254.  
  255.             else if(isset($errMSG)){
  256.             ?>
  257.             <div class="form-group">
  258.                   <div class="alert alert-success<?php echo ($errTyp=="danger") ? "danger" : $errTyp; ?>">
  259.             <span class="glyphicon glyphicon-info-sign"></span> <?php echo $errMSG; ?>
  260.                     </div>
  261.                   </div>
  262.             <?php
  263.             }
  264.  
  265.             if ($errTyp=="success") {
  266.               echo "<meta http-equiv='refresh' content='5; url=login.php'>";
  267.             }
  268.             ?>
  269.  
  270.               <input type="email" name="email" placeholder="Email Anda" required class="form-control input-lg" value="<?php echo $email ?>" />
  271.               <span class="text-danger"><?php echo $emailError; ?></span>
  272.  
  273.               <input type="text" name="username" placeholder="Username Anda" required class="form-control input-lg" value="<?php echo $username ?>" />
  274.               <span class="text-danger"><?php echo $usernameError; ?></span>
  275.  
  276.               <input type="password" name="password" placeholder="Password" required="" class="form-control input-lg" id="password" />
  277.               <span class="text-danger"><?php echo $passwordError; ?></span>
  278.  
  279.               <input type="text" name="nama" placeholder="Nama Anda" required class="form-control input-lg" value="<?php echo $nama ?>" />
  280.               <span class="text-danger"><?php echo $namaError; ?></span>
  281.  
  282.               <input type="text" name="alamat" placeholder="Alamat Anda" required class="form-control input-lg" value="<?php echo $alamat ?>" />
  283.               <span class="text-danger"><?php echo $alamatError; ?></span>
  284.  
  285.               <label>Jenis Kelamin</label>
  286.                 <select name="gender" class="form-control">
  287.                   <option>Pria</option>
  288.                   <option>Wanita</option>
  289.                 </select>
  290.  
  291.               <input type="number" name="handphone" placeholder="No Handphone" required class="form-control input-lg" value="<?php echo $handphone ?>" />
  292.               <span class="text-danger"><?php echo $handphoneError; ?></span>
  293.  
  294.               <label>Sistem Pembayaran</label>
  295.                 <select name="payment" class="form-control">
  296.                   <option>Kartu Kredit</option>
  297.                   <option>Paypal</option>
  298.                   <option>Payoneer</option>
  299.                   <option>Payza</option>
  300.                   <option>Bank Transfer</option>
  301.                 </select>
  302.  
  303.               <label>Foto </label>
  304.               <input name="user_image" type="file" required value="<?php echo $photo ?>" accept="image/*"/>
  305.  
  306.               <button type="submit" name="submit" class="btn btn-lg btn-primary btn-block">Register</button>
  307.  
  308.             </form>
  309.           </section>  
  310.         </div>
  311.       <div class="col-md-2"></div>
  312.     </div>
  313.   </div> <!-- End Register -->
  314.  
  315.     <!-- ====================================================================== JS ====================================================================== -->
  316.     <!-- Susunan Jangan di Ubah -->
  317.     <script src="js/jquery.min.js"></script>
  318.     <script src="js/material.js"></script>
  319.     <script src="js/ripples.js"></script>
  320.     <script src="js/bootstrap.js"></script>
  321.     <!-- ====================================================================== JS ====================================================================== -->
  322.  
  323. </body>
  324.  
  325. </html>
  326. <?php ob_end_flush(); ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement