なぜいきなり$_GET['page']が出てくるのでしょうか?
確か$_GETの添え字['']の部分って、例えば
php
1<form action="board-output.php" method="post"> 2<input type="text" name="message"> 3<input type="submit" value="投稿"> 4</form>
のname="message"ですよね。
で今回$_GET['page']がでてきたんですけど、
どこにも
<input type="text" name="page">
のようなものが見当たりません。
php
1 echo '<a href="album.php?page=' . $i . '">' . $i . '</a> ';
のpageでしょうか?
よくわかりません><
php
1<?php 2 $images = array(); // 画像ファイル名のリストを格納する配列 3 $num = 5; // 1ページに表示する画像の枚数 4 5 // 画像フォルダから画像ファイル名を読み込む 6 if ($handle = opendir('./album')){ 7 while ($entry = readdir($handle)){ 8 // 「.」および「..」でないとき、ファイル名を配列に追加 9 if ($entry != "." && $entry != ".."){ 10 $images[] = $entry; 11 } 12 } 13 closedir($handle); 14 } 15?> 16<html> 17<head> 18 <meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> 19 <title>交流サイト:アルバム</title> 20</head> 21<body> 22 <h1>交流サイト:アルバム</h1> 23 <p> 24 <a href="index.php">トップページに戻る</a> 25 <a href="upload.php">写真をアップロードする</a> 26 </p> 27 <?php 28 if (count($images) > 0){ 29 // 指定枚数ごとに画像ファイル名を分割 30 $images = array_chunk($images, $num); 31 // ページ数指定、基本は0ページ目を指す 32 $page = 0; 33 // GETでページ数が指定されていた場合 34 if (isset($_GET['page']) && is_numeric($_GET['page'])){ 35 $page = intval($_GET['page']) - 1; 36 if (!isset($images[$page])){ 37 $page = 0; 38 } 39 } 40 41 // 画像の表示 42 foreach ($images[$page] as $img){ 43 echo '<img src="./album/' . $img . '">'; 44 } 45 46 // ページ数リンク 47 echo '<p>'; 48 for ($i = 1; $i <= count($images); $i++){ 49 echo '<a href="album.php?page=' . $i . '">' . $i . '</a> '; 50 } 51 echo '</p>'; 52 } else { 53 echo '<p>画像はまだありません。</p>'; 54 } 55 ?> 56</body> 57</html>
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/06/09 06:51