jQuery AJAX kald til php
Nu har jeg bøvlet med dette i jeg ved ikke hvor lang tid.Jeg har en side hvor man kan oprette en bruger. Der der bliver klikket på "submit", kalder den dette jQuery nedenfor. Som kalder til en php fil der hedder process.php, og sender nogle variabler med. Mit problem er bare at jeg ikke kan få den til at kalde "Error"/"false".
Jeg laver et tjek i mit php om brugernavnet allerede findes, og hvis det gør det så siger den "return false". Men mit jQuery opfatter det åbenbart som true, og sriver "succes". Men den laver dog ikke en ny bruger. Den kalder bare det forkerte.
jQuery AJAX
------------------------------------->
<script type="text/javascript">
$(document).ready(function() {
//if submit button is clicked
$("#submit").click(function () {
//Get the data from all the fields
var name = $("input[name=user_username]");
var email = $("input[name=user_email]");
if (name.val()=="") {
name.addClass("hightlight");
console.log("NAME FEJL");
return false;
} else { name.removeClass("hightlight"); }
if (email.val()=="") {
email.addClass("hightlight");
console.log("EMAIL FEJL");
return false;
} else { email.removeClass("hightlight"); }
//show the loading sign
$(".loading").show();
$.ajax({
url: "process.php",
async: false,
data: "name="+name.val()+"&email="+email.val(),
success: function() { alert("Succes"); },
error: function() { alert("Error"); }
});
//cancel the submit button default behaviours
return false;
});
});
</script>
process.php
-------------------------------->
<?php
include("db.php");
//Sætter vairablerne
$user_username = ($_GET['name']) ? $_GET['name'] : $_POST['name'];
$user_email = ($_GET['email']) ? $_GET['email'] : $_POST['email'];
$user_password_first = "ajaxtest";
$user_password_secound = "ajaxtest";
$user_firstname = "ajaxtest";
$user_lastname = "ajaxtest";
$user_role = "ajaxtest";
$user_theme = "ajaxtest";
$user_date = date('d.m.Y');
//Tjekker om brugeren findes
$run = mysql_query('SELECT * FROM users WHERE username = "' . $user_username . '"');
if(mysql_num_rows($run) <= 0) {
mysql_query("INSERT INTO users (username, password, firstname, lastname, email, admin, theme, date)
VALUES ('$user_username', '$user_password_secound', '$user_firstname','$user_lastname', '$user_email', '$user_role', '$user_theme', '$user_date')")
or die(mysql_error());
header("location:user-new.php");
return true;
}
if(mysql_num_rows($run) > 0) {
return false;
}
return false;
?>
