- 締切済み
ホームページの入力ホーム プログラミングコードあっ
ホームページの入力欄を作成しています。写真と同じものです。 ファイルのURLは下にあります。 入力ホームに入力されていないと文字のエラーメッセージがでるようにphpコードを書きました。入力されていなければ出るエラーメッセージはこのコードで合っていますでしょうか?phpファイル名cart1 また、入力ホームの最後、送信ボタンはオリジナル画像をクリックされたら、入力情報を送信できるようにコードを書きました。phpファイル名cart uketori また、HTMLファイルの最後の方にコードを書きました。 しかしブラウザで画像をクリックしてみると、入力ホームに入力した情報が表示されず、phpファイルcart1のコードがそのまま表示されます。画像をクリックしてきちんと情報を受信できるようにするにはどうコード書いたら良いでしょうか?そのコードを教えてください。 HTMLファイルの中にphp上記2つを同期?指定?させました。このやり方であってますでしょうか? HTMLファイル https://drive.google.com/file/d/1e5dZNHMoZjGp0A63pRdlXO__v78TR0mm/view?usp=sharing CSS 名前Mresponsive https://drive.google.com/file/d/19DD_dA4oXMcvoBE9zA2jAXzpxAXn_rek/view?usp=sharing php 名前 cart1 https://drive.google.com/file/d/1i9FFYZZ5VWKJP2IKRg93_Mohe-JPTViN/view?usp=sharing php 名前 cart uketori https://drive.google.com/file/d/1NdZlfMHf6ELl9QRFUiN2aa4BhIk2ttQN/view?usp=sharing 回答よろしくお願い致します。 すごく困っています。
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- asciiz
- ベストアンサー率70% (6825/9705)
まああと現実的なことを書くと、<form method="GET"> (またはmethod指定なし) でのデータ渡し(URL渡し)は、セキュリティ的に非常に弱いです。 URLはブラウザのアドレス欄で簡単に書き換えられるので、チェックをした後のURLを書き変えて、プログラムに不正データを渡すことが誰でも簡単にできてしまいます。 例えば今回のプログラムで、 http://(サーバ名)/cart_uketori.php?pay=BITCOIN と書き換えてEnterすれば、元の選択肢にない、支払い方法=BITCOIN がプログラムに渡せてしまいます。 安易なデータ書き換えをやられないように、<form method="POST">でデータを送るべきでしょう。 受け取り側では、$_POST['パラメータ名']と書けば、POSTされた値を受け取ることができます。 まあ、見られてもいい、変更されてもいいような値なら、URL渡し(method="GET")でも構いませんけど。
- asciiz
- ベストアンサー率70% (6825/9705)
>HTMLファイルの中にphp上記2つを同期?指定?させました。このやり方であってますでしょうか? えーといくつか疑問点が… cart1(.php) は、その画面内で動き、エラーチェックをするのですか? forn action で指定してしまったら、cart1 を表示するリンクと同じになってしまいます。だからcart1が表示されてしまいます。 画面遷移せずにチェックするなら、cart1の内容は、プログラミング部分を、htmlファイルの <head>~</head> 内にコピペして、取り込んでください。 そして<form acrion="cart1"> 行は削除してください。 cart_uketori(.php) の方ですが、<head>の中でechoしたって、ブラウザ画面には出ません。 <body>の中で echo すれば、テキストとなって出てきます。 なので例えば、cart_uketori(.php)の <body> と </body> の間に、次のテキストを入れてみてください。 ---- ここから ---- c= <?php echo $_GET['c']; ?></br> uc= <?php echo $_GET['uc']; ?></br> site_id= <?php echo $_GET['site_id']; ?></br> name= <?php echo $_GET['name']; ?></br> name2= <?php echo $_GET['name2']; ?></br> tel= <?php echo $_GET['tel']; ?></br> email= <?php echo $_GET['email']; ?></br> pay= <?php echo $_GET['pay']; ?></br> ---- ここまで ---- HTMLから <form action="cart1"> の行を削除して、cart_uketoriに上記を入れると、希望とは違うでしょうけど、何か動くと思います。 パラメータの受け渡し方法が理解できれば、 一旦確認画面を表示し、最終的に受け取る、というような処理もできるでしょう。 まあ確認画面作るのって面倒くさいんですけどね。 確認表示用に echo するのと、php自身でcart_uketori への送信フォームを作り、<input type=hidden name="パラメータ" value="<?php echo $_GET['パラメータ']?>'">ですべてのパラメータを再現しなければいけません。 そうして、[確認]ボタンで、フォームが再度submitされ、cart_uketori に渡す、というイメージです。 あ、</form>がどこにもありませんでしたので、フォームの終わりに書いてちゃんと閉じましょう。