【问题标题】:ampersand not passing in a string variable via url& 不通过 url 传入字符串变量
【发布时间】:2012-09-28 09:42:35
【问题描述】:

我正在尝试将一个大 url 作为字符串传递给另一个 php 页面并通过$_REQUEST[] 在那里获取它 但它不起作用。 这是第一页的代码(JavaScript):

var url="index.php?module=Contacts&return_module=Campaigns&action=UD_DetailView&popuptype=detailview&select=enable&form=EditView&form_submit=false";
var intermediate_url="choose_template.php?variable_url="+url;

window.location=intermediate_url;

其他页面的代码是:

<?php echo "url = ".$_REQUEST['variable_url']; ?>

我在choose_template.php 页面上得到的回声是这样的:

url = index.php?module=Contacts

我不明白。为什么它会在第一个 &amp; 出现时中断? 我应该怎么做才能绕过它?

【问题讨论】:

  • 三思而后行:您可以通过将 URL 连接起来将它们直接放入 URL 中吗?也请在询问之前搜索。
  • @hakra 将 URL 作为字符串变量放入另一个 url 有什么问题?

标签: php javascript url


【解决方案1】:

尝试在js中使用:

url = encodeURIComponent(url);

比在php中:

echo "url = ". urldecode($_REQUEST['variable_url']);

【讨论】:

  • 非常感谢您的帮助。
【解决方案2】:

在处理url时,应该使用urlencode和urldecode函数

http://php.net/manual/en/function.urlencode.php
http://php.net/manual/en/function.urldecode.php

在javascript中:

url = encodeURIComponent(url)

【讨论】:

    【解决方案3】:

    尝试使用 urlencode():

    var url="<?php echo urlencode('index.php?module=Contacts&return_module=Campaigns&action=UD_DetailView&popuptype=detailview&select=enable&form=EditView&form_submit=false')?>";
    
    var intermediate_url="choose_template.php??variable_url="+url;
    
    window.location=intermediate_url;
    

    【讨论】:

      【解决方案4】:

      如果我理解正确,你应该回显当前页面的全名:使用它来获取它:

      function curpage() {
          $pu = 'http';
          if ($_SERVER["HTTPS"] == "on") {$pu .= "s";}
          $pu .= "://";
          if ($_SERVER["SERVER_PORT"] != "80") {
          $pu .= $_SERVER["SERVER_NAME"].":".$_SERVER["SERVER_PORT"].$_SERVER["REQUEST_URI"];
          } else {$pu .= $_SERVER["SERVER_NAME"].$_SERVER["REQUEST_URI"];}
          return $pu;
      }
      
      <?php echo "url = ".curpage(); ?>
      

      这总是可以正常工作的!

      【讨论】:

        猜你喜欢
        • 2017-11-24
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-10-02
        • 1970-01-01
        • 2020-10-19
        • 1970-01-01
        相关资源
        最近更新 更多