$rkno = $_GET['rkno'];
$type = $_GET['type'];
$kw_info = $_POST['kw_info'];这些是从上一页面获得的值。其中$rkno和$type的值是从上一页面的之前页面获取的值。然后将这些值放入一个form:
<form name="formEditItem" method="post" action="rk_select.php?action=query&rkno='.$rkno.'&type='.$type.'&kw_info='.$kw_info.'">页面中$_POST有值传过来,但是form中的$kw_info值没有获得.请问是什么原因?

解决方案 »

  1.   

    建议使用$_REQUEST,可以同时获取$_GET和$_POST的值。。
      

  2.   

    你给出,表单代码<form ……>这里面,最终输出了什么?结果就明了了
      

  3.   

    额,假如有a,b,c三个页面,$_GET['rkno'],$_GET['type']是从a页面通过get传到b页面,再从b页面post一个$_POST['kw_info'],连着之前的$_GET['rkno'],$_GET['type']的值传到c页面。此时$_GET和$_POST的值都能取到。想再将这取到的三个值放入到c页面的一个form中(传递至其他页面),此时$_GET的值能传过去,$_POST的值传不过去,请问问题出在哪里?
      

  4.   

    写法有问题吧
    <form name="formEditItem" method="post" action="rk_select.php?action=query&rkno=<?php echo $rkno;?>&type=<?php echo $type;?>&kw_info=<?php echo $kw_info;?>">
      

  5.   

    你是说在rk_select.php?action=query&rkno='.$rkno.'&type='.$type.'&kw_info='.$kw_info.'里$rkno和$type都有值,$kw_info没值?
      

  6.   


    form未提交前:
    http://xxx/xx/onstore/rk_select.php?action=do&rkno=xxxx&type=xxxx
    form提交后:
    http://xxx/xx/onstore/rk_select.php?action=do&rkno=xxxx&type=xxxx
      

  7.   


    这个应该没问题,是放在<?php?>中的。
      

  8.   

    你先在 b 页面里
    echo "rk_select.php?action=query&rkno='.$rkno.'&type='.$type.'&kw_info='.$kw_info.'";
      

  9.   

    action的地址去掉单引号和点号试试
      

  10.   

    echo的话kw_info这个参数没有值。b页面的原post传值代码如下:<?php 
    echo '
    <form name="myForm" method="post" action="rk_select.php?action=do&rkno='.$rkno.'&type='.$type.'">
       <td><font size=2 color=blue><b>选择:</b></font><select name="kw_info" onchange="setSection(this.selectedIndex)">
       <option value="others">abc</option>
       <option value="jatco">dd</option>
       </select></td>
    <td align="left" ><input type="submit" name="submit" value="Query" style="width:100px;"></td>
    </form>';
    ?>
      

  11.   

    看你 #13 的代码没看到action里面有$kw_info 啊,是怎么回事。代码不一致?
      

  12.   

    其实是3个页面在传值。a->b->c.b页面只有$_GET的值,只有通过b页面的这个form post传值才能得到c页面的$kw_info。然后c页面再通过一个form将值传给其他页面。问题出在最后一步,c页面获取的$kw_info(b页面post的结果)无法通过form传给其他页面。也就像8楼的结果那样。是不是需要在b,c页面之间设置一个中间页面,将所有的值通过$_GET方式获取,显示在页面url上?
      

  13.   

    c页面获取的$kw_info 没有值吗?输出一下:
    echo $kw_info = $_POST['kw_info'];  
      

  14.   

    他应该是在a页面上输入值,提交b页面,而b页面的<select name="kw_info" onchange="setSection(this.selectedIndex)">没有选择,也就没有值,再转到c页面,用post取不到值,建议在b页面吧$kw_info弄到url上,再把$kw_info = $_POST['kw_info']; 改成$kw_info = $_REQUEST['kw_info']; 
      

  15.   

    c页面能够获取$kw_info的值。但是把该值作为参数通过c页面的form传值到其他页面就会有问题,结果如8楼显示。
      

  16.   

    唉,发现了。url的参数带入不正确。已解决。谢谢各位!