タイトルの通りで、やり方をいろいろ調べておりました。
php、javascript、jQueryなど、いろんな方法が出てくるんですが。
その中で一番参考になったのは、
JavaScriptでURLのパラメータやアンカーを判断して処理を変更する方法 | Tips Note by TAM
https://www.tam-tam.co.jp/tipsnote/javascript/post9911.html
です。この方法でうまくいくと思ったんですが…できなかったんです。
開発コードとかもみて、
ReferenceError: "x" is not defined - JavaScript | MDN
https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Errors/Not_defined
が出てきて、そのエラーも消えるようにファイルを編集してみたんですけど。
無理でした、phpファイルだったからでしょうか。
上のサイトで紹介されてるのはhtmlの時でしたし。自分のサイトのURLに"?"が含まれてたんで、いけると思ったんですが。
どんな方法でもいいので、
(1)URLが http://●●●/data.php?key=大阪
の時、Webページの真ん中あたりに「大阪でっせ」と出す。
(2)URLが http://●●●/data.php?key=広島
の時、Webページの真ん中あたりに「広島じゃけえ」と出す。
(3)URLが http://●●●/data.php?key=東京タワー
の時((1)(2)以外の時)、Webページの真ん中あたりには何も出さない。
といったサイトを作りたいです。
よろしくお願い致します。
「どんな方法でもいいので」ということなので、元のコードを修正するのではなく、動くコードを提示します。
javascript です。
表示したいところに、以下を埋め込んでください。
<script> (function() { var m = /\bkey=(.*?)(&|$)/.exec(location.search); if (m) { var msg = ""; switch (decodeURIComponent(m[1])) { case "大阪": msg = "大阪でっせ"; break; case "広島": msg = "広島じゃけえ"; break; } if (msg != "") { document.write('<p class="message-by-key">' + msg + "</p>"); } } })(); </script>
PHP であれば、HTML を書く場所(<?php ~ ?>
の外側)です。
はてなブログに埋め込んだ記事を書いてみました。
以下、パラメータをつけたページへのリンク。
「どんな方法でもいいので」ということなので、元のコードを修正するのではなく、動くコードを提示します。
javascript です。
表示したいところに、以下を埋め込んでください。
<script> (function() { var m = /\bkey=(.*?)(&|$)/.exec(location.search); if (m) { var msg = ""; switch (decodeURIComponent(m[1])) { case "大阪": msg = "大阪でっせ"; break; case "広島": msg = "広島じゃけえ"; break; } if (msg != "") { document.write('<p class="message-by-key">' + msg + "</p>"); } } })(); </script>
PHP であれば、HTML を書く場所(<?php ~ ?>
の外側)です。
はてなブログに埋め込んだ記事を書いてみました。
以下、パラメータをつけたページへのリンク。
仮にこのcaseが100、200と増えた場合、サイトの表示は重くなると思いますか?
その程度であれば、「重くなる」という意味では、人間には分からない程度でしかないと思います。
ただ、回答に書いたコードだと選択肢を増やしていくのがものすごく面倒です。
ブログの方に書いた「今どきの...」のやつみたいに、変わるところだけを別にくくり出したりするとか、あの形式でもやっぱり入力は面倒なので、タブ区切りでデータを埋め込んでおいて(*)、そこからキーとメッセージを読み取るようにするとか。
(*) Excel に元になるデータを持っておいて、そこからコピペするイメージ
後は、php なので、キーとメッセージを持っておく DB のテーブルを作っておいて、そこから読みだすとか。
a-kuma3さんありがとうございました。
もし可能でしたら、条件が多い場合の処理につきまして、
再度お力をお貸し頂けないでしょうか。
http://q.hatena.ne.jp/1536995470
よろしくお願い致します。
■
JavaScriptでURLのパラメータやアンカーを判断して処理を変更する方法 | Tips Note by TAM https://www.tam-tam.co.jp/tipsnote/javascript/post9911.html です。この方法でうまくいくと思ったんですが…できなかったんです
大丈夫だと思うのですが、上記のサンプルは一部「jQuery」を使ってるので、jQuery組み込まないと上記の部分は動作しないですが、大丈夫ですか?
■
>どんな方法でもいいので、
PHPでよいのなら、こんな感じ。
<?php
$output_str="";
if(strcmp($_GET["key"],"大阪") == 0){ $output_str="大阪でっせ"; } if(strcmp($_GET["key"],"広島") == 0){ $output_str="広島じゃけえ"; }
//出力する echo $output_str;
■
>jqueryを使うには何か実装しないといけないんですか?
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
ありがとうございます、勉強になります!
その程度であれば、「重くなる」という意味では、人間には分からない程度でしかないと思います。
2018/09/15 15:10:34ただ、回答に書いたコードだと選択肢を増やしていくのがものすごく面倒です。
ブログの方に書いた「今どきの...」のやつみたいに、変わるところだけを別にくくり出したりするとか、あの形式でもやっぱり入力は面倒なので、タブ区切りでデータを埋め込んでおいて(*)、そこからキーとメッセージを読み取るようにするとか。
(*) Excel に元になるデータを持っておいて、そこからコピペするイメージ
後は、php なので、キーとメッセージを持っておく DB のテーブルを作っておいて、そこから読みだすとか。
a-kuma3さんありがとうございました。
2018/09/15 16:12:01もし可能でしたら、条件が多い場合の処理につきまして、
再度お力をお貸し頂けないでしょうか。
http://q.hatena.ne.jp/1536995470
よろしくお願い致します。