我用 echo RedirectPage("dealmssql.php");方法去到dealmssql页面,为何不能用$_POST[]来接收参数,要用什么方法去到dealmssql页面才能用$_POST[]来接收参数呢?帮帮忙,我是php初学者,谢谢各位了。

解决方案 »

  1.   

    你这种是跳转至 ealmssql页面吧。一般表单提交就可以用 $_POST[] 来接收参数。用$_REQUEST[] 试试。
      

  2.   

    还是接收不到参数,网上查了说要用GET才能传递,或者session,我想用POST,因为我的参数只想在这个页面接收,还有什么方法吗jordan?
      

  3.   

    get会暴露出来。你就用session吧。
      

  4.   

    可是session用了之后很混乱啊 ,很多地方有接收session的,其他页面也能接收到这个页面生成的session,不好控制。
      

  5.   

    我现在是用session保存参数,我echo RedirectPage("dealmssql.php");这样子提交表单里的信息,我想用POST来传递参数,还有其他提交方式么,或者怎么接收参数啊
      

  6.   

    这是POST提交过来的值进行的select处理的query.php文件
    <?php
        if($_POST)  {
        $_SESSION[dqs1_2]=$_POST[dqs1] ;
        $_SESSION[dqs2_2]=$_POST[dqs2] ;
        $_SESSION[zqs1_2]=$_POST[zqs1] ;
      $db=new mysqli('localhost','admin','admin','ssq') ;
      $sql="SELECT * 
            FROM `hmk` AS t1 
            WHERE $_POST[dqs1] between $_POST[dqs1] and $_POST[dqs1]  
            ORDER BY t1.hmkid LIMIT 1";$res=$db->query($sql) ;
    while($a=mysqli_fetch_array($res,MYSQLI_ASSOC)){
        $return[]=$a;
    }
    print_r($return) ; }
    ?>
    这是表单文件,POST值就是从这里输入的
    <form method=post action="">
        <p>期望大号数between:
        <input type="text" name=dqs1 value='.$_SESSION[dqs1_2].'>and<input type="text" name=dqs2 value='.$_SESSION[dqs2_2].'></p>
        <p>期望奇号数=:
        <input type="text" name=jqs1 value='.$_SESSION[jqs1_2].'>OR<input type="text" name=jqs2 value='.$_SESSION[jqs2_2].'></p>
        <p>期望质号数=:
        <input type="text" name=zqs1 value='.$_SESSION[zqs1_2].'>OR<input type="text" name=zqs2 value='.$_SESSION[zqs2_2].'></p>
    </form>
      

  7.   

    <form method="post" action="a.php">
      

  8.   

    朋友,我不是单纯的用
    <form action='' method='post'>
    <input type='submit' value='submit' >
    </form>
    来提交的,我主要是用echo redirectpage 跳转到我要的指定页面的,这种方法能用什么来传递参数呢,除了get哦,
      

  9.   

    朋友,我不是单纯的用
    <form action='' method='post'>
    <input type='submit' value='submit' >
    </form>
    来提交的,我主要是用echo redirectpage 跳转到我要的指定页面的,这种方法能用什么来传递参数呢,除了get哦,
      

  10.   

    用javascript写个函数,提交的时候触发这个时间window.open("dealmssql.php");  //在这个页面用$_GET获取
      

  11.   

    其实我就是不想用get来获取参数,
      

  12.   

    不用$_GET的话。有两方工curl 

    fsockopen 
      

  13.   

    换个方式,你现在是想提交到一个页面,然后通过PHP将这个数据再提交给另一个页面处理,这样做的目的是什么呢?要隐藏什么么?如果换个方式:先处理数据,处理完数据之后再跳转到你指定页面,可以达到效果么?如果不行,只能用楼上说的使用php的 CURL函数 或者 fsockopen 函数来二次提交数据了。
      

  14.   

    可以先处理数据哦,但是我不知道要怎么处理,可以说细点吗vbker,楼上所说的二次提交,没例子我不会,
      

  15.   

    你的 RedirectPage 函数是怎样定义的?
      

  16.   

    反正符合我的条件的时候我就用这句话echo RedirectPage("dealmssql.php");跳转到指定页面的
      

  17.   


    function urlfopen($url, $limit = 0, $post = '', $cookie = '', $bysocket = FALSE  , $ip = '', $timeout = 15, $block = TRUE, $encodetype  = 'URLENCODE') {
      $return = '';
      $matches = parse_url($url);
      $host = $matches['host'];
      $path = $matches['path'] ? $matches['path'].(isset($matches['query']) ? '?'.$matches['query'] : '') : '/';
      $port = !empty($matches['port']) ? $matches['port'] : 80;  if($post) {
    $out = "POST $path HTTP/1.0\r\n";
    $out .= "Accept: */*\r\n";
    $out .= "Accept-Language: zh-cn\r\n";
    $boundary = $encodetype == 'URLENCODE' ? '' : ';'.substr($post, 0, trim(strpos($post, "\n")));
    $out .= $encodetype == 'URLENCODE' ? "Content-Type: application/x-www-form-urlencoded\r\n" : "Content-Type: multipart/form-data$boundary\r\n";
    $out .= "User-Agent: $_SERVER[HTTP_USER_AGENT]\r\n";
    $out .= "Host: $host\r\n";
    $out .= 'Content-Length: '.strlen($post)."\r\n";
    $out .= "Connection: Close\r\n";
    $out .= "Cache-Control: no-cache\r\n";
    $out .= "Cookie: $cookie\r\n\r\n";
    $out .= $post;
      } else {
    $out = "GET $path HTTP/1.0\r\n";
    $out .= "Accept: */*\r\n";
    $out .= "Accept-Language: zh-cn\r\n";
    $out .= "User-Agent: $_SERVER[HTTP_USER_AGENT]\r\n";
    $out .= "Host: $host\r\n";
    $out .= "Referer: \r\n";
    $out .= "Connection: Close\r\n";
    $out .= "Cookie: $cookie\r\n\r\n";
      }
      $fp = @fsockopen(($ip ? $ip : $host), $port, $errno, $errstr, $timeout);
      if(!$fp) {
    return '';
      } else {
    stream_set_blocking($fp, $block);
    stream_set_timeout($fp, $timeout);
    @fwrite($fp, $out);
    $status = stream_get_meta_data($fp);
    if(!$status['timed_out']) {
      while (!feof($fp)) {
    if(($header = @fgets($fp)) && ($header == "\r\n" ||  $header == "\n")) {
      break;
    }
      }   $stop = false;
      while(!feof($fp) && !$stop) {
    $data = fread($fp, ($limit == 0 || $limit > 8192 ? 8192 : $limit));
    $return .= $data;
    if($limit) {
      $limit -= strlen($data);
      $stop = $limit <= 0;
    }
      }
    }
    @fclose($fp);
    return $return;
      }
    }