Reputation: 357
I'm trying to "transform" a form action into an ajax call. My form:
<!-- <form method="POST" onSubmit="return doSubmitLogic()" action="action.scripts.php" >
<input type="hidden" name="actiune" value="login" />
<div>
<label> Email </label>
<input type="email" name = "email" id="email" /><span id="emailErr"></span >
</div>
<div>
<label> Password </label>
<input type="password" name = "password" id="password" /> <span id="passErr"></span >
</div>
<div>
<input id ="submitBtn" type="submit" name="button" value="Send"/>
</div>
And what I tried to do with my ajax:
$(document).ready(function(){
$("#submitBtn").click(function(e){
e.preventDefault();
$.ajax({
type: "POST",
url: "functions.php",
data: {
Email: $("#email").val(),
Password: $("#password").val(),
},
success: function(result){
alert(result);
},
error: function (error){
alert("Error");
}
});
});
});
Also my piece of code "functions.php" is composed by many checking if the action has a specific value and if so to do something.So:
if ($_POST['actiune']==="login") {
$email = $_POST['email'];
$password = $_POST['password'];
$encript_pass = md5($password);
$query = "select * from user where email='$email' and password='$encript_pass'";
$result = mysql_query($query) or die ("Error in query: $query " . mysql_error());
$row = mysql_fetch_array($result);
if (!filter_var($email, FILTER_VALIDATE_EMAIL) === false) {
echo("$email is a valid email address");
} else {
echo("$email is not a valid email address");
}
}
when I run it it give me an alert saying error. Any syggestions?
Upvotes: 1
Views: 941
Reputation: 2166
You need to pass actiune
with your datas too.
data: {
email: $("#email").val(),
password: $("#password").val(),
actiune: 'login'
},
I also removed the uppercases from the field you pass since you require password
and email
in your php not Password
and Email
Upvotes: 1
Reputation: 852
Just replace your code with this, notice the "actiune" under the Email & Password
$(document).ready(function(){
$("#submitBtn").click(function(e){
e.preventDefault();
$.ajax({
type: "POST",
url: "functions.php",
data: {
Email: $("#email").val(),
Password: $("#password").val(),
actiune: $('input[name="actiune"]').val()
},
success: function(result){
alert(result);
},
error: function (error){
alert("Error");
}
});
});
});
Upvotes: 2