Javascript 在URL中的?=之后添加随机文本
假设这是一个名为Javascript 在URL中的?=之后添加随机文本,javascript,php,html,Javascript,Php,Html,假设这是一个名为MyWebsite.com/page.php <?php $username = "SuperUsername"; $password = "SuperPassword"; if (isset($_GET['p']) && $_GET['p'] == "login") { if ($_POST['user'] != $username) { exit; } else if ($_POST['keypass'] !=
MyWebsite.com/page.php
<?php
$username = "SuperUsername";
$password = "SuperPassword";
if (isset($_GET['p']) && $_GET['p'] == "login") {
if ($_POST['user'] != $username) {
exit;
} else if ($_POST['keypass'] != $password) {
exit;
} else if ($_POST['user'] == $username && $_POST['keypass'] == $password) {
echo "LOGGED IN";
} else {
exit;
}
}
?>
<!DOCTYPE html>
<html>
<head>
<title></title>
</head>
<body>
<form action="<?php echo $_SERVER['PHP_SELF']; ?>?p=login" method="post">
<label><input type="text" name="user" id="user" /> Name</label><br />
<label><input type="password" name="keypass" id="keypass" /> Password</label><br />
<input type="submit" id="submit" value="Login" />
</form>
</body>
</html>
可以帮助。。。试试这个
$Query = $_SERVER['QUERY_STRING'];
if (isset($_GET['p']) && $_GET['p'] == "login") {
/////////////////////
<form action="<?php echo $_SERVER['PHP_SELF']; ?>?p=login&q=<?php echo $Query;?>" method="post">
或者,另一种解决方案是使用隐藏输入像这样发布p=login(不在URL中):
<form action="<?php echo $_SERVER['PHP_SELF']; ?>?q=<?php echo $Query;?>" method="post">
<input typ="hidden" name="p" value="login" />
page.php?=1337
不是有效的名称值pair@HankyPanky我不明白?您需要命名参数,例如page.php?id=1337,代码为$\u GET['id']如果p
的值变为login1337
您的登录系统将无法工作。名称2变量和url变为类似page.php的内容?p=login&id=1337其他两种方法是使用substr/preg或mod_rewrite我不确定我是否理解,您希望我做什么来代替…?您可以通过POST而不是GET(url)传递一些参数因此,您的URL将保持不变。
$Query = $_GET['q'];
<form action="<?php echo $_SERVER['PHP_SELF']; ?>?q=<?php echo $Query;?>" method="post">
<input typ="hidden" name="p" value="login" />
if($_POST['p'] == 'login') {...}