我可以通过php POST获取对象的属性吗?

时间:2012-08-01 11:42:47

标签: php post properties

我在php页面中有一个表单,其中包含大量文本输入,每个都有一个预设值。 当有人通过POST提交页面时,我想知道哪些页面已被更改,所以当有人输入文本输入时,我想我可以设置文本的属性(如背景颜色)。

提交后,如何获取输入属性以查看它们是否已更改? $ _POST ['name_of_text_input']只返回输入的值?

5 个答案:

答案 0 :(得分:2)

你无法看到它们是否已被改变。

PHP在服务器上运行,一旦数据发送给用户,就PHP而言,就是它的结束。除非您明确告诉它(通过session或数据库中的某些数据),否则它不会记住任何其他内容。

您必须执行以下操作之一:

  • 有一个由javascript更改的第二个隐藏变量,显示“已更改”或您比较的某些内容。
  • 在PHP代码中加载初始值并与它们进行比较以查看它们是否已更改
  • 如果预设值,您可以在PHP代码中手动检查发布值与预设值。

答案 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_namename进行比较,看看它们是否不同。

答案 3 :(得分:0)

使用$ _POST无法获取输入属性。但您可以使用javascript代码记住初始输入的状态,并仅发送更改的字段。

答案 4 :(得分:0)

只要您在HTML中有FORMPOST (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"]; 

?>