わからないところがあるので教えて下さい。
(コード)
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.
w3.org/TR/xhtmll/DTD/xhtmll- transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="ja" xml:lang="ja">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<title>PHP入門</title>
</head>
<body>
<?php
require('dbconnect.php');
$page = $_REQUEST['page'];
if($page =='') {
$page =1;
}
$page = max($page, 1);
//最終ページを取得する
$sql ='SELECT COUNT(*) AS cnt FROM my_items';
$recordSet = mysqli_query($db, $sql);
$table = mysqli_fetch_assoc($recordSet);
$maxPage = ceil($table['cnt'] /5);
$page = min($page, $maxPage);
$start = ($page - 1) * 5;
$recordSet = mysqli_query($db, 'SELECT m.name, i.* FROM makers m,
my_items i WHERE m.id=i.maker_id ORDER BY id DESC LIMIT ' . $start . ',5');
?>
<p><a href="input.php">新しい商品を登録する。</a></p>
<table width="100%">
<tr>
<th scope="col">ID</th>
<th scope="col">メーカー</th>
<th scope="col">商品名</th>
<th scope="col">価格</th>
<th scope="col">編集・削除</th>
</tr>
<?php
while($table = mysqli_fetch_assoc($recordSet)) {
?>
<tr>
<td><?php print(htmlspecialchars($table['id'])); ?></td>
<td><?php print(htmlspecialchars($table['name'])); ?></td>
<td><?php print(htmlspecialchars($table['item_name'])); ?></td>
<td><?php print(htmlspecialchars($table['price'])); ?></td>
<td><a href="update.php?id=<?php print(htmlspecialchars($table['id'])); ?>">編集</a>
<a href="delete.php?id=<?php print(htmlspecialchars($table['id'])); ?>" onclick="return confirm('削除してもよろしいですか?');">削除</a>
</td>
</tr>
<?php
}
?>
</table>
<ul class="paging">
<?php
if($page > 1) {
?>
<li><a href="index.php?page=<?php print($page - 1); ?>">前のページへ
</a></li>
<?php
} else {
?>
<li>前のページへ</li>
<?php
}
?>
<?php
if($page < $maxPage) {
?>
<li><a href="index.php?page=<?php print($page + 1); ?>">次のページへ
</a></li>
<?php
} else {
?>
<li>次のページへ</li>
<?php
}
?>
</ul>
</body>
</html>
参考書?はよくわかるPHPの教科書5.5対応なのですが、一番初めにこのファイルを開くと
Notice: Undefined index: page in C:\xampp\htdocs\shop\index.php on line 14っとエラー?が出ます。
次のページ、前のページを押すとエラー?は消えるのですが、とっても気になります。
なるべくなら、エラーを非表示にせずにプログラム内で問題を解決したいのですが・・・
初心者なのでどうして良いかわかりません。
出来れば、とってもわかりやすい解決を出来ればお願いしたいです。(馬鹿なので・・・)
よろしくお願いします。
No.3ベストアンサー
- 回答日時:
最初のページのURLには
「?page=数字」というクエリストリングがないために、
$_REQUEST['page']と書くと
Notice: Undefined indexというエラーが出ます。
$page = $_REQUEST['page'];
を
$page = isset($_REQUEST['page']) ? $_REQUEST['page'] : "";
と置き換えればエラーは消えます。
三項演算子を使っています。
A ? B : C
と書いたとき、AがtrueならB, falseならCという処理となります。
isset関数で配列インデックスが定義済かどうか確認し、
定義済みならその値を、未定義なら空文字""を$pageに代入しています。
詳しくは下記を参照ください。
http://qiita.com/mpyw/items/2f9955db1c02eeef43ea …
No.2
- 回答日時:
>Notice: Undefined index: page in C:\xampp\htdocs\shop\index.php on line 14
Noticeは「たいしたことないけど一応気にしておいて」というエラーです
「on line 14」とあるとおりプログラムの14行目でエラーが発生しています。
おそらく14行目は
>$page = $_REQUEST['page'];
だと思います。
これは、「$_REQUEST['page']」が存在しないので、存在しないデータを
$pageに代入しようとしているために発生しています。
考え方は2つ
(1)Noticeは気にする必要がないので、あえて無視する
具体的には「<?php」の直後の行に、以下を書いてNOTICEを表示させない
error_reporting(E_ALL & ~E_NOTICE);
(2)エラーになっている個所を修正する
$page = isset($_REQUEST['page'])?$_REQUEST['page']:"";
のどちらかでよいかと思います。
No.1
- 回答日時:
馬鹿でも初心者でも検索くらいできるよね?
Notice: Undefined index:
これをgoogleに入れただけで一番上にそのままの解決法が出てくるんだけど。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- AJAX JavascriptからPHPへのAjax通信でnullが返ってくる 3 2022/08/03 22:00
- PHP PHP ページング データベース 1 2022/06/16 10:30
- PHP htmlで複数の個数入力欄を表示させるには 1 2022/09/20 03:11
- PHP PHP MySql ページング 2 2022/09/20 06:38
- Visual Basic(VBA) Selenium.ChromeDriverの使い方について 7 2022/09/22 06:43
- PHP PHPでCookieを使った訪問回数について 1 2023/05/28 14:10
- PHP PHPのエラーの解消法について教えて下さい。 1 2023/02/06 10:48
- PHP if(preg_match("/[^0-9]/",$gu_d)){意味を教えてください。 1 2022/05/06 05:37
- PHP PHPでユーザー情報を入力して簡易ログイン機能をつくってみたのですが 1 2023/05/29 08:51
- PHP PHP MySql 画像を取得 1 2022/06/04 14:05
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・「みんな教えて! 選手権!!」開催のお知らせ
- ・漫画をレンタルでお得に読める!
- ・「黒歴史」教えて下さい
- ・2024年においていきたいもの
- ・我が家のお雑煮スタイル、教えて下さい
- ・店員も客も斜め上を行くデパートの福袋
- ・食べられるかと思ったけど…ダメでした
- ・【大喜利】【投稿~12/28】こんなおせち料理は嫌だ
- ・前回の年越しの瞬間、何してた?
- ・【お題】マッチョ習字
- ・モテ期を経験した方いらっしゃいますか?
- ・一番最初にネットにつないだのはいつ?
- ・好きな人を振り向かせるためにしたこと
- ・【選手権お題その2】この漫画の2コマ目を考えてください
- ・2024年に成し遂げたこと
- ・3分あったら何をしますか?
- ・何歳が一番楽しかった?
- ・治せない「クセ」を教えてください
- ・【大喜利】【投稿~12/17】 ありそうだけど絶対に無いことわざ
- ・【選手権お題その1】これってもしかして自分だけかもしれないな…と思うあるあるを教えてください
- ・集合写真、どこに映る?
- ・自分の通っていた小学校のあるある
- ・フォントについて教えてください!
- ・これが怖いの自分だけ?というものありますか?
- ・スマホに会話を聞かれているな!?と思ったことありますか?
- ・それもChatGPT!?と驚いた使用方法を教えてください
- ・見学に行くとしたら【天国】と【地獄】どっち?
- ・これまでで一番「情けなかったとき」はいつですか?
- ・この人頭いいなと思ったエピソード
- ・あなたの「必」の書き順を教えてください
- ・10代と話して驚いたこと
- ・14歳の自分に衝撃の事実を告げてください
- ・人生最悪の忘れ物
- ・あなたの習慣について教えてください!!
- ・都道府県穴埋めゲーム
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
require_onceについて
-
onedrive にexcelファイルをア...
-
バッチを用いたフォルダの自動移動
-
リンク先を隠す方法はないでし...
-
インスタンス化に伴うメモリ消...
-
Subversionのリポジトリの削除
-
sqlite_open、SQLite3::open
-
PHPで外部SMTPサーバーを利用し...
-
SQLiteに画像を格納したい
-
PHPで新しいウインドウで開く命...
-
Cronで同じ処理を複数同時に実...
-
pythonのファイル内に 手書き数...
-
Illustratorで文字と画像を流し...
-
.phpファイルが、表示されない
-
include先でのinclude元の変数...
-
「クラス関数」「メンバ関数」...
-
$ab .="yz";
-
WordPressでテーマのヘッダー画...
-
日本語をGETで渡す場合UR...
-
mPDFでのPDF出力がうまくいかな...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ImageCreate関数が undefined f...
-
PHPMailerのサンプルコードのエ...
-
marty3のvariableFilter
-
PHPの実行の際、パスが化ける
-
PHP認証がProxy越しだと通らな...
-
Syntax Error Apach PHP W7
-
pdflib /pdi の拡張関数が有効...
-
csobjは削除しても平気??
-
smartyについて
-
仮想フレームバッファXvfb上でf...
-
Pear::QuickFormの代わりにな...
-
sql文について質問です。エラー...
-
たまに$_REQUESTの値が消える
-
zendにsmarty3の組込で
-
mb_language("Japanese");でエ...
-
PostgreSQLに接続できません(Wi...
-
php5のrename()は日本語をリネ...
-
index.phpが真っ白で表示される...
-
sformmmail2を使ったお問い合わ...
-
SQLiteってcloseする必要あるん...
おすすめ情報