0

画像アップロードWebサイトに関する特定のチュートリアルに従って、仕事のタスクを実行しようとしています。私が立ち往生した部分は、作成されたアルバムを表示することです。これは関連するコードです (何か見逃した場合は詳細を尋ねてください)。

function get_albums() {

$albums = array();

$albums_query = mysql_query("
SELECT `albums`.`album_id`, `albums`.`timestamp`, `albums`.`name`,     LEFT(`albums`.`description`, 50) as `description`, COUNT(`images`.`image_id`) as `image_count`
FROM `albums`
LEFT JOIN `images`
ON `albums`.`album_id` = `images`.`album_id`
WHERE `albums`.`user_id` = ".$_SESSION["user_id"]."
GROUP BY `albums`.`album_id`
");


while($albums_row = mysql_fetch_assoc($albums_query))
{
    $albums[] = array(
                      'id' => $albums_row["album_id"],
                      'timestamp' => $albums_row["timestamp"],
                      'name' => $albums_row["name"],
                      'description' => $albums_row["description"],
                      'count' => $albums_row["image_count"]
                      );
}

return $albums;


}
function create_album($album_name, $album_description) {
    $album_name = mysql_real_escape_string(htmlentities($album_name));
    $album_description = mysql_real_escape_string(htmlentities($album_description));

        mysql_query("INSERT INTO `albums` VALUES ('', '".$SESSION["user_id"]."', UNIX_TIMESTAMP(), '$album_name', '$album_description')");
        mkdir('uploads/' .mysql_insert_id(), 0744);
        mkdir('uploads/thumbs/' .mysql_insert_id(), 0744);


}

関連性があり、問題があると思われるのはこれだけです。これは、アルバムが表示される場所です。

<?php
$albums = get_albums();

if (empty($albums)) {
 echo '<p> You don\'t have any albums</p>';
} else {

    foreach ($albums as $album) {
        echo '<p>
        <a href="view_album.php?album_id=', $album['id'], '">', $album['name'], '</a> (', $album['count'], ' images)<br />
        ', $album['description'], '...<br />

        <a href="edit_album.php?album_id=', $album['id'], '">Edit</a> / <a href="delete_album.php?album_id=', $album['id'], '">Delete</a>
        </p>';
    }
}

include 'template/footer.php'

?>

しかし、私は常にアルバムを持っていないというメッセージを受け取ります。これにより、彼は常にアルバム配列が空であると考えていると思います。これを修正するにはどうすればよいですか?

4

1 に答える 1

0

を使用していますが、ファイルのどこにも$_SESSION["user_id"]がありませんでした。session_start()セッションにデータが取り込まれていない可能性があります。

もう 1 つの可能性は、ユーザーがアルバムを持っていないことです。

余談ですが、スクリプトを次の場所に移行してくださいmysqli

mysqli または PDO_MySQL 拡張機能を使用することをお勧めします。新しい開発に古い mysql 拡張機能を使用することはお勧めしません。これは PHP 5.5.0 で廃止され、将来削除される予定です。

http://www.php.net/manual/en/mysqlinfo.api.choosing.phpから

于 2013-03-10T05:23:36.650 に答える