在文本输入 value = 语句中使用 PHP 变量

发布于 2024-10-07 20:02:22 字数 1120 浏览 1 评论 0原文

我从数据库中检索三项信息:一项整数、一项字符串和一项日期。

我回显它们以验证变量是否包含数据。

然后,当我使用变量填充页面上的三个输入框时,它们无法正确填充。

以下内容不起作用:

id: <input type="text" name="idtest" value=$idtest>

是的,变量必须位于 内使其可见。

因此:

id: <input type="text" name="idtest" value=<?php $idtest ?> />

该字段显示 /

当我转义引号时,

id: <input type="text" name="idtest" value=\"<?php $idtest ?>\"  />

该字段将显示 \"\"

使用单引号时,

id: <input type="text" name="idtest" value='<?php $idtest ?>'  />

该字段不显示任何内容或显示空白。

使用转义单引号后,

id: <input type="text" name="idtest" value=\'<?php $name ?>\'  />

该字段将显示 \'\'

使用正斜杠(我知道这不正确,但为了将其从讨论中消除),

id: <input type="text" name="idtest" value=/"<?php $name ?>/"  />

该字段显示 /"/"

双引号、转义双引号、仅在左侧转义双引号等不起作用。

我可以将输入框设置为字符串。我没有尝试使用会话变量,因为我更愿意避免这样做。

我在这里缺少什么?

I retrieve three pieces of information from the database, one integer, one string, and one date.

I echo them out to verify the variables contain the data.

When I then use the variables to populate three input boxes on the page, they do not populate correctly.

The following do not work:

id: <input type="text" name="idtest" value=$idtest>

Yes, the variable must be inside <?php var ?> for it to be visible.

So:

id: <input type="text" name="idtest" value=<?php $idtest ?> />

The field displays /.

When I escape the quotes,

id: <input type="text" name="idtest" value=\"<?php $idtest ?>\"  />

the field then displays \"\".

With single quotes

id: <input type="text" name="idtest" value='<?php $idtest ?>'  />

the field displays nothing or blank.

With single quotes escaped,

id: <input type="text" name="idtest" value=\'<?php $name ?>\'  />

the field displays \'\'.

With a forward slash (I know that's not correct, but to eliminate it from the discussion),

id: <input type="text" name="idtest" value=/"<?php $name ?>/"  />

the field displays /"/".

Double quotes, escape double quotes, escape double quotes on left side only, etc. do not work.

I can set an input box to a string. I have not tried using a session variable as I prefer to avoid do that.

What am I missing here?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(6

っ左 2024-10-14 20:02:22

尝试这样的操作:

<input type="text" name="idtest" value="<?php echo htmlspecialchars($name); ?>" />

也就是说,与 thirtydot 建议相同,除了防止 XSS 攻击之外。

您还可以使用 语法(请参阅注释),尽管这可能不适用于所有服务器。 (它是通过配置选项启用的。)

Try something like this:

<input type="text" name="idtest" value="<?php echo htmlspecialchars($name); ?>" />

That is, the same as what thirtydot suggested, except preventing XSS attacks as well.

You could also use the <?= syntax (see the note), although that might not work on all servers. (It's enabled by a configuration option.)

ㄖ落Θ余辉 2024-10-14 20:02:22

例如,您需要:

<input type="text" name="idtest" value="<?php echo $idtest; ?>" />

echo 函数是实际输出变量的值。

You need, for example:

<input type="text" name="idtest" value="<?php echo $idtest; ?>" />

The echo function is what actually outputs the value of the variable.

两个我 2024-10-14 20:02:22

解决方案

您缺少回声。每次您想要将变量的值显示为 HTML 时,您都需要回显它。

<input type="text" name="idtest" value="<?php echo $idtest; ?>" >

注意:根据值的不同,您的 echo 是您用来转义它的函数,如 htmlspecialchars。

Solution

You are missing an echo. Each time that you want to show the value of a variable to HTML you need to echo it.

<input type="text" name="idtest" value="<?php echo $idtest; ?>" >

Note: Depending on the value, your echo is the function you use to escape it like htmlspecialchars.

有深☉意 2024-10-14 20:02:22

从 HTML 的角度来看,一切都已经说过了,但要稍微纠正一下 PHP 端的方法,并考虑到 Thirddot 和 icktoofay 的建议:

<?php echo '<input type="text" name="idtest" value="' . htmlspecialchars($idtest) . '">'; ?>

From the HTML point of view everything's been said, but to correct the PHP-side approach a little and taking thirtydot's and icktoofay's advice into account:

<?php echo '<input type="text" name="idtest" value="' . htmlspecialchars($idtest) . '">'; ?>
帅的被狗咬 2024-10-14 20:02:22

如果您想读取任何创建的函数,我们可以这样做:

<input type="button" value="sports" onClick="window.open('<?php sports();?>', '_self');">

If you want to read any created function, this how we do it:

<input type="button" value="sports" onClick="window.open('<?php sports();?>', '_self');">
梦断已成空 2024-10-14 20:02:22

我一直在为我的项目做 PHP,我可以说以下代码对我有用。你应该尝试一下。

echo '<input type = "text" value = '.$idtest.'>'; 

I have been doing PHP for my project, and I can say that the following code works for me. You should try it.

echo '<input type = "text" value = '.$idtest.'>'; 
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文