首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >变量不会回显

变量不会回显
EN

Stack Overflow用户
提问于 2010-12-25 12:27:56
回答 4查看 132关注 0票数 0

我有以下代码,当您输入值时,变量$username不会回显。

代码语言:javascript
运行
复制
//TODO: SET AUTH TOKEN as random hash, save in session
$auth_token =  rand();   

if (isset($_POST['action']) && $_POST['action'] == 'Login')
{

    $errors = array(); //USED TO BUILD UP ARRAY OF ERRORS WHICH ARE THEN ECHOED
    $username = $_POST['username'];

    if ($username = '')
    {
        $errors['username'] = 'Username is required';
    }

    echo $username; // var_dump($username) returns string 0
}


require_once 'login_form.html.php';

 ?>

login_form是这样的:

代码语言:javascript
运行
复制
<form method="POST" action="">
<input type="hidden" name="auth_token" value="<?php echo $auth_token ?>">
Username: <input type="text" name="username">
Password: <input type="password" name="password1">
<input type="submit" name="action" value="Login">
</form>

身份验证令牌部分并不重要,它只是当我在用户名文本框中键入一个值并按下登录按钮时,用户名不会回显,var_dump返回字符串(0),而print_r则为空。

EN

回答 4

Stack Overflow用户

发布于 2010-12-25 12:29:46

愚蠢的错误

代码语言:javascript
运行
复制
if ($username = '')   <-- this is an assignment

应该是这样的

代码语言:javascript
运行
复制
if ($username == '')  <-- this is comparison
票数 3
EN

Stack Overflow用户

发布于 2010-12-25 12:29:44

代码语言:javascript
运行
复制
if ($username = '')

您缺少一个=,因此为$username分配了一个空字符串。将其更改为

代码语言:javascript
运行
复制
if ($username == '')
               ^-- note the 2 equal signs.
票数 2
EN

Stack Overflow用户

发布于 2010-12-25 12:30:24

这一行是赋值,而不是比较:

代码语言:javascript
运行
复制
if ($username = '')

您需要:

代码语言:javascript
运行
复制
if ($username == '')
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4529288

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档