Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/247.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用php更改url路径,而不使用session_start()或任何其他方法_Php_Include_Include Path - Fatal编程技术网

使用php更改url路径,而不使用session_start()或任何其他方法

使用php更改url路径,而不使用session_start()或任何其他方法,php,include,include-path,Php,Include,Include Path,我在我的网站上运行adsense,并使用php包含文件,其中整个adsense代码被命名为ga1.php、ga2.php、ga3.php和ga4.php。代码中的所有内容都是相同的,除了一个链接颜色,这意味着在每个页面刷新或转到我的网站上的任何其他页面时,都会使用包含新链接颜色的Google Adsense代码的new include。这一切都由以下代码处理: <?php session_start(); if (isset($_SESSION['cnt'])){$_SESSION['

我在我的网站上运行adsense,并使用php包含文件,其中整个adsense代码被命名为ga1.php、ga2.php、ga3.php和ga4.php。代码中的所有内容都是相同的,除了一个链接颜色,这意味着在每个页面刷新或转到我的网站上的任何其他页面时,都会使用包含新链接颜色的Google Adsense代码的new include。这一切都由以下代码处理:

<?php 
session_start();

if (isset($_SESSION['cnt'])){$_SESSION['cnt'] += 1; if( $_SESSION['cnt'] > 4)$_SESSION['cnt'] =1;}
else {$_SESSION['cnt'] = 1;}
include("/var/www/vhosts/MySite.com/httpdocs/includes/ga" . $_SESSION['cnt'] . ".php");

?>
我可以在我的一些页面上设置
session\u start()
,在这些页面上需要跟踪会话,但不是在所有页面上,因此,如果存在问题,是否正在寻找解决方案


您的建议对我来说总是很有价值,我非常感激。

您可以使用GET命令将数字传递到其他页面。只需将_会话替换为_GET并添加到include的末尾:

include("/var/www/vhosts/MySite.com/httpdocs/includes/ga" . $_GET['cnt'] . ".php?cnt=".$_GET['cnt']);
或者,您可以使用以下命令获取ga后的数字:

$cnt=substr($_SERVER['REQUEST_URI'], -5, 1);

希望这有帮助

这些头的哪一部分是不受欢迎的?您不应该允许诸如include或require之类的函数使用未过滤的用户变量。上面的例子是不安全的。谢谢你的回复,但我不太同意你的观点,我已经尝试用_GET替换所有的会话,但似乎什么都没有发生。是否有机会发送代码,使其更易于理解?您是否能够发送更新后的代码?关于@Martin的观点,你可以使用Pregmatch来确保它是一个数字,例如:对不起,编辑时间用完了,我的意思是:你能发送更新的代码吗?关于@Martin的观点,你可以使用Pregmatch来确保它是一个数字,例如:if(preg_match('/[1-4]/',$GET['cnt']){//continue}我想我已经找到了一个简单的解决方案,可以解决这个问题{}
$cnt=substr($_SERVER['REQUEST_URI'], -5, 1);