Postingan lainnya
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";
}
?>
2 Jawaban:
Jawaban Terpilih
mysqli harus ada 2 parameter gan <pre> <?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"; } ?> </pre>
Ok, terima kasih atas jawabannya kak.