Undefined variable: email in

Dear teman-teman sekolah koding,

saya masih pemula dalam coding php.

berikut saya sedang ingin membuat register page pada sebuah website, untuk register page ini rencananya saya ingin ketika user mendaftar, password yang dimasukkan langsung ter-encrypt dengan hashing md5. ketika di run muncul error seperti gambar dibawah, saya benar-benar bingung karena sudah coba untuk merubah format syntax tetap tidak berhasil juga. terima kasih sebelumnya.

berikut adalah kode dari page yang sedang dibuat


<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title>Register</title>
    </head>
    <body>
        <h1>Register</h1>
        <form action="" method="post">
            <label for="name">Nama</label>
            <input type="text" id="name" name="name"><br>
            <label for="email">Email</label>
            <input type="text" id="email" name="email"><br>
            <label for="password">Password</label>
            <input type="text" id="password" name="password"><br>
            <input type="submit" name="submit" value="Register"></button>
        </form>
        <p><a href="login.php">Login</a>|<a href="register.php">Register</a></p>
    </body>
</html>

 <?php

if(isset($_POST['submit']))
{
  //mysql_real_escape_string() escapes special character in a string for use in an SQL statement
  $name = mysqli_real_escape_string($_POST['name']);
  $email = mysqli_real_escape_string($_POST['email']);
  $password = mysqli_real_escape_string($_POST['password']);
}

 //include database connection
 $con=mysqli_connect('localhost', 'root', '') or die(mysqli_error());
 mysqli_select_db($con, 'test_login') or die("gagal koneksi ke DB");

 $query = mysqli_query("SELECT * FROM `users` WHERE `email`='".$email."'");
 $numrows = mysqli_num_rows($query);


 if($numrows==0)
 {
   //md5() calculates the MD5 hash of a string
  $encrypt_password = md5($password);

  $sql = "INSERT INTO users(name, email, password) VALUES ('$name', '$email', '$encrypt_password')";

  $result = mysqli_query($sql);

  if($result!=1)
  {
    echo "Gagal daftar";
  }
  else
  {
    echo "Akun telah terdaftar";
  }
 }
 else
 {
   echo "Email berikut sudah ada, silahkan coba lagi dengan email lain";
 }
 ?>

avatar springfieldm1903
@springfieldm1903

5 Kontribusi 0 Poin

Diperbarui 6 tahun yang lalu

2 Jawaban:

Jawaban Terpilih

mysqli harus ada 2 parameter gan <pre> &lt;?php

if(isset($_POST['submit'])) { //mysql_real_escape_string() escapes special character in a string for use in an SQL statement $name = mysqli_real_escape_string($_POST['name']); $email = mysqli_real_escape_string($_POST['email']); $password = mysqli_real_escape_string($_POST['password']); }

//include database connection $con=mysqli_connect('localhost', 'root', '') or die(mysqli_error()); mysqli_select_db($con, 'test_login') or die("gagal koneksi ke DB");

$query = mysqli_query($con, "SELECT * FROM users WHERE email='".$email."'"); // tambah $conn diawal $numrows = mysqli_num_rows($query);

if($numrows==0) { //md5() calculates the MD5 hash of a string $encrypt_password = md5($password);

$sql = "INSERT INTO users(name, email, password) VALUES ('$name', '$email', '$encrypt_password')";

$result = mysqli_query($con, $sql); // tambah $conn diawal

if($result!=1) { echo "Gagal daftar"; } else { echo "Akun telah terdaftar"; } } else { echo "Email berikut sudah ada, silahkan coba lagi dengan email lain"; } ?&gt; </pre>

avatar dianarifr
@dianarifr

642 Kontribusi 316 Poin

Dipost 6 tahun yang lalu

Ok, terima kasih atas jawabannya kak.

avatar springfieldm1903
@springfieldm1903

5 Kontribusi 0 Poin

Dipost 6 tahun yang lalu

Login untuk ikut Jawaban