htmlでエラーメッセージを表示する

私はhtmlで警告メッセージを表示したい。このコードは、 "company"と "name"という名前の2つのテキストボックスを示しています。 con.php はデータベースに接続し、情報を挿入します。しかし、何も入力しなければ、値はまだ null としてデータベースに格納されています。私は、いくつかのメッセージを表示してフィールドを空白のままにしてはならないことを知らせ、また、指定された会社がすでにデータベースに存在する場合に警告が表示されるようにします。それをどうやって実装するのですか?

  <html>
   <head>
 <title>store in a database</title>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
   </head>
    <body>
   

company Store

<form name="form1" method="post" action="con.php">

company:<input type="text" name="company">


Name: <input type="text" name="name" size="40">


<input type="submit" value="Save"> <input type="button" onclick="window.close()" value="cancel"> </form> </body>

2
あなたは(純粋な)htmlでこれを行うことはできません。 JavaScriptがオプションであれば、これは非常に簡単です。または、データベースを作成するために使用しているスクリプト言語だけでなく、サーバー側でも確認できます( )。
追加された 著者 David Thomas,
HTML 5にはいくつかの検証プロパティがあります。しかし、彼らは実際に噴出ジェットではありません。 David Thomas氏によると、サーバー側のデータもチェックする必要があります。 @デビッドトーマス:彼はすでにjavascriptを使用しています、キャンセルボタンを参照してください。
追加された 著者 rekire,

4 答え

JavaScriptなしでアラートメッセージを生成することはできませんが、HTML5のプレースホルダ属性を利用して、このメッセージをユーザーに通知することができます。

<input type="text" placeholder="You must enter something in this field"! name="whatever" id="whatever" />

これをJavaScriptで結合する:

var inputElem = document.getElementById('whatever');
var form = document.getElementsByTagName('form')[0];

form.onsubmit = function(){
    if (inputElem.value = '' || inputElem.value.length < 1){
        alert('You must enter some actual information');
        return false;
    }
};

しかし、JavaScriptは、Firebug、Web Inspector、Dragonfly ...を使用してユーザーが編集することも、新しいHTMLファイルを作成して action 属性から同じソースにフォームを送信するだけでも編集できます> form 要素を使用します。したがって、フォーム処理スクリプト 必須 は、サーバーとクライアントの両方でサニタイズしてチェックする必要があります。クライアント側のチェックは、セキュリティ機能の であり、使用しないでください(不要なページの再読み込み、送信などを防ぐため) 、または間違っているとみなされます。

1
追加された

con.phpでは、データ検証を行い、マークアップを返す必要があります(またはエラーを説明するページにリダイレクトする)。

空のフィールドをチェックし、存在する場合は、フィールドを空にすることはできません(おそらく新しい値を入力できるようにする)というページにユーザーをリダイレクトします。

入力したデータがOKであれば、データベースが重複していないかどうかチェックし、存在する場合は、会社が既に存在することを示すページにリダイレクトします(ユーザーがデータを修正できるようにします)。

0
追加された

Ajax を同じページで使いたい場合は、 Ajax を使用するのが最も良い方法です。あなたはそれについていくつかのチュートリアルを読む必要があります。ここで展開するのは簡単ではありません。

リロードや他のページへのリダイレクトが問題ない場合は、送信されたフォームの値と、フォーム提出(アクションURL)からリダイレクトされる PHP スクリプトのデータベースの値を比較する必要があります。値が一致せず空でない場合は、データベースに値を格納し、企業のリストまたは「会社が正常に作成されました」というメッセージページのようなページにリダイレクトします。値が古いレコードと一致するか空であれば、同じフォームページにフラグ( form.php?error = 1 など)を付けてリダイレクトして、適切なエラーメッセージを表示します。

また、すぐに警告するには JavaScript を使用できます。しかし、ブラウザで JavaScript を無効にできるため、常に PHP 側で同じチェックを行う必要があります。

0
追加された

あなたはHTMLでしかできません。

フォームの検証を追加する必要があります(空の文字列を避けるため)、HTML5フォームの検証でそれを実行できます( http://www.broken-links.com/2011/03/28/html5-form-validation/ )、すべてのブラウザでサポートされているわけではありません。フォームを検証するためにJavaScriptを使用する必要があります。

古いブラウザを使用し、HTML5をサポートするブラウザのように動作するJavaScriptライブラリがあります( http://www.matiasmancini.com.ar/jquery-plugin-ajax-form-validation-html5.html )。

また、データベースにすでに存在する会社を検索し、それらをユーザーの入力と照合して、必要に応じて警告する必要があります。

その上に、データベースにデータを挿入する前にPHPのデータを検証する必要があります(空の文字列などを確認してください)。

0
追加された
PHP - 日本のコミュニティ [ja]
PHP - 日本のコミュニティ [ja]
4 参加者の

このグループではPHPについて話します。 パートナー:kotaeta.com