スレッド表示 | フラット表示〕 全トピック 920 件中 252 番目 次≫ ≪前

URLに?を

created: 2006-04-23 20:37 | modified: 2006-04-24 23:18 | reply: 4

[3041] URLに?を

user: キムロ | created: 2006-04-23 20:37
URLのうしろに?hogeというふうに追加することで、表示を切り替えたいのですが・・・どうすればいいのでしょうか。。。
GETを使うと、?hoge=hogeになってしまいますし、、、
reply: 3042 返信 編集 削除

[3042] Re.URLに?を

user: さとし | created: 2006-04-24 00:13
if(isset($_GET["hoge"]))
{
 print "hogeがセットされています。";
}
こうゆう事でしょうか?
Parent: 3041  reply: 3043 返信 編集 削除

[3043] Re.URLに?を

user: キムロ | created: 2006-04-24 08:18
それだと、URLにアクセスするときに、
hoge.php?hoge=hoge
になりませんか?
hoge.php?hoge
としたいんです。
Parent: 3042  reply: 3045 3046 返信 編集 削除

[3045] Re: Re.URLに?を

user: ぱぴよん | created: 2006-04-24 09:29
キムロさん、こんにちは。

少し勘違いをされているようです^^;

URL?key1=value1&
  ~~~~ ~~~~~~
  変数名 値

上記のように考えられた方が分かりやすいかもしれませんね。

この例では
$_GET['key1'] が変数名となり、value1 が $_GET['key1'] の値となります。

if(isset($_GET['key1'])) {}
というのはGETで渡す変数名に key1 があるかどうかを判断しています。

ですので、
hoge.php?hoge=hoge
とはならず、
hoge.php?hoge
で判断できるのです。

もし、値を見て判断されるのでしたら次のようになります。

if((isset($_GET['key1'])) && ($_GET['key1'] == 'value1')) {}
これで、変数名がkey1が存在し、かつその値がvalue1でなければ
その中の処理が通らなくなります。



ですので、今回はさとしさんがおっしゃるように
if(isset($_GET['hoge'])) {}
で判断できます。
Parent: 3043  返信 編集 削除

[3046] array_key_exists

user: ゆうじ | created: 2006-04-24 23:18
みなさんこんばんわ。

URLパラメタの値の有無にかかわらず、
URLパラメタ名の有無だけで処理を分岐できないか、
と読んだのですがそういうことでよろしいでしょうか、キムロさん。

issetでは、値が空の場合も、
値そのものが未定義の場合も false が返ってきてしまうので、
array_key_exists でチェックすると良いのでは。
http://jp.php.net/manual/ja/function.array-key-exists.php

<?php
if (array_key_exists('hoge', $_GET)) {
echo 'あり';
} else {
echo 'なし';
}
?>
Parent: 3043  返信 編集 削除
スレッド表示 | フラット表示〕 全トピック 920 件中 252 番目 次≫ ≪前
ページの一番上へ
Googleグックマークに登録 Yahooグックマークに登録 livedoorクリップに登録 @niftyクリップに登録 はてなブックマークに登録 deliciousに登録 Buzzurlに登録 FC2ブックマークに登録
最近更新された掲示板トピックス
管理人Blog
Yahoo Search

最近更新したNote
PHPマニュアル
今日のブックマーク
PHPマニュアル関数検索
関数名を入力し検索ボタンをクリック↑