このサイトでは多くの類似の質問がありましたが、私のコードの解決策はまだ見つかりませんでした。私はif(ifetet($ _ 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']))) {...}
のwi:次のように空にされていない& &ユーザ名& &メールに名前を付けますそれは何もしなかった。解決策はありますか?私はこれを完全に間違ってやったのですか? lol
ご協力いただきありがとうございます!
入力フィールドを必須にしないのはなぜですか。 また、フォームマークアップがありませんか? – Mitch
''完了しました – Irvin
はクライアント側の入力フィールドを検証します – user3040610