Advertisement
mipdevp

register_email

Jan 21st, 2020
105
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.42 KB | None | 0 0
  1. <?php
  2. include('functions.php'); //manggil si koneksi
  3. use PHPMailer\PHPMailer\PHPMailer;
  4. use PHPMailer\PHPMailer\Exception;
  5.  
  6. if (isset($_POST['register'])) {
  7. //validasi inputan user
  8. $nama_user = mysqli_real_escape_string($conn, $_POST['nama_user']);
  9. $email = mysqli_real_escape_string($conn, $_POST['email']);
  10. $password = mysqli_real_escape_string($conn, $_POST['password']);
  11. $Cpassword = mysqli_real_escape_string($conn, $_POST['Cpassword']);
  12.  
  13. if ($password != $Cpassword) {
  14. echo "<script>alert('Password not Same!');document.location='register.php';
  15. </script>";
  16. } else {
  17. $sql = mysqli_query($conn, "SELECT id FROM tbl_user WHERE email = '$email'");
  18. if (mysqli_num_rows($sql) > 0) {
  19. echo "<script>alert('Email already exists in the Database!');document.location='register.php';
  20. </script>";
  21. } else {
  22. $token = 'qwertyuiopasdfghjklzxcvbnmQWERTYUIOPASDFGHJKLZXCVBNM123456789!@$/()*';
  23. $token = str_shuffle($token);
  24. $token = substr($token, 0, 10);
  25. $password = password_hash($password, PASSWORD_DEFAULT);
  26. $query = "INSERT INTO tbl_user (`nama_user`, `email`, `password`, `isEmailConfirmed`, `token`) VALUES ('$nama_user', '$email', '$password','0','$token')";
  27.  
  28. require 'vendor/autoload.php';
  29.  
  30. // Passing `true` enables exceptions
  31. $mail = new PHPMailer(true);
  32. try {
  33. //Server settings
  34. // Enable verbose debug output
  35. $mail->SMTPDebug = 0;
  36. // Set mailer to use SMTP
  37. $mail->isSMTP();
  38. // Specify main and backup SMTP servers
  39. $mail->Host = 'smtp.gmail.com';
  40. // Enable SMTP authentication
  41. $mail->SMTPAuth = true;
  42. // SMTP username
  43. $mail->Username = 'pajakinfoo@gmail.com';
  44. // SMTP password
  45. $mail->Password = '123Daftar';
  46. // Enable TLS encryption, `ssl` also accepted
  47. $mail->SMTPSecure = 'ssl';
  48. // TCP port to connect to
  49. $mail->Port = 465;
  50. //Recipients
  51. $mail->setFrom('pajakinfoo@gmail.com', 'Info@Pajak');
  52. // Add a recipient
  53. $mail->addAddress($email, $nama_user);
  54.  
  55. // Set email format to HTML
  56. $mail->isHTML(true);
  57. $mail->Subject = 'Please verify email!';
  58. $mail->Body = "Please click on the link below :<br><br>
  59. <a href='localhost/lp3i/confirm.php?email=$email&token=$token'>Click Here</a>";
  60.  
  61. $mail->send();
  62. echo "<script>alert('You have been registered! Please verify your email');document.location='login.php';
  63. </script>";
  64. } catch (Exception $e) {
  65. echo "<script>alert('Something Wrong Happened! Please try again!');document.location='register.php';
  66. </script>";
  67. }
  68.  
  69. if (mysqli_query($conn, $query)) {
  70. echo "<script>alert('Register Done!');document.location='login.php';
  71. </script>";
  72. } else {
  73. echo "<script>alert('Register Failed!');document.location='register.php';
  74. </script>";
  75. }
  76. }
  77. }
  78. }
  79. ?>
  80.  
  81. <!DOCTYPE html>
  82. <html lang="en">
  83.  
  84. <head>
  85.  
  86. <meta charset="utf-8">
  87. <meta http-equiv="X-UA-Compatible" content="IE=edge">
  88. <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
  89. <meta name="description" content="">
  90. <meta name="author" content="">
  91.  
  92. <title>SB Admin - Register</title>
  93.  
  94. <!-- Custom fonts for this template-->
  95. <link href="vendor/fontawesome-free/css/all.min.css" rel="stylesheet" type="text/css">
  96.  
  97. <!-- Custom styles for this template-->
  98. <link href="css/sb-admin.css" rel="stylesheet">
  99.  
  100. </head>
  101.  
  102. <body class="bg-dark">
  103.  
  104. <div class="container">
  105. <div class="card card-login mx-auto mt-5">
  106. <div class="card-header">Register an Account</div>
  107. <div class="card-body">
  108. <form action="" method="post">
  109. <div class="form-group">
  110. <div class="form-label-group">
  111. <input type="text" id="inputNama" class="form-control" placeholder="Email address" required="required" autofocus="autofocus" name="nama_user">
  112. <label for="inputNama">Nama User</label>
  113. </div>
  114. </div>
  115. <div class="form-group">
  116. <div class="form-label-group">
  117. <input type="email" id="inputEmail" class="form-control" placeholder="Email address" required="required" autofocus="autofocus" name="email">
  118. <label for="inputEmail">Email</label>
  119. </div>
  120. </div>
  121. <div class="form-group">
  122. <div class="form-label-group">
  123. <input type="text" id="inputPassword" class="form-control" placeholder="Password" required="required" name="password">
  124. <label for="inputPassword">Password</label>
  125. </div>
  126. </div>
  127. <div class="form-group">
  128. <div class="form-label-group">
  129. <input type="text" id="inputPassword2" class="form-control" placeholder="Password" required="required" name="Cpassword">
  130. <label for="inputPassword2">Konfirmasi Password</label>
  131. </div>
  132. </div>
  133. <button type="submit" name="register" class="btn btn-primary btn-block">REGISTER</button>
  134. </form>
  135. <div class="text-center">
  136. <a class="d-block small mt-3" href="login.php">Login</a>
  137. </div>
  138. </div>
  139. </div>
  140. </div>
  141.  
  142. <!-- Bootstrap core JavaScript-->
  143. <script src="vendor/jquery/jquery.min.js"></script>
  144. <script src="vendor/bootstrap/js/bootstrap.bundle.min.js"></script>
  145.  
  146. <!-- Core plugin JavaScript-->
  147. <script src="vendor/jquery-easing/jquery.easing.min.js"></script>
  148.  
  149. </body>
  150.  
  151. </html>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement