php4.3.5にてdbデータをページ分けして表示する簡単なプログラムで、次ページへのリンクにページ番号をパラメタとして持たせていますが、もう1つの変数をパラメタに追加したいのですが私の追加方法では変数値が帰って来ません。
~dbリード~dbデータの表示~
// 前のページ/次のページへのリンク
if ($p > 1) {
echo " <a href=\"".$_SERVER["PHP_SELF"]."?p=$prev\">
前のページ</a>";
}
if (($next - 1) * $lim < $dtcnt) {
echo " <a href=\"".$_SERVER["PHP_SELF"]."?p=$next\">←ココに?age=$ageを追加したい。
次のページ</a>";
}
単なる書式の問題なのかも知れませんが、オンラインマニュアル・MLの検索でも分かりませんでした。
ご教授よろしくお願いします。
No.2
- 回答日時:
> $ageは$age = intval(@$_GET["age"]);で24を取得出来ません。
PHPにおいて、私は変数の前に置く @の意味を知らないのですが、通常QUERY_STRING(get)の値の参照は $_GET['hoge']ですよね。
$p = intval($_GET["p"]);
$age = intval($_GET["age"]);
で問題なく取得できると思うのですが...。
この回答への補足
ソースの一部をアップさせてもらいます。(db部分は省略しました)
1回目はpostで別ページよりageを取得しています。
1回目に生成された次ページへのリンクでは、
~.php?p=2&?age=24と表示されていますが、デバッグ用に入れたechoではpのみ2と表示されてage,age2は0となります。いろいろ試してみましたが、&で繋いだ2つ目の変数が取得出来ないようです。pとageを入れ替えるとpも取得出来なくなりました。
<?php
// フォーム値取得
if ($_SERVER["REQUEST_METHOD"] == "POST") {
foreach($_POST as $k => $v){
// 「magic_quotes_gpc = On」のエスケープ解除
if (get_magic_quotes_gpc()) {
$v = stripslashes($v);
}
$$k = $v;
}
}
$p= intval(@$_GET["p"]);
if ($p > 0) {
$age= intval(@$_GET["age2"]);
$age2= intval(@$_GET["age2"]);
}
else {
$age2= $age;
}
echo "p=$p age=$age age2=$age2";
// レコード数/ページ
$lim = 10;
// ページ位置取得
if ($p < 1) {
$p = 1;
}
// データ位置取得
$st = ($p - 1) * $lim;
// 前のページ/次のページのページ番号を取得する
$prev = $p - 1;
if ($prev < 1) {
$prev = 1;
}
$next = $p + 1;
// 前のページ/次のページへのリンク
if ($p > 1) {
echo " <a href=\"".$_SERVER["PHP_SELF"]."?p=$prev&?age2=$age\">
前のページ</a>";
}
if (($next - 1) * $lim < $dtcnt) {
echo " <a href=\"".$_SERVER["PHP_SELF"]."?p=$next&?age2=$age\">
次のページ</a>";
}
?>
phpは初心者ですのでとんでもない間違いをしてるかも知れませんがよろしくお願いします。
お答えありがとうございます。
解決しました。
くだらないミスで申し訳ありませんでした。
変数の前の@ですが、今日たまたま別件で調べていたら、変数・関数の前に置くことでエラーメッセージを表示させないようです。デバッグ時にはない方がよいのかも知れません。
ありがとうございました。
No.1
- 回答日時:
URLで複数のパラメータを渡す場合、&で繋ぎます。
?p=$next&age=$age
この回答への補足
お答えありがとうございます。
早速試してみました。受け渡しのリンクでは、?p=2&age=24と正しく渡せました。
ですが受け取りがうまくいきません。
$pは$p = intval(@$_GET["p"]);で2を取得できますが、
$ageは$age = intval(@$_GET["age"]);で24を取得出来ません。
ロジックか変数に原因があるとは思いますが、もし、他に注意点等あればご教授願います。
よろしくお願いします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- PHP PHP MySql ページング 2 2022/09/20 06:38
- PHP PHP ページング データベース 1 2022/06/16 10:30
- PHP php my adminより取り出したデータ表示 2 2022/06/15 11:56
- Mac OS Macで今あるファイルの連番(ページ番号)に足し算をしてリネームしたい 1 2022/10/12 17:22
- Perl RSSにdiv,ul classを付けたいのですがどのようにつけるのかわからないです 2 2022/03/28 01:53
- PHP PHP一覧表示した項目にリンクをはりたい 1 2023/07/12 17:08
- PHP htmlspecialcharsが機能していないです。 バグですか? 1 2022/04/05 01:22
- Excel(エクセル) PHPプログラムをエクセルに張り付けると検索ボックスがでてくる! 3 2022/05/08 07:10
- PHP ここでの ②if($su_d<>"")の比較演算子 を使う理由は 1 2022/03/26 02:33
- PHP ランキングを表示する際の画像の大きさを固定することは可能でしょうか? <?php if ( has_ 1 2022/07/21 14:55
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
【WordPress】メディアの一覧出力
-
フォントの色を変えるには?
-
PHPのWARNINGをcatchするには
-
onedrive にexcelファイルをア...
-
PHP8を使うと、大量のWarningが...
-
バッチを用いたフォルダの自動移動
-
CSV出力にHTMLが入ってしまう
-
「クラス関数」「メンバ関数」...
-
index.phpって何ですか? 具体...
-
現在位置より2つ上のディレク...
-
透過PNGが透過されない!!
-
PHP 文字列を代入した配列を変...
-
PHPのif文でその処理を途中で抜...
-
$_SESSION 有効期限をブラウザ...
-
別ファイルの変数を呼び出した...
-
PHPで、エラーがない場合のみ画...
-
index.phpに入るには、どうすれ...
-
前後の全角スペースを削除する...
-
phpとaspの違いについて
-
php.ini を設定を変更すると再...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
【WordPress】メディアの一覧出力
-
URLの変わらないページをPHPで...
-
リダイレクトでPOST
-
特定のサイトを経由しないとペ...
-
テキストリンクを2回クリックし...
-
URLでスラッシュ区切りでパラメ...
-
リンク(URL)をクリックした後、...
-
pukiwikiのrecent(最近の更新...
-
レンタル予約管理表を作りたい
-
ヘッダーは500エラー、ブラウザ...
-
POSTで送った引数がIEでは表示...
-
WordPressで固定ページのグロー...
-
IP制限のある決済会社への接続方法
-
phpinfoでloaded modulesが表示...
-
FPDFを使ったPDF出力時の縦幅に...
-
会員サイトに自動ログインして...
-
php my adminより取り出したデ...
-
フォーム処理から戻ったページ...
-
ActionScriptとphpの連携について
-
HTML CSSでできたペー...
おすすめ情報