PHP表单通过URL传递值

PHP表单通过URL传递值,php,forms,Php,Forms,我有一个登录页面(本地intranet,所以不用担心安全问题)。 此页面由以下表单代码组成: <form action="auth.php" method="get" class="blocklogin"> <tr> <td class="blocklogin" ><div align="left">Username:&nbsp; <input class="blocklogin" type="text" name="

我有一个登录页面(本地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>
但这似乎不起作用,它假设使用链接中的详细信息登录。我错过什么了吗? 请帮忙

表单action 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());
}

?>

如果您尝试通过url:

您应该使用
$\u GET['username']
$\u GET['password']
来检索值

否则,如果您提交,请使用
$\u POST['username']
$\u POST['password']


这可能会有所帮助。

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

通过url执行此操作时,可以使用“$\u get”而不是“$\u POST”获取参数


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

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

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

用action auth.phpany表单更新了问题。有更多建议吗?请确切地说,什么不起作用?如果添加
print\r($\u GET)你看到了什么?从外观上看,问题可能出在您的数据库代码上。@PassKit,ok在我的问题的底部添加了数据库代码。在通过登录页面正常登录时100%有效,但在尝试传递URL中的用户名和密码时无效。使用$GET now尝试过,但不起作用…您能否解释一下有关htmlspecialchars()plsok使用specialchar也做过,但仍然不起作用的更多信息:$username=htmlspecialchars($GET['username',ENT\u引号);在输入表单中,您似乎忘记了。看看它。它就在那里:),否则使用正常登录就不起作用了
http://localhost/folder/auth.php?username=user@test&password=test123