Php 后服务器端表单验证
在下面的php脚本中,有一些问题告诉我在哪里出错。它通过post从HTML表单获取数据。然后,在将它们插入数据库之前,我会尝试一些验证。有人发现什么吗Php 后服务器端表单验证,php,Php,在下面的php脚本中,有一些问题告诉我在哪里出错。它通过post从HTML表单获取数据。然后,在将它们插入数据库之前,我会尝试一些验证。有人发现什么吗 <?php if( isset( $_POST['submit_form'] ) ) { validate_data($data) { $data = trim($data); $data = stripslashes($data); $data = strip_tags($data); $data = htmlspeci
<?php
if( isset( $_POST['submit_form'] ) )
{
validate_data($data)
{
$data = trim($data);
$data = stripslashes($data);
$data = strip_tags($data);
$data = htmlspecialchars($data);
$data = mysqli_real_escape_string($data);
return $data;
}
$address = validate_data($_POST['name']);
$address = validate_data($_POST['address']);
$zipcode = validate_data($_POST['zipcode']);
$county = validate_data($_POST['county']);
$phone = validate_data($_POST['phone']);
$email = validate_data($_POST['email']);
$password = validate_data($_POST['password']);
$pwVerified = validate_data($_POST['pwVerified']);
//create connection
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
$sql = "INSERT INTO company (name, address, zipcode, county, phone, email, password, pwVerified )
VALUES
( '$name', '$address', '$zipcode','$county','$phone', '$email', '$password', '$pwVerified')";
if ($conn->query($sql) === TRUE) {
// echo "New record created successfully";
} else {
echo "Error: " . $sql . "<br>" . $conn->error;
}
$conn->close();
}else
{ echo "there is a problem";}
include 'sign.php';
?>
应该是函数验证数据($data)。评论1和2。多谢各位
<?php
if( isset( $_POST['submit_form'] ) )
{
function validate_data($data)
{
$data = trim($data);
$data = stripslashes($data);
$data = strip_tags($data);
$data = htmlspecialchars($data);
$data = mysqli_real_escape_string($conn, $data);
return $data; //the rest
是的,这个$data=mysqli\u real\u escape\u字符串($data)
并且不知道POST数组是否包含值。该函数需要传递一个db连接<代码>$data=mysqli\u real\u escape\u字符串($conn,$data)
(一方面)。验证数据($data)
应该是一个函数:函数验证数据($data)
您得到的错误是什么?请参阅前两条注释。另外,如果我是你,我根本不会用这个。使用一个准备好的语句并去掉所有这些。虽然您可以在一个函数中定义函数,但至少在这种情况下,不这样做更符合逻辑。并且它需要前面的函数
关键字以及$data=mysqli\u real\u escape\u字符串($data)代码>那是行不通的,相信我说的话。@Fred ii-为什么不行?@Progrock我真的要告诉你吗?如果我知道,你就不知道它是怎么工作的。很有趣,因为它对我有用。或者应该怎样?好心?@BobMwenda我觉得这很难相信。