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");
?>

回答の条件
  • 1人3回まで
  • 登録:
  • 終了:2010/11/04 19:41:22
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

ベストアンサー

id:windofjuly No.1

回答回数2625ベストアンサー獲得回数1149

ポイント60pt

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の利用が不可の場合もあります)

id:kohhi

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

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

大変失礼いたしました。



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

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

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

おっしゃる通りでした。

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

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

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

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

2010/11/02 13:25:56

その他の回答3件)

id:windofjuly No.1

回答回数2625ベストアンサー獲得回数1149ここでベストアンサー

ポイント60pt

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の利用が不可の場合もあります)

id:kohhi

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

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

大変失礼いたしました。



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

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

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

おっしゃる通りでした。

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

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

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

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

2010/11/02 13:25:56
id:deflation No.2

回答回数1036ベストアンサー獲得回数126

ポイント60pt

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>
id:niwa-mikiho No.3

回答回数516ベストアンサー獲得回数40

ポイント30pt

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



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

id:h19981208 No.4

回答回数8ベストアンサー獲得回数0

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

  • id:hgijgbnfhfg
    (はてなにより削除しました)
  • id:rouge_2008
    WEBサーバーにSSL環境が構築されているのでしょうか?
    ローカルでテストするのでしたら、Xamppを導入するのが一番簡単だと思います。
    http://www.apachefriends.org/jp/xampp.html

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません