Как правильно извлекать получить переменные
Я все еще немного новичок в php и задавался вопросом, как лучше извлечь переменную $_GET
из url.
Например, как бы я мог захватить его из чего-то вроде этого:
http://www.blahblahblah.com/reset_password.php?token=3072420e7e32cbcf304da791537d757342cf5957
Просто хочу получить все от " token=etc
..."
Заранее спасибо
4 ответа:
Простой способ:
$token = isset($_GET['token']) ? $_GET['token'] : null;
Если
token
задано, то оно присваивается$token
, в противном случае$token
равно null.
$_GET
является массивом:$token = $_GET['token'];
Поэтому, если вы распечатаете, вы должны увидеть маркерную часть строки запроса:
echo "'Token: $token'"; // should display 'Token: 3072420e7e32cbcf304da791537d757342cf5957';
Примечание
Если вы пытаетесь использовать $ token для поиска базы данных mysql, вам нужно сначала избежать косых черт, чтобы предотвратить проблемы безопасности:
$token = mysql_real_escape_string($_GET['token']);
Кроме того, вы сначала должны иметь соединение mysql перед вызовом
mysql_real_escape_string()
.Примечание V. 2
В строке запроса, ваш токен будет все от
?token=
до тех пор, пока PHP не встретит разделитель ключа запроса/пары (обычно&
и;
). А именно:http://www.blahblahblah.com/reset_password.php?token=3072420e7e32cbcf304da791537d757342cf5957&token2=otherstuff
&token2=otherstuff
будет еще один ключ, доступный по$_GET['token2']
, так что это не будет проблемой с$_GET['token']
.