Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/265.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
使用AJAX+返回值;JQuery+;PHP_Php_Jquery - Fatal编程技术网

使用AJAX+返回值;JQuery+;PHP

使用AJAX+返回值;JQuery+;PHP,php,jquery,Php,Jquery,基本上,我正在尝试使用JQuery+AJAX从PHP文件返回任何内容,以及它如何不返回任何内容。我试图找出问题,但没能解决。 PHP文件工作得非常好 有人能告诉我为什么不工作吗 $("#iForm").submit( function(){ var user = $("input:[name=username]").val(); var password = $("input:[name=password]").val(); var dbName = $("input:[

基本上,我正在尝试使用JQuery+AJAX从PHP文件返回任何内容,以及它如何不返回任何内容。我试图找出问题,但没能解决。 PHP文件工作得非常好

有人能告诉我为什么不工作吗

$("#iForm").submit( function(){
    var user = $("input:[name=username]").val();
    var password = $("input:[name=password]").val();
    var dbName = $("input:[name=dbName]").val();
    var server = $("input:[name=server]").val(); 


        $.get("1.php", {username: user, password: password, dbName: dbName, server: server },function(data){
            $("p").html (data);
            return false;
            })


    })

})

  </script>
<!-- Yes or No form -->
<form  name="yN" style= "display: show; margin-left: auto; margin-right: auto; width: 6em">
<input type="radio" name="yN" value="1">yes</input>
<input type="radio" name="yN" value="0">no</input>
<button id=1 >click me!</button>
</form>

<!-- Login Form -->
<form id="iForm"  style= "display: show">
<label id="username" >Username</label>
<input id="username" name="username"/>
<label id="password">Password</label>
<input id="password" name="password" />
<label id="server" >Server</label>
<input id="server" name="server"/>
<label id="dbName" >dbName</label>
<input id="dbName" name="dbname"/>

<input type="submit" value="submit" />
<p> </p>
$(“#iForm”).submit(函数(){
var user=$(“输入:[name=username]”).val();
var password=$(“输入:[name=password]”).val();
var dbName=$(“输入:[name=dbName]”).val();
var server=$(“输入:[name=server]”).val();
$.get(“1.php”,{username:user,password:password,dbName:dbName,server:server},函数(数据){
$(“p”).html(数据);
返回false;
})
})
})
对
不
点击我!
用户名
密码
服务器
数据库名

PHP文件
function createfile ($dbFile) {
        //Creates File and populates it.
        $fOpen = fopen($dbFile, 'w');
global $username, $password, $server, $dbname;
            $fString .= "<?php\n";
            $fString .= "// Database Constants\n";
            $fString .= "\$DB_SERVER =" . "\"" . $server . "\";\n";
            $fString .= "\$DB_USER =" . "\"" . $username . "\";\n";
            $fString .= "\$DB_PASS =" . "\"" . $password . "\";\n";
            $fString .= "\$DB_NAME =". "\"" . $dbname . "\";\n";
            $fString .= "?>";

        fwrite($fOpen, $fString);
        fclose($fOpen);
return true;
}




$username = $_GET['username'];
$password = $_GET['password'];
$server = $_GET['server'];
$dbname = $_GET['dbname'];


try {
$db = new PDO ('mysql:host=' .$server.';dbname='.$dbname,$username,$password);

if ($db) { //if succesful at connecting to the DB

if (file_exists($dbFile)){
    if (is_readable($dbFile) && is_writable($dbFile)){ 

        //Creates File, populates it and redirects the user

    if (createfile($dbFile)) { 
    echo "finito";
    exit ();
            }


        } else { 

        echo "The file {$dbFile} cannot be accessed. Please configure the file manualy or grant Write and Read permission.";  }

    } else {

        //Creates File, populates it and redirects the user

    if (createfile($dbFile)) {

    echo "finito";
    exit ();
            }

        }


}

} catch (PDOException $e) { //Catchs error if can't connect to the db.
    echo  'Connection failed: ' . $e->getMessage();
}





?>
函数createfile($dbFile){
//创建文件并填充它。
$fOpen=fOpen($dbFile,'w');
全局$username、$password、$server、$dbname;
$f字符串=“”;
fwrite($fOpen,$fString);
fclose($fOpen);
返回true;
}
$username=$_GET['username'];
$password=$_GET['password'];
$server=$_GET['server'];
$dbname=$_GET['dbname'];
试一试{
$db=new-PDO('mysql:host='.$server'.;dbname='.$dbname,$username,$password);
if($db){//if成功连接到数据库
如果(文件_存在($dbFile)){
如果(可读($dbFile)和可写($dbFile)){
//创建文件、填充文件并重定向用户
如果(createfile($dbFile)){
呼应“菲尼托”;
退出();
}
}否则{
echo“无法访问文件{$dbFile}。请手动配置文件或授予写入和读取权限。”;}
}否则{
//创建文件、填充文件并重定向用户
if(createfile($dbFile)){
呼应“菲尼托”;
退出();
}
}
}
}catch(PDOException$e){//catch错误,如果无法连接到数据库。
回显“连接失败:”。$e->getMessage();
}
?>

假设您的问题是没有“return false”;或者
e.preventDefault()
submit
处理程序中 请尝试以下代码:

$("#iForm").submit( function(e){
    e.preventDefault();
    var user = $("input:[name=username]").val();
    var password = $("input:[name=password]").val();
    var dbName = $("input:[name=dbName]").val();
    var server = $("input:[name=server]").val(); 


        $.get("1.php", {username: user, password: password, dbName: dbName, server: server },function(data){
            $("p").html (data);
            return false;
            })


    })

})

假设您的问题是不存在“returnfalse”;或者
e.preventDefault()
submit
处理程序中 请尝试以下代码:

$("#iForm").submit( function(e){
    e.preventDefault();
    var user = $("input:[name=username]").val();
    var password = $("input:[name=password]").val();
    var dbName = $("input:[name=dbName]").val();
    var server = $("input:[name=server]").val(); 


        $.get("1.php", {username: user, password: password, dbName: dbName, server: server },function(data){
            $("p").html (data);
            return false;
            })


    })

})

您的选择器错误,属性选择器中没有
,您需要阻止表单提交,因此
$(“输入:[名称=用户名]”)
应该是
$(“输入[名称=用户名]”)
并将
参数[0]。preventDefault()
添加到提交处理程序中。另外,从ajax回调中添加一个返回false也没有任何效果。

您的选择器是错误的,属性选择器中没有
,您需要阻止表单提交,因此
$(
应该是
$(
并添加
参数[0]。preventDefault()
提交给您的提交处理程序。另外,从ajax回调中添加一个返回false也不会产生任何效果。

Cmon现在,您至少可以找出问题出在Javascript还是PHP上。试试看发生了什么错误。您可以阅读以下内容:。希望对.Cmon有所帮助,您至少可以找出问题出在Javascript上,还是在PHP.try上,看看发生了什么错误。您可以阅读以下内容:。希望能帮助。在$(“p”).html(数据)下有一个返回false;是的)但是它确实从这个
函数(data){$(“p”).html(data)返回;返回false;}
函数您也可以将它放在成功处理程序范围之外。这应该也可以,您总是可以使用jQuery表单插件。它的工作原理与您所拥有的非常相似,但您不需要任何
var user=$(“输入:[name=username]”).val()
看起来确实错误(参见@Musa answer)在$(“p”).html(数据)下有一个返回false;是的)但是它确实从这个
函数(data){$(“p”).html(data)返回;返回false;}
函数您也可以将它放在成功处理程序范围之外。这应该也可以,您总是可以使用jQuery表单插件。它的工作原理与您所拥有的非常相似,但您不需要任何
var user=$(“输入:[name=username]”).val()看起来确实有问题(请参见@Musa-answer)