如果当前网址仅等于此值,我想采取行动:https://www.example.co.il/index.php?id=1000&2222
$url = 'https://www.example.co.il/index.php?id=1000';
if(strpos($url,'&2222'))
{
// Do something
echo "2222";
}
else
{
// Do Nothing
}
答案 0 :(得分:1)
要完全按照您的要求行事,请尝试此操作
INSERT INTO UserSettings
SELECT .... FROM #TempSettings
WHERE SettingKey NOT IN(
SELECT UserSettings.SettingKey FROM UserSettings
INNER JOIN #TempSettings ON
UserSettings.SettingKey = #TempSettings.SettingKey)
UPDATE UserSettings
SET UserSettings.SettingValue= #TempSettings.SettingValue FROM UserSettings
INNER JOIN #TempSettings ON
UserSettings.SettingKey = #TempSettings.SettingKey
但是如果你只是想要检索id:
//actual link (http or https)
$actualUrl = (isset($_SERVER['HTTPS']) ? "https" : "http") . "://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]";
$url = 'https://www.example.co.il/index.php?id=1000';
if($actualUrl === $url) {
//do something
}
答案 1 :(得分:0)
您可以使用$ _GET对象读取URL中的参数。它列出了查询字符串中的键和值,即在您的示例中,
https://www.example.co.il/index.php?id=1000
如果您使用:
print $_GET['id'];
你会看到100。
所以你可以简单地检查密钥2222是否存在:
if (isset($_GET['2222'])) { /** do something **/ }
请记住,只有在您实际读取运行脚本的URL时才会出现这种情况。
如果您只想匹配字符串中的值(无论是否为URL),那么在URL中搜索字符串的方法是合适的。
答案 2 :(得分:0)
使用此
// Assign your parameters here for restricted access
$valid_url = new stdClass();
$valid_url->scheme = 'https';
$valid_url->host = 'www.example.co.il';
$valid_url->ids = array(1000,2222);
$url = 'https://www.example.co.il/index.php?id=1000&2222';
$urlinfo = parse_url($url); // pass url here
$ids = [];
parse_str(str_replace('&', '&id1=', $urlinfo['query']), $ids);
if($urlinfo['scheme'] == $valid_url->scheme && $urlinfo['host'] == $valid_url->host && count(array_intersect($valid_url->ids, $ids)) == count($valid_url->ids)){
echo 'valid';
// Do something
}else{
echo 'in valid';
// error page
}