多个表单访问一个PHP页面和表单验证

多个表单访问一个PHP页面和表单验证,php,html,forms,validation,Php,Html,Forms,Validation,首先,我没有密码。。。我正在收集启动项目所需的数据 我将在一个网站上有多个链接到同一个PHP页面,例如发送电子邮件或向DB添加数据 现在,我可以构建表单和PHP页面来发送邮件或向DB添加数据。但这是我需要知道的一点。。。如果有任何表单调用PHP页面,我怎么知道是哪个表单执行了相应的操作 另外,对表单进行双重验证是否更好?我是说,客户端然后服务器端 既然我们讨论的是验证,那么在客户端使用JS还是JQuery(我都可以编写)更好吗?关于DB的事,我怎么能保证它的安全?!!我的意思是,我如何确保用户不

首先,我没有密码。。。我正在收集启动项目所需的数据

我将在一个网站上有多个
链接到同一个PHP页面,例如发送电子邮件或向DB添加数据

现在,我可以构建表单和PHP页面来发送邮件或向DB添加数据。但这是我需要知道的一点。。。如果有任何表单调用PHP页面,我怎么知道是哪个表单执行了相应的操作

另外,对表单进行双重验证是否更好?我是说,客户端然后服务器端

既然我们讨论的是验证,那么在客户端使用JS还是JQuery(我都可以编写)更好吗?关于DB的事,我怎么能保证它的安全?!!我的意思是,我如何确保用户不会输入一个PHP代码来搞乱事情,以及如何检测它

我知道这似乎是一个一般性的问题或讨论,但你会帮我很多。坦白地说,我已经使用这个网站大约3年了,你们帮我以高分通过了我的研究生项目:)所以我愿意在这里找到答案:)


谢谢大家。

在每个字段中都有一个隐藏字段,以确定操作是什么

<input type="hidden" name="action" value="cart" />


如果有多个表单提交到同一页面,可以通过发送隐藏数据字段来识别表单,如:

<input type="hidden" name="form_name" value="001" />

输入验证应始终在服务器上进行。客户端验证对用户来说很好,但服务器端验证是必须的


在对用户输入执行任何操作之前验证用户输入,并在适当时进行转义。例如,当您在查询中放入内容或使用准备好的语句时,可以使用mysql\u real\u escape\u string。

您可以在表单中使用隐藏字段来指示应该执行的操作。您也可以只在表单的ACTION属性中包含一个参数。不管怎样,结果都是一样的

<form>
  <input type='hidden' name='mode' value='save'>
  <!-- More HTML --> 
</form>

<form>
  <input type='hidden' name='mode' value='delete'>
  <!-- More HTML --> 
</form>

对于验证,首先是服务器端验证,然后添加客户端验证,以减少服务器处理和往返时间。人们会喜欢响应式的表单设计。有很多表单验证工具可用,请查看此问题的相关链接


为了安全起见,请确保您正在使用或扩展来创建查询。黄金法则是避开输入并对输出进行编码。您可以使用诸如编码输出之类的方法。并利用PHP的过滤方法。这将极大地帮助你。此外,在进行验证时,通常最好将其列入白名单,而不是黑名单

好的,JohnP,你能告诉我MySQLi和MySQL的区别是什么吗。。。我一直在使用MySQL,并且将在项目中以及即将到来的项目中使用它。它是改进的MySQL库。如果您使用的是PHP5,那么强烈建议您使用它。它是为了利用mysql中的新特性而编写的,并且它比原来的扩展有一些安全性改进——这个问题有一些细节-
<form>
  <input type='hidden' name='mode' value='save'>
  <!-- More HTML --> 
</form>

<form>
  <input type='hidden' name='mode' value='delete'>
  <!-- More HTML --> 
</form>