2011-02-03 8 views
4

私はまだまだPHPには新しく、URLから変数$_GETを抽出する最善の方法を考えていました。どのように私はこのような何かからそれをキャプチャします例えばget変数を正しく抽出する方法

http://www.blahblahblah.com/reset_password.php?token=3072420e7e32cbcf304da791537d757342cf5957 

がちょうどからすべてを取得したい「token=etc ...」事前に

おかげ

答えて

15

簡単な方法:そう$tokentokenが、それは$tokenに割り当てられている設定されている

$token = isset($_GET['token']) ? $_GET['token'] : null; 

場合は、nullです。

4

$_GETされます配列:

$token = $_GET['token']; 

したがって、o UT、クエリ文字列のトークン一部が表示されます。

echo "'Token: $token'"; // should display 'Token: 3072420e7e32cbcf304da791537d757342cf5957'; 

NOTE

MySQLデータベースを検索する$トークンを使用しようとしている場合は、あなたが防ぐために、最初のスラッシュをエスケープする必要がありますセキュリティ問題:また

$token = mysql_real_escape_string($_GET['token']); 

、最初mysql_real_escape_string()を呼び出す前に、MySQLの接続が必要です。 PHPは、問合せキー/ペアの区切り文字(通常は、&;)に遭遇するまで、クエリ文字列で

注V.2

、あなたのトークンが?token=からすべてになります。ウィットに:

http://www.blahblahblah.com/reset_password.php?token=3072420e7e32cbcf304da791537d757342cf5957&token2=otherstuff 

&token2=otherstuff$_GET['token2']でアクセス別のキーになりますので、$_GET['token']の問題ではないでしょう。

+0

私がしようとしているが、それはあなたがあなたが使用しているコードをポストする必要が – LightningWrist

+0

何も得ていないものです。これが$ _GET配列の仕組みです。 –

1

だから、実際にそこから値を文字列 URLを持っている、と抽出したいん:

$url = "http://www.example.com/reset_pw.php?token=3072420e7e32cbc..."; 

$p = parse_url($url);   // splits up the url parts 
parse_str($p["query"], $get); // breaks up individual ?var= &vars= 

print $get["token"]; 
0

解決方法1:ここでは

$token = isset($_GET['token']) ? $_GET['token'] : null; 

変数がない場合にはnullを返します。

解決方法2:

$token = $_GET['token']; 
関連する問題