使用php形成进程

时间:2011-12-12 17:26:29

标签: php forms function

表单处理有什么好处? (安全/快)

布局表格:

<form id="myForm" name="frm1" action="insert.php" method="post">
<textarea name="content" id="content" cols="35" rows="5"></textarea>
<INPUT type=submit value="submit" name=submit></form>

插入php:

<?php
if (( 'POST' == $_SERVER['REQUEST_METHOD'])) {
     //php validation code
} else {
    exit();
}
?>  

<?php
if (!isset($_POST['submit']))  {
    //php validation code
}    else {
    exit();
}
?>

5 个答案:

答案 0 :(得分:1)

第二个,绝对是。它更具可读性。甚至更合乎逻辑

<?php 
if (isset($_POST['submit'])) { //php validation code
     //do something   
}
else
{
   exit();
} 
?>

答案 1 :(得分:1)

您通常应该检查您要处理的数据是否存在。除此之外,您的第二种方法是首选,但不要假设人们会点击您的提交按钮。

在我看的时候,我还有其他一些笔记。您应该真的关闭<input>标记,并在其末尾添加/>

此外,虽然您可以进行('POST' == $_SERVER['REQUEST_METHOD'])之类的比较,但按顺序编写它们毫无意义。像这样翻转它:($_SERVER['REQUEST_METHOD'] == 'POST')

答案 2 :(得分:1)

速度与此无关。在安全性方面,这两个代码是不同的......

if (( 'POST' == $_SERVER['REQUEST_METHOD']))
{//php validation code
}
else 
{exit();}

在这里,您正在测试您的网页的请求方法是否已发布,然后您进行验证。

if (!isset($_POST['submit'])) 
{//php validation code
}
else
{exit();}

在这里,您正在测试具有“提交”键的帖子值中是否存在值。您假设某个字段具有此名称,但这不一定是真的。您可以使用名为“submit”的任何字段包含帖子值。

这里真正的安全问题是您的验证测试。

答案 3 :(得分:0)

if (!isset($_POST['submit'])) 
{//php validation code
}
else
{exit();}

第二个对我更有意义。

答案 4 :(得分:0)

第二个答案是最好的,因为您只是检查提交按钮。另一个是检查一个帖子。