<form method="POST" action="l.php">
<input type="text" name="usersearch"/>
<input type="submit" name="button" id="button" value="検索" />
</form>
ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
2.php
$usersearch= $_POST['usersearch'];
こんな感じにPHPで受け取ったとして
2.php
で
<?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)."\">< PREV</a>";
}else{
$startPage=1;
}
if($pid+10<$maxPage){
$endPage=$pid+10;
$endMore=" <a href=\"$PHP_SELF?pid=".($endPage+1)."\">NEXT ></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>";
}
?>
こうした場合、<a href=\"$PHP_SELF?pid=".($endPage+1)."\">NEXT ></a>";
この部分でリンクをクリックした場合、POSTした値が消えてしまっています。どうしたら引き継げますか??
無料だからと投稿しまくるのは感心しません
新しい質問にしてしまうと、話が分断され
部分部分しかわからない閲覧者は、
あなたを間違った方向に誘導することにもなりますし、
すでにあなたは迷いまくっています
とりあえず1つ前の http://q.hatena.ne.jp/1320837192 は、
早々にキャンセルしておくほうが良いでしょう
これまでの質問に回答やコメントくださった方々にも、
失礼のない様に返事をしておくとともに、終了処理もしておきましょう
(1)原因
すでにコメント受けているはずですが、何度でも言いますね
「まずは基本を見直すこと」
・フォームがPOSTで送信するなら、受ける時は$_POST
・AタグはGETでの送信になってしまうから、受ける時は$_GET
ほかにも受け取る方法は用意されていますが、
セキュリティの観点からも、基本を身につけるという観点からも、
まずは、この二点に絞り込んでしっかり身に付けましょう
(2)対応
フォームもGETにしてしまう
そうすれば受ける時はすべて$_GETだけで行うことができる
コメント(5件)
で作成されたのは単なるリンクなので、POSTの値を渡すことができないのでは?
.
すべて POSTで渡す(NEXTのボタンにして、Form内にpidを持ったり)
か、
GetでURLにつなげて usersearchを渡すか?
xxxx.php?pid=2&usersearch=%e7%84%a1%e7%90%86%e3%81%8b%e3%81%aa%e3%81%81
どちらかに統一したほうが わかりやすいのでは?
.
なんて、フト 思ったので、コメントしてみました。
http://q.hatena.ne.jp/1320754201#a1116376
が似ているので、さんこうになるのでは?
tdoiさんやmunyaXさんほか過去の質問にコメントしてくださっていた方々です
ken3memoさんのコメントは21:08:51
私の回答は21:10:32
この時間帯の質問ページの表示や、
回答投稿(確認画面も含む)は30秒以上かかることもあるので、
コメントを読んでから1分40秒で文章を作って投稿するなんてことは無理なんですよ(苦笑)
さて、
>POSTの値をGETではおくれないんでしょうか??
何を言ってるんでしょうか?
あなたはPOSTとGETの違いは知っていると、
下記のコメント欄で言っておられたではありませんか?
http://q.hatena.ne.jp/1320752816
POSTとGETの違いはURLに続けて書くかどうかだけではなくて、
その仕組みが根本的に違うのですよ
質問文のままでは、
1.htmlがPOSTでデータを送っているのに、
2.php内で$_GET['pid']で値を受け取ろうとしているから何も受け取れない
以前の質問では
2.php内で$_POST['pid']で値を受け取っていたので1.htmlからのPOSTは受け取れたが、
2.phpのAタグはGETで送信しているから$_POST['pid']では受け取れなかった
チグハグだったということです
だから、GETに統一しましょうって回答しているんです
繰り返しますが、
ken3memoさんとは偶然同じようなタイミングになっただけで無関係です
混乱されたかもしれませんが、
少し落ち着いて、過去の質問を見直してみては?
.
チャットやTwitterと違って、次から次へ思ったことを書き込まないで、1つ問題が解決するまでは質問のやり取りを続けたほうがいいのでは?と思います。
(チャットやTwitterで質疑応答の良さもわかりますが、ここは QAサイトなので。)