我正在尝试在单击按钮时输出存储在变量中的字符串在页面上的标签中。 但我无法弄清楚如何。还是初学者。
<form action="Test.php" method="post">
Output text: <input type="label" name="word" />
<input type="submit" method="submit" value="Print!" />
</form>
<?php
$word = "test";
if (isset($_POST['submit']))
{
//something that gives the label value $word//
}
?>
答案 0 :(得分:1)
您的代码存在一些问题。
让我概述一下。
您的提交输入应该具有name属性,因为您的条件语句基于它if (isset($_POST['submit'])){...}
,我已经修改了一些内容,以检查输入是否为空,使用PHP&#39 ; s empty()
功能。
您输入的&#34;输出文字&#34;的输入类型无效,应该是type="text"
而不是type="label"
,没有type="label"
。
method="submit"
提交按钮无效。方法属于<form>
,没有method="submit"
。
然后,您需要从输入中分配POST变量:
如:
$word = $_POST['word'];
另外,从我看来你在同一页面内执行整个代码的情况来看,你可以action=""
,除非你的代码设置在2个单独的文件中。
关于您想要实现的目标:然后您可以使用ternary operator回显输入(如果已输入)并为其(输入)提供值。
即:
value="<?php echo isset($_POST['word']) ? $_POST['word']: '' ?>"
下面:
<form action="" method="post">
Output text: <input type="text" name="word" value="<?php echo isset($_POST['word']) ? $_POST['word']: '' ?>" />
<input type="submit" name="submit" value="Print!" />
</form>
<?php
if ( isset($_POST['submit']) && !empty($_POST['word']) )
{
$word = $_POST['word'];
echo $word;
}
?>
如果您想使用&#34; label&#34;输入,然后使用:
<label for="word">Output text:
<input type="text" name="word" />
</label>
您还应该使用以下方法防范XSS攻击(跨侧脚本):
即:
$word = strip_tags($_POST['word']);
$word = htmlentities($_POST['word']);
$word = htmlspecialchars($_POST['word']);
您可以在XSS上阅读一些文章:
答案 1 :(得分:0)
您的代码应如下所示
<form action="Test.php" method="post">
Output text: <input type="label" name="word" value ="<?php echo isset($label['data'])?$label['data']: '' ?>" />
<input type="submit" method="submit" value="Print!" />
</form>
<?php
$word = "test";
$label = array();
if (isset($_POST['submit']))
{
//something that gives the label value $word//
$label['data'] = $word;
}
?>
这应该有效
此致 艾哈迈德拉巴尼
答案 2 :(得分:0)
首先你的输入元素有type = label
,它并不意味着什么。将其更改为type=text
您正在提交价值但不打印它。所以在输入字段中你也必须打印它。
看下面的代码。
<?php
$word = "test";
if (isset($_POST['submit']))
{
// whatever you do with $word
}
?>
<form action="Test.php" method="post">
Output text: <input type="text" name="word" value="<?php echo $word; ?>"/>
<input type="submit" name="submit" value="Print!" />
</form>
还有一件事我忘了提到您正在向Test.php提交表单并将其打印到文件中,如果此文件的名称为Test.php
则不是问题,其他明智的离开{{1属性为空,所以它将数据提交给自己。
action
没有这样的事情。您可以设置要提交的按钮名称,例如method = submit
。