ホームページ >バックエンド開発 >PHPチュートリアル >Ajax+PHP の学習と実践 パート 4 Form_PHP チュートリアル

Ajax+PHP の学習と実践 パート 4 Form_PHP チュートリアル

WBOY
WBOYオリジナル
2016-07-21 15:42:11722ブラウズ

フォームに関しては、リクエスト メソッド (GET と POST) の送信の問題が関係します。GET と POST の使用法と違いについては、この記事では詳しく説明しません。一般に、Web 開発では、POST 値の送信は暗黙的に行われます。送信されるデータ量が多いため、より一般的に使用されます。この例では、functions.js を以下のように変更し、XMLHttp オブジェクトプログラムを関数 processajax として作成します。

コードをコピーします コードは次のとおりです:

function processajax (serverPage, obj, getOrPost, str){
//作成したXMLHttpRequestオブジェクトをgetxmlhttp()関数に書き込み、オブジェクトを取得します
xmlhttp = getxmlhttp ( );
//GET メソッド (以前の記事と同じ)
if (getOrPost == "get"){
xmlhttp.open("GET", serverPage);
xmlhttp.onreadystatechange = function(){
if (xmlhttp .readyState == 4 && true パラメーターは非同期関数をオンにします
xmlhttp.open("POST", serverPage, true);
//POST リクエストを作成します
xmlhttp.setRequestHeader("Content-Type"," application/x-www-form-urlencoded; charset =GB2312");
xmlhttp.onreadystatechange = function() {
if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
obj.innerHTML = xmlhttp. responseText;
}
}
//Form ( Form) pass value
xmlhttp.send(str);
}
}


下の図では、「送信」ボタンをクリックすると、submitform 関数 (関数) が実行されます。 js) がトリガーされ、getformvalues 関数を通じてフォームの内容がチェックされます。すべて入力されているかどうかを確認します。そうでない場合は、どの項目が入力されていないかを確認するメッセージが表示されます。チェックに合格すると、process_task.php プログラムが呼び出され、Form 値がデータベースに書き込まれます。


submitform関数:


コードをコピーします

コードは次のとおりです: notask

function submitform (theform, serverPage, objID, valfunc){
var file = serverPage //フォームの値を確認します var str = getformvalues( theform,valfunc); // if (aok == true){ にすべてのフォームを入力します
obj = document.getElementById(objID)
// 値を渡すために Ajax を実行します
processajax(serverPage) , obj, "post", str ;
//フォーム内のすべてのオブジェクトを走査します
for(var i = 0; i if(valfunc){
if (aok = = true){
val = valfunc (fobj.elements[i].value,fobj.elements[i].name);
if (val == false){
aok = false; += fobj.elements[i].name + "=" +scape(fobj.elements[i].value) + "&"
}
//フォームの値を文字列として返します
return
}


process_task.php プログラム:
コードをコピーします
コードは次のとおりです:


require_once ("dbconnector.php")
opendatabase(); $あなたの名前 = ストリップ_タグ (mysql_real_escape_string ($_POST['あなたの名前' ]));
$あなたのタスク = ストリップ_タグ (mysql_real_escape_string ($_POST['あなたのタスク']));
$thedate = ストリップ_タグ (mysql_real_escape_string ($_POST['thedate']) ));
//Insert ステートメントを作成します
$myquery = "INSERT INTO task (name, thedate, description) VALUES ('$yourname','$thedate','$yourtask')";
if (!mysql_query ($myquery)){
header ( "Location: theform.php?message=エントリに問題がありました。")
exit;
}
//成功メッセージを返す
header ("Location: theform.php?message=エントリに問題がありました。"); : theform.php?message=Success");
?> ;


ソースコードのダウンロード


http://www.bkjia.com/PHPjc/321007.html
www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/321007.html
技術記事

フォームに関しては、リクエスト メソッド (GET と POST) の送信の問題が関係します。GET と POST の使用法と違いについては、この記事では詳しく説明しません。一般に、Web 開発では、POST 値の転送は暗黙的に行われます。 ...





声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。