0

何時間も経ちました。電子メールなどの検証を追加しようとしています。領域を空白にすることはできませんが、うまくいきませんでした。ここに私が取り組んでいるファイルがあります

これはRegister.phpファイルです

<form action="finish.php" method="post"/>
<p>First & Last Name: <input type="text" name="Name"/></p>
<p>Country: <input type="text" name="Country"/></p>
<p>Email Adress <div class="comment">a confirmation email will be sent<br> to you at this address</div><input type="text" name="Email"/></p>
<p>How You Hear About us? <select name="How" id="how" class="how">
    <option value="From a Friend">From a Friend</option>
    <option value="From Google">From Google</option>
    <option value="Advertisements">Advertisments</option>
    <option value="Other">Other</option>
    </select>
        </p>

<input id="submit" type="submit" value="Mail It!" />
</form>

Finish.php ファイル

<?php

define('DB_NAME', 'temp');
define('DB_USER', 'root');
define('DB_PASSWORD', '');
define ('DB_HOST', 'localhost');

$link = mysql_connect(DB_HOST, DB_USER, DB_PASSWORD);


 if (!$link) {
     die('Could not Connect: ' . mysql_error());
 }

 $db_selected = mysql_select_db(DB_NAME, $link);

 if (!$db_selected) { 
     die('Can\'t use ' .DB_NAME . '; ' .mysql_error());
     }

$value = $_POST['Name'];
$value2 = $_POST['Country'];
$value3 = $_POST['Email'];
$value4 = $_POST['How'];
$sql ="INSERT INTO tempr (Name, Country, Email, How) VALUES ('$value', '$value2', '$value3', '$value4')";
if (!mysql_query($sql)) {
   die('Error: ' .mysql_error());
}

mysql_close();



?>

フォームはデータベースに接続されているため、検証を追加すると、データベース内のデータを取得するのが難しくなりますか? 検証を追加するための解決策を教えてください。

ありがとう

4

2 に答える 2

1

実際には、次のような多くの課題に直面しています。

メールフォーム要素は完全に入力されていますか?

isset()

フォーム要素内の電子メールは、電子メールのパターンと一致していますか?

filter_var()

データベースを SQL インジェクション攻撃からどのように保護しますか?

mysql のエスケープ(大きな警告を読み、リンクをたどってください)

サーバーとクライアントをあらゆる種類の攻撃から保護するための準備を整えることをお勧めします。そのため、FIEOという用語をググって、いつFilter Input と Escape Outputを使用するかをよりよく理解してください。

于 2013-10-05T16:32:23.640 に答える
0

あなたが PHP ソリューションを求めていることは承知していますが、正直なところ、クライアント側 (javascript/jQuery) でデータを検証して、ページを更新してデータの再入力を強制することなく、必要に応じてユーザーに制御を返すことができるようにする必要があります。 .

次の jQuery プラグインをご存知ですか。

http://jqueryvalidation.org/documentation/

これを使用するには、ドキュメントの head タグに jQuery ライブラリと jQueryValidation プラグインの両方をロードする必要があります。

<head>
    <script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
    <script src="//ajax.aspnetcdn.com/ajax/jquery.validate/1.11.1/jquery.validate.min.js"></script>
</head>

このデモを見る

于 2013-10-05T16:07:17.507 に答える