0

$a = true の場合でも、a が true の場合でも、if ブロックを実行し、他のブロックを実行する必要はありません。多分バージョンはポスト変数である必要があります私はそれを試します

<?php
$launcherv = "13";
$gamev = "1326382442000";
$sessid = math.rand(1, 1000000000000000);
$ticket = math.rand(1, 1000000000000);
$user =      "";
$password =  "";
$version =   "";
$a = false;
$b = false;
$c = false;


if ($version == $launcherv){
$a = true;

} else {
$a = false;

}
if ($user == ""){
$b = false;

} else {


$b = 'true';

}
if ($password == ""){
$c = false;

} else {
$c = true;

}




if ($a && $b && $c){
echo ($gamev.":".$ticket.":".$user.":".$sessid);
}
elseif(!$a){
echo "Old Version";
}
elseif(!$b){
echo "Bad Login";
}
elseif(!$c){
echo "Bad Login";
}

?>
4

5 に答える 5

2

問題はこれで...

 else (
>>>$b = 'true';>>> error?

)

あなたが持っている必要があります...

else {
  $b = 'true';
}

行末が括弧内にあるとは想定していないため、エラーが発生します。

于 2012-02-21T19:23:36.090 に答える
0

問題は、エラーのすぐ上の行です。中括弧の代わりに括弧を使用しました

} else (
于 2012-02-21T19:19:40.167 に答える
0

制御構造には中かっこを使用する必要があります。

} else {
   $b = 'true';
}
于 2012-02-21T19:19:55.717 に答える
0

(前の行に else があります。それは{一致する閉鎖である必要があります}

于 2012-02-21T19:20:05.540 に答える
0

{PHP では、ブロックは常に丸括弧ではなく中括弧で区切られます(。もっとよく見なさい:

} else ( // <---
   $b = 'true';
) // <--

あなたがしたい:

} else {
   $b = 'true';
}

'true'また、文字列を'false'魔法の値として使用するのは悪い考えであることに注意してください。それ以外の

if ($version >= $launcherv){
    $a = 'true';
} else {
    $a = 'false';
}
...
if ($a == 'true') {

本当にブール値を使用する必要があります:

if ($version >= $launcherv){
    $a = true;
} else {
    $a = false;
}
...
if ($a) { // or ! $a   for the opposite

このコードをさらに単純化できます。

$a = $version >= $launcherv;
...
if ($a) { // or ! $a   for the opposite

短い変数は、将来の読者を混乱させる可能性があります。したがって、次のように書くこともできます。

...
if ($version >= $launcherv) {
于 2012-02-21T19:20:57.367 に答える