我刚刚开始学习一些PHP,我试图做一个简单的PHP脚本。它要做的就是问一个人一个链接,然后将其转换为超级链接。
人们如何使用我的网站:
第一种方法是他们可以
localhost/link-to-hyperlink.php
https://google.com
他们可以使用的第二种方法是:
Go to localhost/link-to-hyperlink.php?url=https://google.com
我的问题
我的两个东西的工作,但是当有人提出这样的网址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>