我在这个网站上看到很多类似的问题,但我还没有找到我的代码的解决方案。我确实使用if(isset($ _ POST ['submit'])){}和if语句来配合它来试图阻止我的脚本插入空的表单字段数据,但它还没有工作。只是一张纸条;我意识到我的代码中存在安全漏洞。我只是试图保持它简单,所以它会更容易为大家帮帮我:)下面是我有:MySQL和PHP代码允许空的表单字段数据
<body>
<?php
if (isset($_POST['submit'])) {
$dbc = mysqli_connect('localhost', 'username', 'password', 'bcd_email_app')
or die('Error connecting to MySQL server');
$query = "INSERT INTO email_subscribers (name, username, email)" .
"VALUES ('$name', '$username', '$email')";
mysqli_query($dbc, $query)
or die('Error querying database');
echo 'Thanks for subscribing '. $username .'!!<br />';
echo '<a href="index.php">Go Back</a>';
mysqli_close($dbc);
$name = $_POST['name'];
$username = $_POST['username'];
$email = $_POST['email'];
$output_form = false;
//checking that all form fields have been filled out and if not displaying the form with sticky data
if (empty($name) && (empty($username) && (empty($email)))) {
echo 'Please enter your information for all fields. <br />';
$output_form = true;
}
if (empty($name) && (!empty($username) && (!empty($email)))) {
echo 'Please enter your name. <br />';
$output_form = true;
}
if (!empty($name) && (empty($username) && (!empty($email)))) {
echo 'Please enter your username. <br />';
$output_form = true;
}
if (!empty($name) && (!empty($username) && (empty($email)))) {
echo 'Please enter your email address. <br />';
$output_form = true;
}
if (empty($name) && (empty($username) && (!empty($email)))) {
echo 'Please enter your name and username. <br />';
$output_form = true;
}
if (empty($name) && (!empty($username) && (empty($email)))) {
echo 'Please enter your name and email address. <br />';
$output_form = true;
}
if (!empty($name) && (empty($username) && (empty($email)))) {
echo 'Please enter your username and email. <br />';
$output_form = true;
}
} else {
$output_form = true;
}
if ($output_form) {
?>
形式标记在这里
</body>
我也想说,如果命名& & &名电子邮件&不空这样的:
if (isset($_POST['submit'])) && (!empty($_POST['name'])) && (!empty($_POST['username'])) && (!empty($_POST['email']))) {...}
无线提交后,这没有做任何事情。有解决方案吗?我完全错了吗?大声笑
在此先感谢您的帮助!
为什么你不需要输入字段? 此外表格标记丢失? – Mitch
''你已经完成 – Irvin
验证客户端的输入字段 – user3040610