3

フォームにリンクが含まれている場合、フォームが送信されないようにする方法はありますか? input: question と message フィールドにリンクが追加されないようにしたいと思います。

誰でも情報を得るために正しい方向を示すことができますか? ありがとう

<div class="form">
        <form id="sbwd_contact" method="post" action="http://whatanswered.com/forms/ask/ask.php">
            <em class="error"></em>
            <input type='hidden' name='sfm_form_submitted' value='yes'/>
            <label for="Email">E-Mail: </label>
            <input type="text" id="Email" name="Email" size="30" class="required email" />
            <label for="question">Question: </label>
            <input type="text" id="question" name="question" size="30" class="required" />
            <label for="Message">Additional Info: </label>
            <textarea name="Message" cols="30" rows="6" id="Message" class="required"></textarea>
            <br />
            <p><span>I Agree to the Terms and Conditions
                        <input type="checkbox" name="Terms_and_conditions" value="I agree" class="required"/></span></p>
            <input name="Submit" type="submit" id="Submit" value="Send" />
            <br /><br />
            <p><a href="http://whatanswered.com/terms-and-conditions.php" target="_blank">View our Terms and Conditions</a></p>
        </form>
4

4 に答える 4

5

データベースに挿入する前にこれを追加します

if(preg_match("/\b(?:(?:https?|ftp|http):\/\/|www\.)[-a-z0-9+&@#\/%?=~_|!:,.;]*[-a-z0-9+&@#\/%=~_|]/i",$_POST['question'])){

// prevent form from saving code goes here
 echo "<script>alert('Please remove URLs');</script>"; 
}
else{
 // Insertion in Db
}
于 2016-08-29T19:06:28.347 に答える
0

入力フィールドに「HTTP://」などの部分文字列が 1 つ以上含まれているかどうかを確認し、含まれている場合はスクリプトをエラーで終了してください。http://php.net/manual/en/function.substr-count.phpを使用

于 2013-05-16T22:52:16.947 に答える
-2

まず第一に、あなたは HTML スクリプトを投稿していて、PHP について尋ねているので、何の努力もしていません。そうは言っても..

リンクがフォームに送信されないようにしたい場合はstrip_tags()、PHP の関数を使用<a >して、ユーザーが入力した内容をすべて削除し、リンクを生のテキストだけに変更することができます。または、PHP 側からfilter_var($url, FILTER_VALIDATE_URL)、URL が送信されたかどうかを検証するために使用できます。

 $url = "http://www.mywebsite.com";

if(!filter_var($url, FILTER_VALIDATE_URL)){
  echo "No URL detected";
  }else{
  echo "URL is found";
  }

そして、そこから上に向かって進んでください。

于 2013-05-16T22:53:18.723 に答える