Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/248.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中创建自定义ahref链接_Php - Fatal编程技术网

在PHP中创建自定义ahref链接

在PHP中创建自定义ahref链接,php,Php,如何使用php在ahref中创建自定义链接,如下所示 link from : http://www.top10bestwebsitehosting.com/visit.php?site=iPage goes to : http://www.ipage.com 也许是这样的: $sites = array( 'iPage' => 'http://www.ipage.com/', 'Google' => 'http://www.google.com/', ); $k

如何使用php在ahref中创建自定义链接,如下所示

link from : http://www.top10bestwebsitehosting.com/visit.php?site=iPage
goes to : http://www.ipage.com

也许是这样的:

$sites = array(
    'iPage'  => 'http://www.ipage.com/',
    'Google' => 'http://www.google.com/',
);

$key = $_GET['site'];

if(isset($sites[$key])) {
    header('Location: ' . $sites[$key]);
    exit;
}

echo 'Sorry, no such site.';

存在重定向,如果您在firefox开发者工具中打开链接,然后按escape键(否则您将被重定向),您可以看到下一个url:

http://naturaltracking.com/redirect.php?url=http%3A%2F%2Fwww.ipage.com%2Fjoin%2Findex.bml%3FAffID%3D638751%26amp%3BLinkName%3D&uid=6344b6a239bb&sid=374eaa4bb6d2&hukc=1&nicid=00004ZQNza&nivkey=FiiRIhiDHa

很可能是这样做的:

  • 拥有
    $\u GET['site']
    可以是什么的内部列表
  • 阅读
    $\u GET['site']
  • 重定向到相应的网站
  • 这是一个例子:

    <?php
    // visit.php
    $pages = array('iPage'=>'www.ipage.com','google','www.google.com');
    if (in_array($pages,$_GET['site']))
    {
        // do some internal logging or whatever
        header("Location: ".$pages[$_GET['site']]);
    }
    ?>
    

    top10bestwebsitehosting的做法是,它将URL保存在数据库中。然后它会做一些类似于下面的事情:

    $name = mysql_real_escape_string($_GET['site']); //check for escapes etc.
    $query = mysql_query('select * from `websites` where `name` = {$name} limit 1');
    $row = mysql_fetch_row($query);
    header('Location: '.$row['url']);
    

    请添加更多细节和上下文。你说的“创造”是什么意思?目前这些链接在哪里?这些地址是什么,它们都在你的服务器上运行吗?你确定这不是mod_重写吗?我不确定他们是怎么做到的。你可以查看这个网站。当您指向这些链接时,它实际上会显示一个自定义链接。然后单击转到网站。感谢您的回答,但是如何将其插入ahref?
    如果(isset($sites[$key]),此部分有错误{.你能修好它吗?你能打开你的大脑吗?无意冒犯,但它只是一个缺少的右括号。我能用这个来调用它吗?当然可以,为什么不能?我想你应该使用
    isset()
    而不是
    in_array()
    因为你必须检查键而不是值。你如何在ahref中调用它?请建议。