Postingan lainnya
AJAX + PHP login
tes.php
<form name="flogin">
<input type="email" name="email" autocomplete="off" required>
<input type="password" name="password" autocomplete="off" required>
<button type="submit" onclick="return ceklogin()">Sign In</button>
</form>
<script type="text/javascript">
function ceklogin(){
var email=document.forms['flogin'].email.value;
var password=document.forms['flogin'].password.value;
$.ajax({
url: 'proses.php',
method: 'POST',
data: {mail: mail, pass: pass},
cache: false,
dataType: 'html',
success: function(response) {
if(response =="success")
{
alert("login sukses");
}
else
{
alert("login gagal");
}
}
});
}
</script>
proses.php
<?php
include 'libraries/config.php';
include 'function.php';
$email = $_POST['email'];
$password = $_POST['password'];
$cek=mysqli_query($conn, "SELECT * FROM user_csr WHERE email='$email' AND csr_pwd='$password'");
$result = mysqli_fetch_assoc($cek);
if(mysqli_num_rows($cek)>0){
echo "success";
}
else
{
echo "failed";
}
?>
saya dapat respon failed alias login gagal.. padahal di database sudah sesuai email dan passswordnya sudah benar.. apa ada yg salah atau yg kurang tentang ajaxnya ? mohon master sekalian dibantu :)
6 Jawaban:
Dibagian form inputny ditambahin id biar lebih spesifik.. misal
tes.php
<form name="flogin">
<input type="email" name="email" id="email" autocomplete="off" required>
<input type="password" name="password" id="password" autocomplete="off" required>
<button type="submit" onclick="return ceklogin()">Sign In</button>
</form>
Terus di jsnya
Var mail = document.getElementById('email').value;
Var pass = document.getElementById('password').value;
// bagian backendnya disesuaikan
Semoga membantu
di
data: {mail: mail, pass: pass}
valuenya ente buat mail dan yg tertulis adalah email bukan mail, solusinya mungkin diganti jadi kayak gini:
data: {email: email, password: password}
data pertama adalah namenya dan kedua adalah valuenya, jika namenya adalah mail maka di proses.php-> $email = $_POST['mail'];
contoh:
var email=document.forms['flogin'].email.value;
var password=document.forms['flogin'].password.value;
data: {mail: email, pass: password}
<?php
$email = $_POST['mail'];
$password = $_POST['pass'];
mungkin bisa membantu
tetep tidak bisa.. mengapa ya ? bisa dicek akang @mhdadil & @BroGoeh :
tes.php
<form>
<input type="email" name="email" id="mail" autocomplete="off" required>
<input type="password" name="password" id="pass" autocomplete="off" required>
<button type="submit" onclick="return ceklogin()">Sign In</button>
</form>
<script type="text/javascript">
function ceklogin(){
var email = document.getElementById('mail').value;
var password = document.getElementById('pass').value;
$.ajax({
url: 'proses.php',
method: 'POST',
data: {email: email, password: password},
dataType: 'html',
success: function(html) {
if(html =='true')
{
alert("login success");
}
else
{
alert("login failed");
}
}
});
}
</script>
proses.php
<?php
include 'libraries/config.php';
include 'function.php';
$email = trim($_POST['email']);
$password = trim($_POST['password']);
$cek=mysqli_query($conn, "SELECT * FROM user_csr WHERE `email`='{$email}' AND `csr_pwd`='{$password}'");
$result = mysqli_fetch_assoc($cek);
if(mysqli_num_rows($cek)>0)
{
echo true;
}
else
{
echo false;
}
?>
outputnya tetep login failed..
coba kayak gini
<script type="text/javascript">
function ceklogin(){
var email = document.getElementById('mail').value;
var password = document.getElementById('pass').value;
$.ajax({
url: 'proses.php',
method: 'POST',
data: {email: email, password: password},
success: function(data) {
if(data =='true')
{
alert("login success");
}
else
{
alert("login failed");
}
}
});
}
</script>
terus diprosesnya
<?php
include 'libraries/config.php';
include 'function.php';
$email = trim($_POST['email']);
$password = trim($_POST['password']);
// query ga usah pake kurung kurawal buat nilainya terus keynya gak pake back quote
$cek=mysqli_query($conn, "SELECT * FROM user_csr WHERE email='$email' AND csr_pwd='$password'");
$result = mysqli_fetch_assoc($cek);
if(mysqli_num_rows($cek)>0)
{
echo true;
}
else
{
echo false;
}
?>
semoga membantu
Jawaban Terpilih
$.ajax itu fungsi jquery gan.. ya pasti ndk bisa..coba gini
// kalau agan gk online ya download dulu..
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script type="text/javascript">
$(document).ready(function(){
$('#submit').click(function(){
var email = $('#email').val();
var password = $('#password').val();
$.ajax({
url: 'proses.php',
method: 'POST',
data: {email: email, password: password},
dataType: 'html',
success: function(html) {
if(html == true)
{
alert("login success");
//tujuan
self.location.href = "tujuan.php";
}
else
{
alert("login failed");
location.reload();
}
}
});
});
});
</script>
<form method="post" action="">
<input type="email" name="email" id="email" autocomplete="off" required autofocus>
<input type="password" name="password" id="password" autocomplete="off" required>
<input type="submit" name="submit" id="submit">
</form>
proses.php
<?php
$email = trim($_POST['email']);
$password = trim($_POST['password']);
$cek = mysqli_query($conn, "SELECT * FROM user_csr WHERE email='$email' AND csr_pwd='$password'");
// jgn lupa kalau memang pake enkripsi .. ini contoh pake md5 / password_verify / yg lain.. kalau gk yg gk masalah..
// $password = md5($password);
$result = mysqli_fetch_assoc($cek);
if(mysqli_num_rows($cek)>0)
{
echo true;
}
else
{
echo false;
}
?>
Good Luck (^_^)/..
kenapa valuenya jadi true?
success: function(html) {
if(html =='true')
{
alert("login success");
}
else
{
alert("login failed");
}
}
yg ente tulis kan success bukan true jika querynya berhasil. coba ganti jadi gini
success: function(html) {
if(html =='success')
{
alert("login success");
}
else
{
alert("login failed");
}
}
btw ente udah linked source jquerynya kan?