没有isset的$ _POST []工作正常,但......

 robable004_96978 发布于 2023-02-06 13:46

您好我是php和mysql的新手.但我有一个问题这是我的问题:

我正在尝试使用表单将数据插入数据库.
但是当我这样做时,它在用户名密码列中返回1.

这是我的Index.php:

prepare($query);
    $statement->execute(array(
        ':username'=> $username,
        ':password'=> $password
    ));

?>

这是我的表格:

当我这样做:

$username = $_POST['username'];

它工作正常,但当我这样做:

$username = isset($_POST['username']);

它在数据库中插入1,而不是输入中的文本.

对不起,如果我组织任何事情,我是新手.

1 个回答
  • isset()返回一个布尔值,该值是要检查的变量的结果.它不能用于从变量中获取值.

    $username = isset($_POST['username']);
    $password = isset($_POST['password']);
    

    应该:

    $username = $_POST['username'];
    $password = $_POST['password'];
    

    或者,如果要在未设置这些变量的情况下分配默认值,则可以这样做:

    $username = isset($_POST['username']) ? $_POST['username'] : '';
    $password = isset($_POST['password']) ? $_POST['password'] : '';
    

    2023-02-06 13:49 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有