PHP   发布时间:2022-04-05  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了javascript-AJAX不将日期发布到PHP大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

AJAX将选定的日期((‘articleDate’))发送到PHP文档,然后在sql语句中使用它,但是,当我运行PHP时,在声明的行上,代码中出现未定义的错误

$date = $_POST['articleDate'];

这意味着该值未发布到PHP.
我已经检查了代码,它在语义上似乎运行良好.是否有单独的方法在AJAX中发布“日期”值?

当不使用AJAX且表单通过方法(带有“提交”按钮的提示)进行发布时,PHP代码将起作用.

HTML< body>码:

<div id="wrapper"> <!--wrapper start-->
<!--include navbar-->
<?PHP include 'include/navbar.PHP';?>

<div class="container" id="content"><!--container start-->
    <div class="jumbotron"><!--jumbotron start-->
        <div class="col-xs-12">
            <div class="row" id="date">
                <form>
                    <input class="form-control" type="date" id="articleDate" onchange="viewArticle(this.value)">
                </form>                    
            </div>
        </div>
        <div class="row">
           <div id="article">

           </div>
        </div> <!--Row end-->
    </div><!--Jumbotron End-->
    <?PHP require 'include/footer.PHP';?>
</div> <!--container end-->

 

Java脚本

window.onload=function(){
    document.getElementById("articleDate").value="";
}
function viewArticle()
{
    $.ajax({
        type: "POST",
        url: "../pages/include/viewArticle.PHP",
        data: {
            Date: document.getElementById("articleDate").value
        },
        success: function (responsE) {
            document.getElementById("article").innerHTML=response; 
        },
        error: function(xhr, status, error) {
            alert('article not sent');
         },
    }); 
}

PHP代码(日期初始化是错误发生的地方(未定义的变量):

#Get date
$date = $_POST['articleDate'];

$stmt = $conn->prepare("select * from article WHERE articleDate=? ORDER BY articleDate desc");
$stmt->bind_param("s", $datE);
if($date !== "")
{
    if($stmt->execute()){
        $data = $stmt->get_result();

        #check number of rows statement SELEcts

        if($data->num_rows > 0)
        {
            #print data
            while($row = $data->fetch_assoc()){
                #create div
                echo ' <div class="col-lg-4 col-md-6 col-sm-6 col-xs-12" id="articleDiv">';
                echo "<img class='img-responsive' id='articleImage' src=".$row['articleThumbnail'].">";  
                echo '<h3><a href="article.PHP?id='.$row['articlEID'].'">'.$row['articleHeadline'].'</a></h3>';
                echo '<p>',$row['articleSumMary']," ",'</p>';
                echo '<div class="row" id="rowDetails">';
                echo '<p>' , $row['articleDate']," | " , $row['articleTopic'],'</p>';
                echo '</div>';            
                echo '</div>';
            }
        }
        else
        {
            echo "<p>No articles exist on this date</p>";
        }
    }
    #$stmt->close();
    #$conn->close();   
}
else{
    echo "Date not working";
}                      

未定义的变量= $date

解决方法:

PHP中,您可以通过名称articleDate获得发布的参数:

$_POST['articleDate']

当您发送日期时.

您有两种选择:

>您可以像这样在JS中更改参数名称

data: {
   articleDate: document.getElementById("articleDate").value
},

>或者您可以在您的PHP代码中更改它,例如:

$_POST['Date']

大佬总结

以上是大佬教程为你收集整理的javascript-AJAX不将日期发布到PHP全部内容,希望文章能够帮你解决javascript-AJAX不将日期发布到PHP所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签: