0

現在、次の機能を開発しようとしています。

誰かが自分のアルバムやプロフィール写真を見たい場合、次のように URL でalbum_idまたはを使用したいと思います。id

album.php?album_id=(numeric Number)
album.php?id=(numeric number)

現在、最初のコマンドを実行できますが、2 番目のコマンドを実行しようとすると、ロードに失敗し、代わりにインデックス ページが表示されます (スクリプトの設計による)。

これが私のコードです:

$album_id = addslashes(is_numeric($HTTP_GET_VARS["album_id"]));
$profile_id = addslashes(is_numeric($HTTP_GET_VARS["id"]));
?>
<?php
if($album_id==Null||!$profile_id==Null)
{
    print("<script language='JavaScript'> window.location='index.php'; </script>");
}
  else
{
if ($album_id==$album_id)
{
    include("/home/emo/public_html/incldues/layout/photos/pages/albums/album_photos.php");
}
  else
{
if ($profile_id==$profile_id)
{
    include("/home/emo/public_html/incldues/layout/photos/pages/albums/profile_photos.php");
}
  else
{
    include("/home/emo/public_html/incldues/layout/photos/pages/albums/album_photos.php");
}
}
}
?>

明確にするために、これらの「ページ」には、「 アルバムの写真表示」と「ユーザーの写真を表示」という大胆な言葉しか含まれていません。

しかし、私の問題が何であるかについては、私には理解できないようです。

4

2 に答える 2

2

を呼び出すとalbum.php?album_id={id}$_GET['id']null になり、最初のifステートメントがインデックス ページに戻ります。

if (($album_id == null) || ($profile_id == null)) { ... }

nullあなたが電話しない限り、1つは常になりますalbum.php?album_id={aid}&id={pid}

if (($album_id == null) && ($profile_id == null)) {
    # redirect to index.php
} else {
    if ($album_id != null) {
        # load album
    } else if ($profile_id != null) {
        # load profile
    } else {
        # both given, redirect to error.
    }
}
于 2013-06-23T04:49:31.503 に答える
0

両方が同じであり、パーツが実行されないため、条件if($album_id==$album_id)は常に true になります。else

于 2013-06-23T04:52:27.950 に答える