【问题标题】:Pass parameters var/value to second page Php将参数 var/value 传递到第二页 Php
【发布时间】:2015-02-14 23:49:59
【问题描述】:

我正在尝试将一些参数 vars 和变量从一个页面 x 传递到另一个页面 y

我的参数化部分如下所示:

x?path=1&edu=4&cert=

如何使用 php 轻松地将这些值传递到另一个页面?

注意:很多时候cert var 没有价值。

例如: 我有一个文件 x.php 正在生成一个 url,如:xx.xxx.xxx.xxx/p?path=1&edu=4&cert=。然后我需要在y.php 中使用这个url - 我该怎么做?

注意:我无法为此应用程序使用框架

谢谢

【问题讨论】:

  • 你可以使用$_SESSION ?!
  • 你已经通过这样做了。要访问它们,您可以执行以下操作: $edu = $_GET['edu'];或者使用你的框架提供的任何东西,如果你正在使用的话。
  • 我不认为你理解。这些值已经参数化,我现在尝试在不同的 php 页面中使用这些 var/values - 这有意义吗?
  • 不,它没有。向我们展示哪些 URI 加载了哪些 PHP,以及您想在该 PHP 文件中做什么,您尝试了什么(查看$_GET,或者更好的是filter_var
  • 所以,我有 x.php 正在生成一个 url,如:xx.xxx.xxx.xxx/p?path=1&edu=4&cert=。然后我需要在 y.php 中使用这个 url - 更好吗?

标签: php variables parameter-passing


【解决方案1】:

在x页接收参数时,将其保存在变量中,并添加到y页的链接中。有更好的方法,但它们完全取决于你想要做什么。 下面是一个简单的例子。

x.php?path=1&edu=4&cert=

<?php
    $path=$_GET['path'];
    $edu=$_GET['edu'];
    $cert=$_GET['cert'];
    $params = "?path=".$path."&edu=".$edu."&cert=".$cert;
?>
<a href="y.php<?php echo $params ?>">Link to page Y with params obtained from page X</a>

结果将是 y.php?path=1&edu=4&cert=

如果你在 cert 中没有值也没关系,它会作为 cert= 传递

【讨论】:

    【解决方案2】:

    尝试使用标题位置

    $path=$_GET['path'];
    $edu=$_GET['edu'];
    if(!isset($_GET['cert'])) header("Location: y.php?edu={$edu}&path={$path}"); 
    else $cert = $_GET['cert'];
    

    【讨论】:

      【解决方案3】:

      我不明白你想要什么,但试试这个:

      x.php

      <?php
      
      $url = 'http:localhost/test.php?path=1&edu=4&cert=';//generated url
      parse_str(parse_url($url)['query']);//get parameter on url
      include("y.php");
      

      y.php

      <?php
      
      //!\ you must secure this value /!\
      var_dump($path);
      var_dump($edu);
      var_dump($cert);
      

      【讨论】:

        【解决方案4】:

        你是否提交了任何表单?如果你是通过按钮点击之类的事件从 x.php 转到 y.php,那么你可以进行 ajax 调用,并且可以轻松地在其他页面中接收参数。 喜欢&lt;input name="" type="button" onclick="showHint($x);" value="click on me!" id="start" /&gt;//wher $x=1 your value

        <div id="txtHint"></div>
        

        你可以把函数写成

        <script>
        function showHint(path) {
        
        if (path.length == 0) { 
            document.getElementById("txtHint").innerHTML = "";
            return;
        } else {
            var xmlhttp = new XMLHttpRequest();
            xmlhttp.onreadystatechange = function() {
                if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
                    document.getElementById("txtHint").innerHTML = xmlhttp.responseText;
                }
            }
            xmlhttp.open("GET", "y.php?p=" + path, true);
            xmlhttp.send();
        }
        
        
         }
        </script>`
        

        现在在 y.php 中,您可以将参数捕获为

        $path= $_REQUEST["p"];
        

        像这样,您可以将参数从一个 php 页面传递到另一个页面。 我不知道你是想要这种东西还是别的东西。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2013-12-09
          • 1970-01-01
          • 2023-03-25
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2019-07-10
          相关资源
          最近更新 更多