如何获得$ _GET URL(有时它与多元素的数组)

时间:2019-01-31 00:28:24

标签: php get

我刚刚开始学习一些PHP,我试图做一个简单的PHP脚本。它要做的就是问一个人一个链接,然后将其转换为超级链接。


人们如何使用我的网站:

第一种方法是他们可以

  1. 转到localhost/link-to-hyperlink.php
  2. 以我的形式输入网址。像:https://google.com
  3. 然后,我的PHP脚本转换成一个超链接。

他们可以使用的第二种方法是:

  1. Go to localhost/link-to-hyperlink.php?url=https://google.com
  2. 然后我的php脚本将其转换为超级链接。

我的问题

我的两个东西的工作,但是当有人提出这样的网址https://google.com/something.php?name=bob&age=12&fav-nums=200;300;400我的程序不能正常工作。它使超链接https://google.com/something.php?name=bob,而不是整个URL。

同样在部分编码的URL发生如下:localhost/link-to-hyperlink.php?url=https://google.com?something.php?names=bob%3Bmike%3Bsam&age=30%3B23%3B22&fav-nums=200%3B300%3B400

当有人决定用第二种方式的链接转换发生。我打印了$ _GET数组,您可以看到它在$ _GET中形成多个索引。我想为他们的滥用提供便利。

该数组看起来像这样:

Array
(
    [url] => https://google.com/something.php?name=bob
    [age] => 12
    [fav-nums] => 200;300;400
)

我的程序:link-to-hyperlink.php

<?php

    if(isset($_GET['url']) == false) {
        $answer = "Enter a URL<br>";
    } else {
        $answer = '<a target="_blank" href="' . $_GET['url'] . '">Your Hyperlink</a><br>';
    }

?>

<html>
<head>
    <title>Link To Hyerplink Converter</title>
</head>

<body>
    <pre>
The array structure was:

<?php print_r($_GET); ?>
    </pre>
    <br>
    <?php echo $answer; ?>
    <form action="link-to-hyperlink.php" method="GET">
        Your URL:<br>
        <input type="text" name="url"><br>
        <input type="submit" value="submit">
    </form>
</body>
</html>

0 个答案:

没有答案