3

我有一个登录页面(本地 Intranet,所以不用担心安全问题)。此页面包含以下表单代码:

<form action="auth.php" method="get" class="blocklogin">    
<tr>
<td class="blocklogin" ><div align="left">Username:&nbsp; <input class="blocklogin"     type="text" name="username" id="username" /><br />
</div></td>

</tr>
<tr>
<td class="blocklogin" ><div align="left">Password: &nbsp;  <input class="blocklogin"         type="password" name="password" id="password" />
</div></td>

</tr>
<tr>
<td colspan="2" class="blockloginfoot" title="Login"><input name="Login" type="submit"     value="Login" /></td>
</form>

现在我尝试通过执行以下操作通过 http 链接传递用户名和密码:

http://localhost/folder/user_login.php?username=user@test&password=test123

但这似乎不起作用,它假设使用链接中的详细信息登录。我错过了什么吗?请帮忙

表单动作 auth.php

<?php
session_start();

require_once('database.php');


$username = $_GET['username'];
$password = $_GET['password'];



$sql = "SELECT * FROM access_getaccountswithinfo WHERE username='".$username."' AND     password='".$password."'";

$run = mysql_query($sql);
$row = mysql_fetch_array($run);

if (mysql_num_rows($run) == 1) {
$_SESSION['logged_in'] = true;
$_SESSION['username'] = $row['username'];
$_SESSION['password'] = $row['password'];
$_SESSION['packagename'] = $row['packagename'];
$_SESSION['creation-date'] = $row['creation-date'];
$_SESSION['cap'] = $row['cap'];
$_SESSION['total'] = $row['total'];
$_SESSION['remainingtopup'] = $row['remainingtopup'];


header("location: usage.php");
} else {
header("location: user_login.php");

}


 mysql_close($link);
?>

数据库代码 - database.php :

<?php
$link = mysql_connect('localhost', 'dbase', 'pass123');
if (!$link) {
die('Could not connect: ' . mysql_error());
}

// make dbase the current db
$db_selected = mysql_select_db('dbase', $link);
if (!$db_selected) {
die ('Can\'t use foo : ' . mysql_error());
}

?>
4

3 回答 3

0

如果您通过 url 尝试:

http://yourserver.com/folder/user_login.php?username=user@test&password=test123

您应该使用$_GET['username']and$_GET['password']来检索该值。

否则,如果您提交它,请使用$_POST['username']$_POST['password']

愿这有帮助。

于 2013-03-30T14:45:41.740 回答
0

您的 html 表单使用“post”方法将数据发送到您的 php 脚本。发布数据在标题中发送,您现在的设置应该可以工作。

通过 url 执行此操作时,您可以使用“$_GET”获取参数,而不是“$_POST”。

另外,请记住 htmlspecialchars() 从表单发送的内容。

于 2013-03-30T14:47:37.757 回答
0

而不是使用 URL 将值传递给表单所在的 user_login.php...您必须将其传递给 auth.php,这是实际捕获值的 php,如下所示

http://localhost/folder/auth.php?username=user@test&password=test123
于 2013-03-30T18:37:01.840 回答