Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/471.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 包括来自外部文件的jQuery,有些函数可以工作,有些则不能_Javascript_Php_Jquery_Html - Fatal编程技术网

Javascript 包括来自外部文件的jQuery,有些函数可以工作,有些则不能

Javascript 包括来自外部文件的jQuery,有些函数可以工作,有些则不能,javascript,php,jquery,html,Javascript,Php,Jquery,Html,我正在一个网站上工作,现在我想将每个文件中的所有脚本移动到一个文件中,因此创建了core.js。我包含在index.php的头部 但问题是,有些函数起作用,有些函数不起作用。查看我的部分代码: JQuery(core.js的一部分): 当我将相同的脚本放在html文件中的脚本标记之间时,一切都正常工作。有趣的是,当我将脚本放在外部文件中时,$.post('includes/mypwdchange.php'…函数可以工作,但不会返回预期的答案,另请参见 mypwdchange.php <?p

我正在一个网站上工作,现在我想将每个文件中的所有脚本移动到一个文件中,因此创建了core.js。我包含在index.php的头部 但问题是,有些函数起作用,有些函数不起作用。查看我的部分代码:

JQuery(core.js的一部分):

当我将相同的脚本放在html文件中的脚本标记之间时,一切都正常工作。有趣的是,当我将脚本放在外部文件中时,
$.post('includes/mypwdchange.php'…
函数可以工作,但不会返回预期的答案,另请参见

mypwdchange.php

<?php 
include "../dbconfig.php";
if (isset($_POST['mypwdchange'])){
$changeid = $_POST['myuserid'];
$oldpword = $_POST['oldpword'];
$newpword = $_POST['newpword'];
$query0 = $con->prepare("select * from users where id = :id");
$query0->execute(array('id'=>$changeid));
$result0 = $query0->fetch(PDO::FETCH_ASSOC);
$oldpwordhash = $result0['password'];
if (password_verify($oldpword,$oldpwordhash)){
    $newpwordhash = password_hash($newpword, PASSWORD_DEFAULT);
    $query1 = $con->prepare("update users set password=:newpwordhash where id = :changeid");
    $query1->execute(array('newpwordhash'=>$newpwordhash, 'changeid'=>$changeid));
    if ($query1){
        echo "Password Changed Successfully!";
    }
}else{
    echo "Old Password is not valid.";
}
}
?>

问题是它总是返回“旧密码无效”。当我把jQuery放在core.js中时,但当我把jQuery放在myaccount.php中时,一切正常。
包含行不会在.js文件中执行

<h3>My Account</h3>

<div class="col-md-4">
<h4>Change Password</h4> <hr />
<form role="form">
<div class="form-group">
    <label for="oldpword">Old Password</label>
    <input type="password" class="form-control" id="oldpword" required/>
</div>
<div class="form-group">
    <label for="newpword">New Password</label>
    <input type="password" class="form-control" id="newpword" required/>
</div>
<div class="form-group">
    <label for="cnewpword">Confirm Password</label>
    <input type="password" class="form-control" id="cnewpword" required/>
</div>
<button type="submit" class="btn btn-default" id="mypwdchange">Change</button>
</form>
<div class="alert alert-info" id="mypwdchangealert">

</div>
</div>

您需要将它们取出并在php文件中使用变量引用。或者您可以让您使用js文件php文件并确保返回正确的内容类型。

当我将jQuery放入myaccount.php中时,它可以工作。无论如何,我将用javascript变量替换它并告诉。因为php echo语句在.php文件中工作。谢谢,tha这就是我在html

<?php 
include "../dbconfig.php";
if (isset($_POST['mypwdchange'])){
$changeid = $_POST['myuserid'];
$oldpword = $_POST['oldpword'];
$newpword = $_POST['newpword'];
$query0 = $con->prepare("select * from users where id = :id");
$query0->execute(array('id'=>$changeid));
$result0 = $query0->fetch(PDO::FETCH_ASSOC);
$oldpwordhash = $result0['password'];
if (password_verify($oldpword,$oldpwordhash)){
    $newpwordhash = password_hash($newpword, PASSWORD_DEFAULT);
    $query1 = $con->prepare("update users set password=:newpwordhash where id = :changeid");
    $query1->execute(array('newpwordhash'=>$newpwordhash, 'changeid'=>$changeid));
    if ($query1){
        echo "Password Changed Successfully!";
    }
}else{
    echo "Old Password is not valid.";
}
}
?>