我在php页面中有一个表单,其中包含大量文本输入,每个都有一个预设值。 当有人通过POST提交页面时,我想知道哪些页面已被更改,所以当有人输入文本输入时,我想我可以设置文本的属性(如背景颜色)。
提交后,如何获取输入属性以查看它们是否已更改? $ _POST ['name_of_text_input']只返回输入的值?
答案 0 :(得分:2)
你无法看到它们是否已被改变。
PHP在服务器上运行,一旦数据发送给用户,就PHP而言,就是它的结束。除非您明确告诉它(通过session
或数据库中的某些数据),否则它不会记住任何其他内容。
您必须执行以下操作之一:
答案 1 :(得分:1)
您可以为每个文本输入添加隐藏字段,并使用javascript(更改输入事件)在这些隐藏字段中设置值。
如果您使用html5,则可以使用占位符
<input type="text" placeholder="default value">
在PHP中,您应该检查是否输入了值,然后应该采用默认值。
答案 2 :(得分:1)
一个简单的解决方案是为您的条目创建隐藏字段,然后比较它们:
<form>
<!-- old values -->
<input type="hidden" name="old_name" value="<?=$name;?>" />
<input type="hidden" name="old_surname" value="<?=$surname;?>" />
<!-- current values -->
<input type="text" name="name" value="<?=$name;?>" />
<input type="text" name="surname" value="<?=$surname;?>" />
</form>
现在,提交后,您可以将old_name
与name
进行比较,看看它们是否不同。
答案 3 :(得分:0)
使用$ _POST无法获取输入属性。但您可以使用javascript代码记住初始输入的状态,并仅发送更改的字段。
答案 4 :(得分:0)
只要您在HTML中有FORM
,POST (HTML)
所做的就是将所有变量.php
发送到POST
服务器端name
数组}。
因此,您可以$_POST['name_of_the_input']
例如:
<html>
<body>
<form action="welcome.php" method="post">
Name: <input type="text" name="fname" />
Age: <input type="text" name="age" />
<input type="submit" />
</form>
</body>
</html>
可以PHP
访问:
<?php
echo $_POST["fname"];
echo $_POST["age"];
?>