0

私はそれに対処するように見える答えを見ましたが、すべてが私のコードに問題がないことを示しているように見えるので、ここを見回すのは有望ではありません. 特定の条件が満たされた場合に特定の情報をロードする動的ページを作成しようとしています。私の進行状況セクションを除いて、すべてが表示され、正常に機能しています。これが機能しない理由を誰かに教えてもらえますか?

<? php require_once("session.php"); ?> 
<? php require_once("connection.php");
$email = $_SESSION['email'];
$query = mysql_query("SELECT * FROM progress WHERE email = '$email'");
$row = mysql_fetch_array($query);
if ($row['admin'] == 0) {
    echo...

次に、動的コンテンツを含むページをエコーアウトし、その値が下部に true を返すと、管理者管理ページにリダイレクトされます。

if ($row['progress'] !== 100) {
    $contract = $row['location'];
    $progress = $row['progress'];
    $mockup = $row['mockup'];
    echo "<a href=\"customer.php\">Contact</a><br />";
    echo "<a href=\"$contract\">View Contract</a><br />";
    echo "<a href=\"$mockup\">View Mock Up</a><br />";
    echo "<p>Progress: " . $progress . "%</p>";
}

この値は、ページが 100% 完了したことをエコーし​​ている場合でも、データベース内の数値が 100 でないことを常に示しています。これは、次の段階が支払い段階であるため問題ですが、毎回 true と表示されると読み込まれません。

4

1 に答える 1

4

タイプセーフな比較を行っています。つまり、同じ値だけでなく、同じタイプであること$row['progress']を確認しています。100

データベースから出力される値は常に最初は文字列100ですが、 は整数です。

データベース値が数値であるかどうかを確認してから、タイプ セーフな比較is_numericを使用して実行します。intval

于 2013-05-16T20:45:48.943 に答える