在Wordpress中提交表单后显示错误页面

时间:2019-12-10 11:23:51

标签: php sql database wordpress

我有一个wordpress网站,其中有一个表单,用户在其中输入用户名,提交后将其重定向到另一个页面。在此页面中,正在显示数据库中与用户相关的一些数据。我正在尝试创建一个搜索表单,该表单将仅显示与表单输入有关的数据,例如年份或类似内容。

以下是原始表单的代码:

add_action('init', function () {
   $username = ( isset($_POST['luname']) ? $_POST['luname'] : '' );
   setcookie("usernameCookie", $username, time()+3600, COOKIEPATH, COOKIE_DOMAIN);
   if ($username) {
       setcookie("usernameCookie", $username, time()+3600, COOKIEPATH, COOKIE_DOMAIN);
   }

   if( isset( $_POST['mysubmitbtn'] ) ) {
       wp_redirect('http://mysite/somedata/');
       exit;
   }
});

这是页面中将用户重定向到的代码:

<?php

$s=$_COOKIE["usernameCookie"] ;
if ( username_exists( $s ) ) { 
    global $wpdb;
    echo "<b>user: ".$s."</b>";
    echo 
    '<form method="post" name="myForm">
        <input type="number" name="year" placeholder="Search Year"/>
    </form>';

    if( isset( $_POST['year'] ) && is_numeric($_POST['year']) ) { 
        $year = $_POST['year'];

        $results = $wpdb->get_results($wpdb->prepare("Select * From mytable Where user_login = %s and year = %d", $s, $year)); 
        foreach ( $results as $result ) { 
            $pdf = $result->pdfId;
            echo 
                '<div style="text-align: left;"><br>
                    <a style="text-decoration: underline; text-decoration-color: #a83252;" href="http://testingforwordpress.epizy.com/wp-content/uploads/2019/12/pdf'.$pdf.'.pdf" download="law'.$pdf.'.pdf">
                    <h5 style="font-family: Arial; color: #a83252;">'.$result->law.'</h5></a>
                    <span style="font-family: Arial;">'.$result->description.'</span>
                </div>'; 
        }
    }
    else {
        $results = $wpdb->get_results($wpdb->prepare("Select * From mytable Where user_login = %s", $s)); 

        foreach ( $results as $result) { 
            $pdf = $result->pdfId;
            echo 
            '<div style="text-align: left;"><br>
                <a style="text-decoration: underline; text-decoration-color: #a83252;" href="http://testingforwordpress.epizy.com/wp-content/uploads/2019/12/pdf'.$pdf.'.pdf" download="law'.$pdf.'.pdf">
                <h5 style="font-family: Arial; color: #a83252;">'.$result->law.'</h5></a>
                <span style="font-family: Arial;">'.$result->description.'</span>
            </div>'; 
        } 
    } 
}
else echo '
<h3 style="text-align: center; color: red;">Username '.$s.' does not exist.</h3>';

?>

在mytable中,我有一列“年”,并且在不同行中有一些值,如2019、0、2015。问题是,仅当我按2019或0的形式,如果我按2015时,主题消息将显示“此页面似乎不存在。看来指向此处的链接有问题。请尝试搜索”。 ?下方有一个搜索栏。如果我将年份值从2015年更改为2019年,则该行将正常显示。这就像我不理解的查询有问题。我尝试更改它,但是问题仍然存在。有人可以提供解决方案吗?

0 个答案:

没有答案