凍結
0 しろーと SCV40
トップページにメールフォームを設置したいのですが、上手くformタグが機能しません。

過去スレで同じような質問があり、そこに書かれていたformタグを使ってみたのですが、下記のタグにかかれているように自サイトのIDを入力し送信してもnot foundと出てしまいます。
あまり詳しくないので、何が間違っているのかも分かりません。
出来れば名前欄なども作りたいのですが、どうかご教示願えないでしょうか?

<form method="post" action="/サイトのID/mailbox.php?guid=on"><input type="hidden" name="id" value="サイトのID" />

<textarea name="message" rows="10" cols="30" style="max-width:100%"></textarea><br>
<br>
<input type="submit" name="submit" value="送信" onclick="input_token();">

<input type="hidden" name="token" value="" id="token" />
</form>

<script type="text/javascript">
function input_token () {
var now = new Date();
var year = now.getFullYear();
var month = now.getMonth() + 1;
var day = now.getDate();
var token = year + '-' + month + '-' + day;
document.getElementById('token').value = token;
}
</script>
03/30 23:18
返信
コメント投稿 検索
5 しろーと SCV40
>>4
出来ました!出来ました!!!
私の勘違いでURLを書き込んでいたみたいです。
ご丁寧に画像を添付していただき、また詳しいご説明もしてくださって誠にありがとうございました!
03/31 20:17
返信
4 しち SOV40
>>3
>>サイトIDとは

ホームページ編集画面のトップに
*━━━━━━━━━━
 サイト名
 ID:[●●●●]
*━━━━━━━━━━
とあるはずです。
その●●●●のところが、サイトIDです。
※『アカウントID』とは別物です。

設置したいのはトップページというお話でしたよね?
トップページのアドレスは、
* https://alicex.jp/●●●●/
のはずです。

>2箇所のサイトIDは同じものなのでしょうか?
同じものです。
『サイトID』の文字のところだけを、上記の●●●●……すなわちサイトIDに書き換えてください。
※トップページのURLを書き込んだりはしません、サイトIDだけです。

これでもなおNot Foundになるのなら、そのエラー画面をコピペしてここに書き込まれた方が早いかと……。(もし書き込む際はもちろん、自身のサイトIDに当たる部分は伏せ字にしてOKです)

サイトIDがホームページ編集画面トップのどこにあるかは、画像を添付しておきます。

もしかしたらなんですが、サイトIDじゃなくてアカウントIDを書き込まれているとか、そういったことはありませんか?
03/31 19:08
返信
3 しろーと SCV40
>>2
ご返信ありがとうございます。
仕様が変わっていたんですね…。お教えして頂きありがとうございました。

そこで重ねてお聞きしてしたいのですが、サイトIDはメールフォームを設置したいページのURLということでいいのでしょうか?また2箇所のサイトIDは同じものなのでしょうか?
何度も抜けがないか確認したのですが、入力してもやはりnot foundと出てしまいます。

折角ご注意して頂き申し訳ないのですが、折角新しいタグをお教え頂いたので暫くは設置型でやっていきたいです…。もし難しいようなら潔く諦めます。また再びご教示頂けると幸いです。
03/31 17:18
返信
2 しち Firefox
>>1を先にご確認ください。
何度でも書きますが、「自力でALICE+さんの仕様変更に対応して都度HTMLなどを書き換えられる」のでなければ、手書きHTMLによるメールフォームの設置はお勧めできません。

また突然仕様変更が入って現状のHTMLが使えなくなったとき、一番不利益を被るのは「メッセージを送ろうとしたのに送れなかったサイトの訪問者」や、「メッセージを送れたと思いきや管理人には届いていなかったため、結果的に“管理人に無視された”と感じることになったサイトの訪問者」です。

とはいえ、とりあえず今の仕様に合わせたメールフォームのHTMLは置いておきます。
以下は、『本来のメールボックス画面(【メールボックス設定】>【ページ編集】)に』『独自タグで設置されたメールフォームを』『PCで閲覧した際の』HTMLをコピペしてきたものです。
(ただし、actionをルート相対パスに変えたり、横スクロール防止のためテキストエリアに max-width:100% を入れたり横幅を調整しています)


<form method="post" action="/サイトID/mailbox.php?guid=on"><input type="hidden" name="id" value="サイトID" />
お名前<br>
<input type="text" name="name" size="" value=""><br>
メッセージ<br>
<textarea name="message" rows="10" cols="30" style="max-width:100%"></textarea><br>
<br>
<center><input type="submit" name="send" value="送信" onclick="input_token();"></center>

<input type="hidden" name="token" value="" id="token" />
</form>

<script type="text/javascript">
function input_token () {
var now = new Date();
var year = now.getFullYear();
var month = now.getMonth() + 1;
var day = now.getDate();
var token = year + '-' + month + '-' + day;
document.getElementById('token').value = token;
}
</script>


#書き換え必須
 →2箇所の『 サイトID 』
#書き換え自由
 →お名前、メッセージ、送信 などの日本語部分
 →入力欄のサイズ関係。テキストエリアなら『 rows="10" cols="30" style="max-width:100%" 』など(サイズ関係はデザインの領域なので説明は割愛)

送信テストはスマホ(Android9、Firefox)・PC(windows8.1、Firefox/iPadOS12.4.5、safari)のみで行い、いずれからも正常にメッセージを受信できました。

それと過去スレもそうなのですが、ガラケーからの表示確認は行っていないので、「送信できるのか」「横スクロールが発生しないか」などは分かりません。

また仕様変更があったときの参考にもなるので、とりあえず最新版のメルフォHTMLを書き込ませていただきました。
ただ、何度でも何度でも書きますが、独自タグ以上に安全なものはないので、手書きHTML設置は使わない方向で再検討を強くお勧めします…………。
どうしても使いたいときは、不具合が出ていないか定期的に点検するなど、十分に注意した上でお使いください。
03/31 16:34
返信
1 しち Firefox
>>0
結論を纏めると、
*「Not Found」と出るなら、URLが間違っている
*しかし、URLが正しかろうと>>0のHTMLではトップページからメッセージを送るのは不可能
*なぜなら>>0のHTMLは旧式のものであり、現在はALICE+側の仕様が変わったため、HTMLも最新式にしなければメッセージを送れなくなった
#今後もこういった仕様変更がありうるので、そもそもトップページにメールフォームを手書きHTMLで設置するのを“やめた方がいい”と思われる(→本来のメールボックス画面に独自タグを使ってメルフォを作る方が安全)
*それと、もしかしたら手書きHTMLメルフォだとガラケーに対応できていない恐れもある(※確認できる環境がPCとスマホしかないので確認しようがない)

順に詳細をば……
>>URLが間違っている
そのエラー画面に
* The requested URL ●●●●mailbox.php was not found on this server.
とかなんとか出ているかと思います。

大体想定できるのは以下です。
*『 action="/サイトのID/mailbox.php?guid=on" 』の部分をよく確認してみてください。
●スラッシュが抜けている(スラッシュが抜けるとURLが変わってしまうので、とても重要)
●スペルミス・半角のつもりが全角になっている
●〔自動改行する〕設定になっている上で、URLの間に無用な改行が入っている
●メルフォを設置しようとしているトップページのURLが『 https://alicex.jp 』じゃない(流石にこれは無いとは思いますが)

しかし、
>>0のメールフォームで実験してみたところ、URLが正しかろうと現状メッセージが送れません。
子ページで実験したのですが、子ページメルフォから本来のメールボックス画面へ飛ばされるだけになり、「子ページからメッセージを送る」ということはできませんでした。
これは「 ALICE+さんのメールボックス機能の仕様が変わったせい 」です。
>>つまり >>0のHTMLは、今はもう使えないということです。

よって……一意見ですので別に強制ではないんですが、
# そもそも、トップページにメールフォームを手書きHTMLで設置するのを“やめた方がいい”です……

おそらく参考にされた過去スレは、2018年8月のこれ(『メールフォーム』 http://bbs.alicex.jp/support/242/ )かと思います。
過去スレにメールフォームのHTMLを書き込んだ「5」は私なのではっきり言えますが、この書き込み当時のメールボックス機能から今現在のメールボックス機能で、い つ の 間 に か ALICE+さん側の仕様変更が入っています。

独自タグを使わずに手書きHTMLで設置することの怖さはこの、「仕様変更についていけない」ことです……。

*◆◆独自タグを使う利点◆◆
* URLなどHTMLの書きミスが起こらない
* 一つの独自タグが閲覧環境によりPC・スマホ・ガラケーそれぞれに合わせて置換されるので、端末別に表示を振り分ける手間がほぼない
* ALICE+さんの仕様変更があっても、自動で対応してくれるので書き換えの必要なし
そして手書きHTMLの欠点は、上記恩恵がすべて無い、ということです……。

本来のメールボックス画面のソースを見てみたところ、PCとスマホでは若干HTMLが異なっていました。(違いはscriptの有無)
実機のガラケーがないため、ガラケーでのHTMLがどうなっているかは不明です。
スマホからなら、PC用のHTML(script付)のままでも普通に送信できましたが……。ガラケーは送信テストすら自分には不可能なので……多分送れるんじゃないかなぁとしか言えません。

なお、今回の問題と最も関わりある、仕様変更に関して。
これはもう、「仕様変更が起きたらその都度、自力で書き換えて対応」する以外ありません。
ただその仕様変更が、アナウンス無しで行われることも多く……。少なくともメールボックスのHTMLが変更になったというアナウンスを、自分は聞いていません。

ちなみに具体的にどこがどう変わったかというと、
*旧) <input type="submit" name="submit" value="送信" onclick="input_token();">
>新) <input type="submit" name="send" value="送信" onclick="input_token();">

送信ボタンの『 name="●●" 』が変わったようです。
他項目は旧HTMLが分からないので比較しようもないですが、とりあえず>>0の送信ボタンを『 name="submit" 』から上記のように『 name="send" 』にするだけでもメッセージの送信は行えました(Androidスマホ・winPC・iPad miniで確認)。

同問題でこのスレに辿り着く方もいるかと思うので、最新版メルフォHTMLも載せるだけ載せておきます。続く→
03/31 16:32
返信