Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/456.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/237.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 为什么我的ajax代码实际上没有发送?_Javascript_Php_Ajax - Fatal编程技术网

Javascript 为什么我的ajax代码实际上没有发送?

Javascript 为什么我的ajax代码实际上没有发送?,javascript,php,ajax,Javascript,Php,Ajax,我有我的ajax代码,我正试图从textbox的值发布它。我想将信息发送到我的php页面,在那里进行查询 函数addUser(){ myOutput=document.getElementById('add_user_result'); var成员_username=$('#username_name').val(); var member_email=$('#email_name').val(); var成员_cpukey=$('#cpukey_name').val(); 如果(成员\用户名

我有我的ajax代码,我正试图从textbox的值发布它。我想将信息发送到我的php页面,在那里进行查询

函数addUser(){
myOutput=document.getElementById('add_user_result');
var成员_username=$('#username_name').val();
var member_email=$('#email_name').val();
var成员_cpukey=$('#cpukey_name').val();
如果(成员\用户名!=“”&成员\电子邮件!=“”&成员\ cpukey!=“”){
$.ajax({
类型:“POST”,
url:'includes/ajax\u data\u add\u member.php',
数据:{username:member\u username,email:member\u email,cpukey:member\u cpukey},
成功:功能(响应){
$(“#添加#用户#结果”).show();
$('#add_user_result').fadeOut(3000).html(响应);
标题('Location:admin_members.php');
},
错误:函数(){
$(“#添加#用户#结果”).show();
$('#add_user_result').fadeOut(3000).html(响应);
标题('Location:admin_members.php');
}
});
}否则{
$(“#添加#用户#结果”).show();
$(“#添加_用户_结果”).fadeOut(3000);
myOutput.innerHTML=“您必须填写所有空格。”;
}
返回false;
}

添加用户
添加用户
帐户贷项
免费天才学分
会员服务器天数
添加到所有用户

使用
&&
而不是
&
将导致条件正确工作

有关原因的更多详细信息,请参阅


另外,您没有在ajax的错误函数中定义
响应
,它会抛出错误。

首先,您需要在JavaScript中使用双“&”来表示“和”

if(member\u username!=“”&member\u email!=“”&member\u cpukey!=“”){

现在我们假设请求已经被很好地发送到服务器端,您在那里设置的请求将无法工作,因为您有一个很大的语法错误,您不能在SQL
INSERT-INTO-users-SET-usernam
正确的形式是这样写:

"INSERT INTO users VALUES('$username','$default_password','$email','$cpukey')" 

另一点是,
“header('Location:admin_members.php');”
是一个php代码,因此不会在JS代码中解释,因此我建议您使用
window.Location.href=“admin_members.php”
我希望它能有所帮助。

我找到了它无法正常工作的原因

我在php文件中调用数据库文件太晚了。 我的新工作代码是:

<?php
session_start();
include_once('../configuration/db.php');

function user_session_timeout_manual() {
global $con;
    $grab_user_timeout_sql = mysqli_query($con, "SELECT user_session_timeout FROM sitesettings");
    $row = mysqli_fetch_array($grab_user_timeout_sql);
    return $row['user_session_timeout'];
}

function grab_default_user_password() {
global $con;
    $grab_default_user_password_sql = mysqli_query($con, "SELECT default_user_insert_password FROM sitesettings");
    $row = mysqli_fetch_array($grab_default_user_password_sql);
    return $row['default_user_insert_password'];
}

if(!isset($_SESSION['username']) || time() - $_SESSION['login_time'] > user_session_timeout_manual()) {
    unset($_SESSION['login']);
    unset($_SESSION['username']);
    session_destroy();
    header("Location: index.php");
}

else {
    $_SESSION['login_time'] = time();

if(!isset($_SESSION['login']) || $_SESSION['login'] !== true) {
    unset($_SESSION['login']);
    unset($_SESSION['username']);
    session_destroy();
    header('Location: index.php');
}
else {

if(!empty($_POST) && isset($_POST)) {
    $username_grab          = mysqli_real_escape_string($con, $_POST['username']);
    $email_grab             = mysqli_real_escape_string($con, $_POST['email']);
    $cpukey_grab            = mysqli_real_escape_string($con, $_POST['cpukey']);
    $default_password_grab  = grab_default_user_password();

    $insert_query = mysqli_query($con, "INSERT INTO users SET username = '$username_grab', password = '$default_password_grab',  email = '$email_grab', cpukey='$cpukey_grab'");
    if($insert_query) {
        echo '<font style="color: green;">Successfully Inserted user <b>'.$username_grab.'</b></font>';
        echo '<META HTTP-EQUIV="Refresh" CONTENT="3; URL=admin_members.php">';
    }
    else {
        echo '<font style="color: red;">Failed to insert user <b>'.$username_grab.'</b></font>';
        echo '<META HTTP-EQUIV="Refresh" CONTENT="3; URL=admin_members.php">';
    }
}

}}

?>

&是一个位运算符,你是说&&?@PhiterFernandes是的,我是说&&,我更改了javascript,但它仍然给我所有需要输入的字段的消息。@BenZaMusic有什么更新吗?虽然&&vs&是OP应该做的事情,但似乎是“逻辑”事实上是正确的是,逻辑是正确的。我调试了他的代码,它们不起作用的原因变得很清楚。@PhiterFernandes我现在用的是:`if(member\u username!=''&&member\u email!=''&&member\u cpukey!=''但它仍然在说“你必须填空。”在mysql中,您可以使用SET进行插入。它是一个mysql扩展。
“插入用户值(“$username”、“$default\u password”、“$email”、“$cpukey”)”
这是如何指定要输入的列的?它将按照数据库中字段的顺序异步插入