我一直在绞尽脑汁,却一无所获。我可能错过了一些非常简单的东西,但我实际上需要的是。
如果设置了字符串 1 或 2,则与字符串 3 进行比较,前提是字符串 3 不为空。
if($_SESSION['code'] || $_GET['id'] <> $_POST['code'] && isset($_POST['code']))
我不确定我是否遵循,但您的逻辑似乎表明:
if(isset($string3)){
if(isset($string1)){
strcmp($string1,$string3);
}elseif(isset($string2)){
strcmp($string2,$string3);
}
}
if(isset($string3) && ((isset($string1) && $string1 == $string3) || (isset($string2) && $string2 == $string3)))
像这样的东西会起作用。先看看isset $string3. 然后一个包装的或运算符单独检查 isset $string1 或 2 以及它们是否等于字符串 3。
if( ($a = $_SESSION['code'] ? $_SESSION['code'] : $_GET['id'])
&& isset($_POST['code']) && $a == $_POST['code']) {
如果您想在两者都设置的情况下$_GET['id']
覆盖:$_SESSION['code']
if( ($a = $_GET['id'] ? $_GET['id'] : $_SESSION['code'])
&& isset($_POST['code']) && $a == $_POST['code']) {
更正确:
if( (isset($_SESSION['code']) || isset($_GET['id']))
&& ($a = isset($_GET['id']) ? $_GET['id'] : $_SESSION['code'])
&& isset($_POST['code']) && $a == $_POST['code']) {
if((!empty($_POST['code']) || !empty($_SESSION['code'])) && $_GET['id']<>$_POST['code']){
这可能是
if(!empty($_SESSION['code']) && !empty($_GET['id']) && !empty($_POST['code'])
($_SESSION['code'] == $_POST['code'] || $_GET['id'] == $_POST['code']))
这意味着必须设置所有变量并具有值,然后比较 $_SESSION['code'] 或 $_GET['id'] 是否与 $_POST['code'] 相等