ページングのリンク先にhiddenするには?


<input type="hidden" name="usersearch" value="<?php print_r($_POST['usersearch']) ;?>">
このようにすると普通は
<input type="hidden" name="usersearch" value="アメリカ">
等となりますが

<?php
$pid = $_GET['pid'];
$countRe=$num_rows;
pager($_GET["pid"],$countRe);
function pager($pid,$countRe){
if($pid=="") $pid=1;

$maxPage=ceil($countRe/10);
if($maxPage==1 or $maxPage<$pid) return false;

if($pid>10){
$startPage=$pid-9;
$startMore="<a href=\"$PHP_SELF?pid=".($startPage -1)."\">&lt; PREV</a>";
}else{
$startPage=1;
}

if($pid+10<$maxPage){
$endPage=$pid+10;
$endMore=" <a href=\"$PHP_SELF?pid=".($endPage+1)."\">NEXT &gt;</a>";
}else{
$endPage=$maxPage;
}
$page_footer="";
for($i=$startPage;$i<=$endPage;$i++){
$page_footer.=" ".(($pid==$i)?"<span style='font-Size:120%'>$i</span>":"<a href=\"$PHP_SELF?pid=$i\">$i</a>");
}
$page_footer=$startMore.$page_footer.$endMore;
print $page_footer."<br>";
}

?>
とやり、リンク先が表示されてクリックしてみると
<input type="hidden" name="usersearch" value="">
valueが空になってます。どうやれば、リンク先に値を渡せますか??

"<a href=\"$PHP_SELF?pid=".($startPage -1)."\">&lt; PREV</a>";
この部分をなんらかの改変を加えるのだろうとは思いますが。。

回答の条件
  • 1人5回まで
  • 登録:
  • 終了:2011/11/14 21:55:10

回答1件)

id:TransFreeBSD No.1

回答回数668ベストアンサー獲得回数268

まずはPOSTではなくGETを使ってください。その上で値の受け渡しをします。

http://nyx.pu1.net/practice/external_var/external_var2.php

http://www.sound-uz.jp/php/note/gpcRequest

ここ、人力検索も同じ事をしてますよ。

  • id:tdoi
    突っ込みどころ満載な気はしますが・・・。

    まず、問題の原因ではないですが、print_rの解説くらいは読んだほうがいいかなと。

    <a>タグでリンク張ってるのに、<input>タグ置いても意味ないですよ。
    それ以前に、提示してもらったどの部分で<input>タグ吐き出してます?

    $num_rowsもどこから出てきた変数やら。。。
  • id:rogotaro
    $num_rowsは別途PHPに記述している件数表示の変数です。つまり提示しているPHPだけで、このシステムを動かしているわけではありません。
  • id:tigerjp
    <?= $_GET['usersearch'] ?>
  • id:tdoi
    > 提示しているPHPだけで、このシステムを動かしているわけではありません。

    そんなことは分かってるんですが、今回の問題の本質は提示していないPHPにも大きく関わります。
    その程度の切り分けが出来ないなら、全部提示しないと解決しにくいかと。

    ついでに言うなら、ファイルをまたがったグローバル変数はおススメしません。

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません