首页 文章

页面如何给出404但返回内容

提问于
浏览
-1

以下是我用wordpress的php文件

<?php
require('../wp-blog-header.php');

$name = $_POST['username'];
$pass = $_POST['userpass'];

$results = $wpdb->get_row($wpdb->prepare( 
    "
        SELECT *
        FROM wp_users 
        WHERE user_login = %s
    ",
    $name
),ARRAY_N,0);

$checked = wp_check_password($pass, $results[2]);

if ($checked) {
    echo 'y';
} else {
    echo 'n';
}
?>

此页面的主要目的是验证用户名和密码 . 它工作得很好,当用户名/密码正确时,显示'y',否则显示'n' .

奇怪的是,无论我通过html表单还是其他人发送post方法,虽然它返回y或n,但状态代码始终为404 .

为什么它返回404的内容 . 我没有操纵这个PHP中的任何状态代码 .

我知道我应该创建自己的模板 . 我的问题不是那个问题,但是为什么http响应将是404和回复的内容 .

1 回答

  • 1

    首先你要在wordpress中使用自定义代码然后你必须创建自定义模板,将你的php文件保存在主题文件夹中,例如模板名称,例如

    <?php
    /* Template Name: login */
    ?>
    <?php get_header();?>
    <?php
    $name = $_POST['username'];
    $pass = $_POST['userpass'];
    
    $results = $wpdb->get_row($wpdb->prepare( 
    "
        SELECT *
        FROM wp_users 
        WHERE user_login = %s
    ",
    $name
    ),ARRAY_N,0);
    
    $checked = wp_check_password($pass, $results[2]);
    
    if ($checked) {
    echo 'y';
    } else {
    echo 'n';
    }
    <?php get_footer();?>
    

    现在转到wordpress仪表板并在右侧创建页面从下拉列表中选择您创建的模板名称登录并保存页面 . 在您使用wordpress仪表板创建的运行页面之后

相关问题