a页面<form action="b.php" method="post">
<input id="a1" type="text" value="guanjianzi" name="a1" />
<input type="submit" value="tijiao"/>
</form>
b页面<a href="b.php?id=".$row["url"]."" target="_self" >".$row["title"]."'.$_POST["a1"].'</a>
<li>".$row["name"]."'.$_GET["id"].'</li>
数据库query出$row["url"],$row["title"]和$row["name"]b页面接受a页面的值,与出的$row["title"]组成一个词组,生成一个超链。
点击该超链,获取超链时URL变化传递过来的值和$row["name"]组成新单词,生成到UL LI里面。现在当刷新b.php,URL不变化,依旧是b.php时,$_POST["a1"]不会丢失;
当URL变化为b.php?id=".$row["url"]."时,$_POST["a1"]值会丢失。
请问各位大侠如何解决?谢谢。

解决方案 »

  1.   

    b页面<?php
    if($_POST["submit"]) {
       $_SESSION["a1"] = $_POST["a1"] ;
    }
    ?>....
    <a href="b.php?id=".$row["url"]."" target="_self" >".$row["title"]."'.$_SESSION["a1"].'</a>
    <li>".$row["name"]."'.$_GET["id"].'</li>
      

  2.   

    看懂意思就行,下面那个链接里的 $_POST["a1"] 换成 $_SESSION["a1"] 这样就不会丢失。
    链接的写法你自己研究。
      

  3.   

    当URL变化为b.php?id=".$row["url"]."时,$_POST["a1"]值会丢失。 这样是用GET方式提交的  
      

  4.   


    funfun5433大侠:什么意思啊?小弟愚钝,没看明白……
      

  5.   

    把_POST替换成_REQUEST吧,可能符合你的要求
      

  6.   

    弱弱的问一下,$_SESSION会不会和用户ID的$_SESSION冲突?
      

  7.   

     把所有get和post 换成request来接也就是 $_REQUEST['a1']  <?php
    print_r($_REQUEST);
      

  8.   

    <?php
    if($_POST["submit"]) {
       $_SESSION["a1"] = $_POST["a1"] ;
    }
    ?>....
    <a href="b.php?id=".$row["url"]."" target="_self" >".$row["title"]."'.$_SESSION["a1"].'</a>
    <li>".$row["name"]."'.$_GET["id"].'</li>
      

  9.   

    刚看到网上有人说:不论是POST,GET,REQUEST,如果只刷新B页面,值永远不会丢的,但是变成B.PHP?id=的不定量时,值肯定会丢失。
    我不想把值写到URL里,万一有人在submit时填了URL不允许的符号,就会产生错误。8楼的方法或许可行,先把$_POST的值存到SESSION里。
    但是不知道为什么,我输出$_SESSION["a1"]的值为空?
    是不是因为我A页面有2个submit?(还有一个用在别的地方)
      

  10.   

    把那个不用的A页面的submit的名字改了。
    或者在B页面里保存SESSION时这么写
    if($_SERVER['REQUEST_METHOD']=="POST") {
        $_SESSION["a1"] = $_POST["a1"] ;
    }
      

  11.   

    if($_SERVER['REQUEST_METHOD']=="POST") {
      $_SESSION["a1"] = $_POST["a1"] ;
    }
    <a href="b.php?id=".$row["url"]."" target="_self" >".$row["title"]."'.$_SESSION["a1"].'</a>
    <li>".$row["name"]."'.$_GET["id"].'</li>打开b.php?id=".$row["url"]."后还是丢失了$_SESSION["a1"]的值。
    哭……
      

  12.   

    万能的斑竹,终于出现啦。(激动ING)
    中秋快乐……(有点马后炮了)国庆快乐吧。
    这个问题,你有办法的吧。
      

  13.   

    session_start();
    if($_SERVER['REQUEST_METHOD']=="POST") {
      $_SESSION["a1"] = $_POST["a1"] ;
    }
      

  14.   

    加了session_start();还是不行,URL一变$_POST值还是丢失了……
    继续哭……
      

  15.   

    尝试把$_SESSION改成$_COOKIE也一样,继续丢失INGsession_start();
    if($_SERVER['REQUEST_METHOD']=="POST") {
      $_COOKIE["a1"] = $_POST["a1"] ;
    }
      

  16.   

    回楼上的,就是这样的。
    我尝试在a页面就设置$_SESSION,但还是会丢失,点一下改变了b页面的URL地址,a页面传过来的值就丢失了。page asession_start();
    if($_POST)
    {
    $_SESSION['post'] = $_POST;
    }
    page bsession_start();
    if(!$_POST)
    {
    $_POST = $_SESSION['post'];
    }