首先,如果已经提出要求,我会道歉;我使用了SO搜索&高级搜索甚至是一小时的GoogleFu,都无济于事。
我遇到的问题是,每当我尝试在我的网址中使用查询时,都会导致404.
127.0.0.1/login.php抛出错误,说所需的查询(& asdfasdf =?)不存在,但其他方式正常... http://puu.sh/2SIyc.png
127.0.0.1/login.php&asdfasdf=5导致404 ... http://puu.sh/2SIxF.png
我尝试过的: 通过我的广泛搜索,很多结果显示某些查询名称“不被允许”,如果它们已被相关CMS使用。这不是使用CMS,即使PHP后端有一些时髦的东西声称有一些查询名称,我怀疑他们被称为“asdfasdf”就像我的。
有什么想法吗?
我的代码:
<?php include('header.php') ?>
<!-- Primary Content -->
<div class="row">
<div class="span12" style="border: 1px solid #000;">
<div class="row">
<div class="span12">
<?php
$error = $_GET["asdfasdf"];
if(is_null($error)){
echo "<h1> THE &asdfasdf=X RESOLVED TO NULL </h1>";
} else {
echo "<h1> Your passwords did not match </h1>";
}
?>
</div>
</div>
<div class="row" id="login-container">
<!-- Left-hand-side; login form-->
<div class="span6">
<form class="form-horizontal">
<div class="control-group">
<label class="control-label" for="inputEmail">Email</label>
<div class="controls">
<input type="text" id="inputEmail" placeholder="Email">
</div>
</div>
<div class="control-group">
<label class="control-label" for="inputPassword">Password</label>
<div class="controls">
<input type="password" id="inputPassword" placeholder="Password">
</div>
</div>
<div class="control-group" id="sign-in">
<label class="checkbox">
<input type="checkbox"> Remember Me </input>
</label>
<button type="submit" class="btn">Sign in</button>
</div>
</form>
</div>
<!-- Right-hand-side; register form-->
<div class="span6" id="register-container">
<form class="form-horizontal" id="register-container" method="post" action="register_validate.php">
<div class="control-group">
<label class="control-label" for="inputEmail">Email Address</label>
<div class="controls">
<input type="text" id="email" name="email" placeholder="Email">
</div>
<span class="help-block indented-help-block">This will be your username.</span>
</div>
<div class="control-group">
<label class="control-label" for="inputPassword">Password</label>
<div class="controls">
<input type="password" id="password" name="password" placeholder="Password">
</div>
</div>
<div class="control-group">
<label class="control-label" for="inputPasswordConfirmation">Confirm password</label>
<div class="controls">
<input type="password" id="passwordConfirmation" name="passwordConfirmation" placeholder="Password">
</div>
</div>
<div class="control-group" id="register">
<label class="checkbox">
<input type="checkbox">Log in immediately</input>
</label>
<button type="submit" class="btn">Register</button>
</div>
</form>
</div>
</div>
</div>
</div>
<?php include('footer.php') ?>
答案 0 :(得分:4)
尝试使用?
代替&
作为第一个参数。
127.0.0.1/login.php?asdfasdf=5
代替
127.0.0.1/login.php&asdfasdf=5
答案 1 :(得分:1)
查询字符串应以以下格式开始。
SOME-SITE / SOME-page.php文件参数1 =值1&安培; param2的=值2&安培; ...
当然不需要参数.. 主要的是页面和查询字符串之间的问号。 和参数之间的&符号。
答案 2 :(得分:1)
将&
替换为?
。你需要告诉PHP你有一个查询字符串。问号就是这样做的方法。
答案 3 :(得分:0)
您应该使用isset()检查GET参数,因为is_null()会将var等于NULL
。