ホームページ >バックエンド開発 >PHPチュートリアル >同じフォーム内で php を追加および変更する_PHP チュートリアル

同じフォーム内で php を追加および変更する_PHP チュートリアル

WBOY
WBOYオリジナル
2016-07-13 10:29:17893ブラウズ

Web サイトを作成するときに、このような状況に遭遇することがあります。このフォームは、バックグラウンドでデータを受信し、それをデータベースに保存するために使用されます。この記事を変更したいのですが、どのように対処しますか?

私の方法は、同じ形式で記事を作成することです。次の例は、Thinkphp フレームワークを使用して作成したコードです。Thinkphp を理解していなくても、問題ありません。

フロントがこうだったら

操作を受信するための記事コントローラーの add メソッドへの送信を示す説明。

とてもシンプルな形です

バックグラウンドでデータを直接受信します。

パブリック関数の追加{

if(IS_POST){

//ここで、実際にボタンに name="submit" 属性を追加できます。その後、if(isset($_POST['submit']) を使用して投稿の送信を決定します。

$title = $_POST['title'];

$content = $_POST['content'];

if($title&&$content){

//データを挿入します。

$flag = モデル->追加(投稿されたデータ);

if($flag) $str = "成功";

else $sttr="失敗";

}その他{

$str = "失敗しました。タイトルまたはコンテンツを空にすることはできません!";

$this->error($str,U('article/index'));

終了;

}

//演算結果を返します。

$this->success("Add".$str,U('article/index')) //記事一覧ページにジャンプします

終了;

}

$this->display();// 送信されていない場合は、テンプレートを表示します。

}

操作が成功または失敗した場合は、追加ページに戻ります。主に、追加されていない場合は、次のテンプレート ファイルが表示されるためです。 if (IS_POST) else

//変更を加えたい場合は、URL を介して接続し、記事コントローラーの add メソッドをポイントし、上記のメソッドである ID を渡します。

フォームでは、次のように変更する必要があります。


フォームに隠しフィールドを追加しました。その変数がある場合は、そのIDを追加します。

バックグラウンド処理ページ。

パブリック関数の追加{

if(IS_POST){

$title = $_POST['title'];

$content = $_POST['content'];

if($title&&$content){

//データを挿入します。

//ここではまず配列を作成し、そこにデータを入れます

$data = 配列(

'タイトル' => $title,

'cntent'=> $content

);

if($id = $_POST['id']){

//ID があることを示します...

$flag = モデル修正データ;

}その他{

$flag = モデルはデータを追加します;

$type = "追加";

}

if($flag) $str = "成功";

else $sttr="失敗";

}その他{

$str = "失敗しました。タイトルまたはコンテンツを空にすることはできません!";

$this->error($str,U('article/index'));

終了;

}

//演算結果を返します。

$this->success($type.$str,U('article/index')) //記事一覧ページにジャンプします

終了;

}

//ここでのテンプレート出力にも注意を払う必要があります。

if($id = $_GET['id']){

$this->ret = モデルは $id を通じてデータをクエリし、それをテンプレートに入れます。

}

$this->display();// 送信されていない場合は、テンプレートを表示します。

}

ロジックは少し複雑ですが、添付ファイルがある場合の対処方法を少し拡張してみましょう。実際、添付ファイルがあるかどうかを判断する必要があるだけです。 if ($_FILES['file']) だけを書いた場合、実際に添付ファイルが送信されたかどうかを判断できないため、 if($_FILES['file' ]['name']) を使用して判断します。添付ファイルがありません。配列は空ではありませんが、Array ( [ name] => [type] => [tmp_name] => [エラー] => 4 [サイズ] => 0 ) これはもちろん if 判定文でも当てはまります

だから、判断するために名前を追加する必要があります...

さて、くだらないことをたくさん言いましたが、読んでいただきありがとうございます。

お役に立ちますように。

ご多幸をお祈りします



http://www.bkjia.com/PHPjc/777990.html

www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/777990.html技術記事 Web サイトを作成するときに、このような状況に遭遇することがあります。このフォームは、バックグラウンドでデータを受信し、データベースに保存するために使用されます。
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。