您好我是php新手,我在php中做一个简单的登录表单。用户输入用户ID和密码。在按钮上单击我将其重定向到PHP页面。在那里,我使用一个简单的选择查询,并使用该用户标识和密码检索行数。现在如果返回行,那么它有效,我将他从那里重定向到其他页面。如果不是,我想将值传递回相同的登录页面(最好是布尔值)并使用它来启用标签说明无效凭证。
验证php页面中的代码:
<?php
$user = $_GET['txtUserName'];
$password = $_GET['txtPassword'];
$link = mysql_connect("localhost",username,password);
mysql_select_db(dbname, $link);
$result = mysql_query("SELECT * FROM user_table WHERE user_name='$user' and password='$password'", $link);
$num_rows = mysql_num_rows($result);
if($num_rows!=0)
{
redirection to other pages
}
else
{
//code here to pass back to login form
}
?>
我非常喜欢php。尝试简单的表格。
答案 0 :(得分:2)
GET
方法提交包含密码等敏感数据的表单。$user = $_POST['txtUserName']
。现在,让我们假设您的输入框是<input type ='text' name = 'txtUserName'>
,将value='<?PHP echo $user?>
属性放在输入框中,它将显示该值。最后,阅读一些教程。互联网上有很多他们:-)祝你好运PHP: - )
这个演示可能会给你更多的想法:
<?PHP
$username = "";
$password = "";
$error = "";
if($_SERVER['REQUEST_METHOD'] == "POST") {
$username = $_POST['txtUserName'];
$password = $_POST['txtPassword'];
if(/*everything OK*/) {
// sign the user in
// redirect to some other page of your choice or not
} else {
$error = "Please try again";
}
}
?>
<html>
... html goes here
<?PHP
if(strlen($error) ) {
echo $error;
}
?>
<form action = "" method = "POST">
<input type = 'text' name = 'txtUserName' value='<?PHP echo $username?>' />
<input type = 'password' name = 'txtPassword' />
<input type = 'submit' value = 'Sign In' />
</form>
?>
... rest of the html
答案 1 :(得分:0)
首先,您不应该通过GET方法传递用户名和密码值。你应该使用POST,因为它没有通过URL。
至于重定向到上一页并发送信息,我不是专家。但是从我读过的内容来看,您应该使用会话,或者使用javascript。
编辑:查看已发布的另一个答案,您可以使用标题(位置:&#34;&#34;&#34;)通过网址传递值(即标题(位置:&#34; someurl) .com / somefile.php?var = data&#34;)并在注册页面上使用get方法检查这些变量。如果它们存在,那么您可以显示标签,通知用户无效的凭据。
答案 2 :(得分:0)
if($num_rows!=0)
{
header("location:other-page.php");
}
else
{
header("location:old-page.php");
}
同样使用会话...如果用户名和密码不匹配,将会话设置为1并重定向到旧页面。取值。比较如果设置。然后显示无效的信用卡
答案 3 :(得分:0)
直接的答案是:
if($num_rows != 0)
header("Location: http://myhost/myauthorizedpage.html");
else
header("Location: http://myhost/loginpage.html");
虽然这是一个相当蹩脚的安全解决方案。任何人都可以在浏览器中输入 http://myhost.com/myauthorizedpage.html ,并绕过您的登录页面。
更可靠的解决方案包括会话管理(http://www.sitepoint.com/php-sessions/)并使用以下内容保护所有重要页面:
if(!isset($_SESSION["user"]))
header('HTTP/1.0 403 Forbidden');
答案 4 :(得分:0)
通知书
GET
方法获取密码,因为GET会显示在网址中。以下是教程What is the difference between POST and GET? mysqli
和PDO。 mysql()函数很快就会出现
从PHP5折旧。 Mysqli tutorials. 重定向可以通过header()
函数完成。 header()
tutorial