人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

fopenで指定したurlの構文が書けません。
以下のプログラム(tset12.html,test12.php)で、test12.htmlに入力し「送信」ボタンをクリックした後
http://
ではなく
https://
というように表示させる事ができません。
https://*****.*****.***/test12.php?id%5B%5D=A&id%5B%5D=B.....
の様な表示です。
以下、tset12.html,test12.php を修正してください。
---test12.html
<html>
<head>
<title>form</title>
</head><body>
<p>お好きなモノをお選びください。</p>
<form name="form1" method="get" action="test12.php">
<INPUT type=checkbox value="A" name=id[] >A<BR>
<INPUT type=checkbox value="B" name=id[] >B<BR>
<INPUT type=test name="mail" ><BR>
<input type="submit" name="Submit" value="送信">
</form>
</body>
</html>

---test12.php
<?php
mb_internal_encoding("utf-8");
mb_language("ja");
$body = "";
$s_mail = $_GET['mail'];
echo $s_mail;
foreach ($_GET['id'] as $value) {
$value = mb_convert_encoding($value, 'utf-8', 'auto');
$body = $body . $value . "\n";
}
$s_mail = $_GET['mail'];
mb_send_mail($s_mail, "件名テスト12", $body, "From: k**@**.ne.jp");
?>


●質問者: kohhi
●カテゴリ:コンピュータ ウェブ制作
✍キーワード:AS BODY echo HTML http://
○ 状態 :終了
└ 回答数 : 4/4件

▽最新の回答へ

1 ● うぃんど
●60ポイント ベストアンサー

2度ほどコメント欄でご注意申し上げているのですがコメント欄は読んでいただけないようなので回答欄で失礼します

あなたは私の知る限りでも2度takntさんの誤った指導を受けています

(1)http://q.hatena.ne.jp/1288017292

test06.htmlに対するtakntさんの回答はセキュリティホールやバグの温床となる構文です

issetによって変数の存在を確認した後、変数の中身が正しいものかどうかを判別すべきなのです

(2)http://q.hatena.ne.jp/1288519101

test12.htmlに対するtakntさんの回答はまったくもって無関係な話です

fopenはサーバ内部で使われるためtest12.phpの中で使ってもブラウザのアドレス欄にはなんの影響も及ぼしません

対応としてはyocchan731さんの回答にありますようにtest12.htmlのFORMタグにあるACTIONにてhttpsから始まるアドレスを書くことです

<form name="form1" method="get" action="https://*****.*****.***/test12.php">

上記でうまくいかないとすればWEBサーバがhttpsでのアクセスに対応していないという可能性がありますので、

サーバ環境を明記して対応策を募集してみてください(環境によってはhttpsの利用が不可の場合もあります)

◎質問者からの返答

>コメント欄でご注意申し上げているのですがコメント欄は読んでいただけないようなので回答欄で失礼します

確かに読んでおりませんでした。

大変失礼いたしました。



>システムを作っていくのであればisset関数で変数が存在するかどうかをチェックするようにしましょう

まず、変数の存在確かめるわけですね。大変参考になります。

>fopenはサーバ内部で使われるためtest12.phpの中で使ってもブラウザのアドレス欄にはなんの影響も及ぼしません

おっしゃる通りでした。

>FORMタグにあるACTIONにてhttpsから始まるアドレスを書くことです

今、サーバ側のSSLの設定の所まで来ました。

長かったです。(まだ長いかな)

バッチのプログラム専門だったんで(VB)ご迷惑おかけして、すいません。


2 ● deflation
●60ポイント

test12.htmlのみ、下記のように修正が必要です。


---test12.html
<html>
<head>
<title>form</title>
</head><body>
<p>お好きなモノをお選びください。</p>
<form name="form1" method="get" action="https://*****.*****.***/test12.php">
<INPUT type=checkbox value="A" name=id[] >A<BR>
<INPUT type=checkbox value="B" name=id[] >B<BR>
<INPUT type=test name="mail" ><BR>
<input type="submit" name="Submit" value="送信">
</form>
</body>
</html>

3 ● niwa-mikiho
●30ポイント

action の部分に https:// で指定すれば可能です。



可能であるならば、 test12.html も https のところに置いたほうが良いです。


4 ● バンビ
●0ポイント

それは、分かりませんね。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ