我在這個網站上看到很多類似的問題,但我還沒有找到我的代碼的解決方案。我確實使用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