- ベストアンサー
PHPフォーム入力プログラムの流用性を高める方法
ggaoggの回答
PHP学習時に本で読んだ程度ですが、 PEARライブラリにHTML_QuickFormというものがあります。 フォームに一般的な、入力、チェック、確認の機能があります。 ただ、ある程度フォームの見栄えは決まってきてしまいます。 自分でアプリケーション作成するために使ったことはないので、これ以上のことは言えませんが、参考になれば幸いです。
関連するQ&A
- PHP 入力フォームにあらかじめ文字を入れておく
PHPプログラミングをしております。 入力フォームを作成しているのですが、前のページで入力し、受け取った内容をもう一度表示させたいのです。 入力フォームにあらかじめ文字を入れておくのは、フォームタグに value="文字" をつけたせば良いのはわかったのですが、 今回文字を$text = $_POST['name']; という形で受け取っています。 入力フォームにあらかじめこの受け取った$text を表示させるにはどうすれば良いのでしょうか。
- ベストアンサー
- PHP
- フォームの入力時の項目切替について
メールフォームを作っているのですが、以下の機能が出来るかお伺いしたく質問させていただきます。 フォーム入力欄にて ・変更項目:「1」・「2」・「3」・「4」 ・名前: ・郵便番号: ・住所: ・メールアドレス: ・備考: 上記の普通のフォームがあるとして、一番最初の変更項目にて 「1」を選択した場合には、その下にある→変更項目、名前、郵便番号、住所、備考の入力ボックスのみ残し他のメールアドレス入力欄は未表示にする。 また、変更項目欄にて「2」を選択した場合には→変更項目、名前、備考の入力ボックスのみ残し他の郵便番号、住所入力欄は未表示にする。 と言ったような事を行ないたいと考えております。 要は、フォームで各種変更依頼なるものを作成し、会員であるお客様に対し変更項目の内容を入力していただこうとしています。 ですが、変更項目毎にフォームを作るのも可能ですが、どうせなら1つのフォームで処理できるのであればと考えました。 また、お客様にとって初めに変更項目を選択していただき残りの入力欄は必要箇所だけ残っていれば、少々親切かな?とも考えております。 スクリプトが分かれば良いのですが、色々と検索してみても発見できなかったので質問させていただきました。 参考URLがあれば教えていただくだけでも結構ですし、スクリプトがあるようでしたら宜しくお願いいたします。
- ベストアンサー
- その他(プログラミング・開発)
- phpによる入力フォームのチェック
入力フォームの入力チェックを行いたいと思います。 姓 :テキストボックス <div></div> 名 :テキストボックス <div></div> 郵便番号:xxxx <div></div> とあった場合、 javascriptで、チェックをかけ、未入力の際等に 各DIVブロックに、innerhtmlで、「入力項目を確認してください」等を 書き込ませば対応できると思っています。 PHPでもjavascriptと同じように、innerhtmlと同じようの動作をさせ ページの一部分を変更させるとか できるのでしょうか? それとも受け取った内容(POST)をチェックし、 「入力項目を確認してください」のページを別に用意する必要があるのでしょうか?
- ベストアンサー
- PHP
- フォームに入力しているのにはじかれてしまう
詳細がわからないのですが、 あるWebでフォームに住所や氏名などを入力して、送信ボタンで内容を送るページを作成しています。 たまに、全ての項目に入力しているのに例えば「住所がブランクです。入力してください」というMsgではじかれてしまうという問い合わせがあります。 よく、「Cookieを有効にしてください」とか「JavaScriptがどうのこうの」ということが書いてあるフォームもありますが、本当の所原因は何でしょうか。 例えばブラウザはIEでしか使用できない、や他に原因があるのでしょうか。 よろしくお願いします。初心者です。
- ベストアンサー
- CGI
- PHPでフォームに自動入力
PHP初心者です。 (1)フォームに手入力しsubmit (2)手入力の内容をファイルに保管 (3)よそのサーバのフォームを開きユーザ名/パスワードを入力しsubmit (4)パスワード入力後に展開されるフォーム(https)に(1)の手入力の内容を入力しsubmit (5)"(4)"でsubmitした結果で次に表示するフォームを決定したい submitした結果はフォームに正常/エラーが表示されます 自サーバのWebフォームに入力された内容を他のサーバに反映したい。 サーバへの反映結果で次処理を変えたい。 他のサーバに反映させる手段はWebの入力フォームのみとなっています。 (3)(4)(5)をサーバで動作するPHPで自動的(トリガーは(1))に行いたいです。 (3)(4)(5)の実装方法をどなたかご伝授いただけないでしょうか。 サンプルのソースがあればありがたいです。 linuxサーバ(Fedora) PHP 5 質問内容が大きすぎ申し訳ないですが伝授いただけないでしょうか。
- 締切済み
- PHP
- PHP入力フォームについて
現在入力フォームを作っています。 流れとしてはDBに入っている会員情報をフォーム上に呼び出して(各inputにはDB内の会員の情報が表示される)各会員が自分の情報を編集できるというフォームです。 ここで質問なのですが、会員の人が自分の入力内容を変更した際に入力漏れがあるとフォーム画面に戻るのですがその際に入力した内容が表示されるのではなくDB内のデータが表示されてしまいます。 これをDB内のデータではなく入力した内容にしたいのですが、どうしたらよろしいでしょうか? ソースは下記になります。 form.php <?php DB呼び出し・・・ $_SESSION['name'] = $row['name']; ・・・ ?> <?php echo $_SESSION['err_name']; ?> <input type="text" name="name" value="<?php echo $_SESSION['name']; ?>" /> confirm.php <?php $name = htmlspecialchars($_REQUEST['name']); if(!strlen($name)) { $_SESSION['err_name'] = '氏名を入力してください。'; $errFlag = true; } else { unset($_SESSION['err_name']); } エラーの時はform.phpに戻る ?> <?php echo $name; ?> としています。 とても省略していますが、お分かりの方がいらっしゃいましたら教えていただけると助かります。
- 締切済み
- PHP
- フォームへの未入力を無くしたい
[やりたいこと(宜しくおねがいします)] フォームの未入力「コンボボックス」と「テキストボックス」を事前に把握したい。 [(やりたいこと)の実現と希望] このサイトでアドバイスを頂きまして、長年に渡り作成できたデータベースが「68」、入力するフォームは「78」を超えます。現状「フォーム」の構成を生かす方法を含めアドバイスをお願いします。 [入力するフォームに共通していること] 1,コンボボックスとテキストボックス ・全てのコンボボックスへの選択入力は必須になっている。 ・テキストボックスは未入力箇所も発生する。「未入力箇所は不特定」 2,フォームに共通して配している2つのコマンドボタン ・フォームを閉じるボタン「マクロ(クリック時)」 ・情報の最新化ボタン「マクロ(クリック時)」 ※コンボボックスの選択項目追加時に反映用として配置 以上ですが、宜しくお願いします。
- ベストアンサー
- Access(アクセス)
- ACCESS2003フォーム入力
ACCESS32003のフォームウィザードで作成した単票形式フォームで、データを表示することはできるのですが、データを変更(入力)することができません。 XP(SP3)でSqlserver2005のテーブルをODBC接続している環境です。 テーブルリンクは問題ありません。 フォームプロパティのデータ入力用を『はい』にしましたができませんでした。 入力可能にする方法を教えてください。宜しくお願いします。
- 締切済み
- その他(プログラミング・開発)
- php5のフォーム
サーバーの仕様が変わってフォームが動かなくなって困っています。 現在のフォームはphp4で、仕様はphp5にしか対応しなくなったということです。 古いコードが使われているからだとは思いますが、 全くの初心者の私には何をどう書き換えたらいいのかさっぱりで、質問に至った次第であります。 現在の状況を説明しますと、フォームに内容を入力して、 エラー画面、確認画面まではしっかり動くのですが、 ”この内容で送信する”ボタンで 問い合わせフォーム真っ白になってしまいます。 ソースは以下です。 ・mail.php========================= <? include_once "func.php"; include_once "mail.pear.php"; class MainClass{ function MainClass(){ switch( $_REQUEST['type'] ){ case "step1": if( $this->Chk_Input() ){ $_REQUEST['act'] = ""; break; } break; //メール送信 case "step2": // 管理者にメール送信 $msg = "お問い合わせフォームより以下の内容が送信されました。\n\n" ."内容をご確認の上、ご担当者様へご連絡をお願いいたします。\n\n\n" ."お名前 : ".$_POST['name']."\n" ."メールアドレス : ".$_POST['mail_ad']."\n" ."お問い合わせ内容 : ".$_POST['other']."\n"; new MailSendByMTA( "**@**.jp" , "**@**.jp" , "【お問い合わせ内容】" , $msg , "" , 0 ); // 登録者にメール送信 $msg = "".$_POST['name']." 様\n\n" ."このたびは「お問い合わせ」をいただき、誠にありがとうございます。\n" ."お問い合わせ内容をご確認ください。弊社スタッフより改めてご連絡いたします。\n\n" ."お名前 : ".$_POST['name']."\n" ."メールアドレス : ".$_POST['mail_ad']."\n" ."お問い合わせ内容 : ".$_POST['other']."\n\n\n\n" ."(株)******\n\n" ."〒111-1111 **県**市****123-456\n" ."電話:000-000-0000 FAX:000-000-0000\n"; new MailSendByMTA( "**@**.jp" , $_POST['mail_ad'] ,"【お問い合わせ内容】" , $msg , "" , 0 ); pageJump( $_SERVER['PHP_SELF']."?act=step2" ); break; } switch( $_REQUEST['act'] ){ case "step1": include_once "review.html.php"; break; case "step2": include_once "thanks.html.php"; break; default: include_once "form.html.php"; } } function Chk_Input(){ if( chkErr_Func( $_POST['name'],0 ) ){ $this->errTxt .= "お名前を入力して下さい。<BR>"; } if( chkErr_Func( $_POST['mail_ad'],0 ) ){ $this->errTxt .= "メールアドレスを入力してください。<BR>"; } else{ if( chkErr_Func( $_POST['mail_ad'],3 ) ){ $this->errTxt .= "メールアドレスに誤りがないかご確認下さい。<BR>"; } else{ if( $_POST['mail_ad'] != $_POST['mail_ad2'] ){ $this->errTxt .= "メールアドレス入力確認の内容がメールアドレスの内容と異なっています。<BR>"; } } } if( chkErr_Func( $_POST['other'],0 ) ){ $this->errTxt .= "お問い合わせ内容を入力してください。<BR>"; } return ( $this->errTxt != "" ) ? true : false; } } new MainClass(); ?> 長々とすいませんが、ご教授ください。 お願い致します。
- 締切済み
- PHP
お礼
回答ありがとうございます。 HTML_QuickFormを利用するか、 HTML_QuickFormのアーキテクチャを分析して オリジナルを作ってみようかと思います。