-3

有人可以帮我用我的 PHP 登录页面实现这个 HTML 吗?由于某种原因,该页面无响应。

这是HTML代码:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
<head>
    <link rel="stylesheet" href="css/screen.css" type="text/css" />
    <!--[if ite - 8]><link rel="stylesheet" href="css/screen_ie.css" type="text/css" /><![endif]-->
    <meta http-equiv="content-type" content="text/html; charset=windows-1251" />
    <title>Index</title>
</head>
<body>
    <div id="block">
        <div class="logo"><img src="img/logo.png" alt="" /></div>
        <div class="form">
            <p class="login-box">Login box</p>
            <div class="warning"><p>Wrong password, please try again.</p><p class="c">&nbsp;</p></div>
            <input type="text" value="Username"/>
            <input type="text" value="*******"/>
            <p class="btn">
                <input type="button" value="Login"/>
            </p>
            <ul class="nav-path">
                <li><a href="#">Forgot your password?</a></li>
                <li><a href="#">Create new account</a></li>
            </ul>
            <i class="ctop">&nbsp;</i>
            <i class="cbottom">&nbsp;</i>
        </div>
    </div>
</body>
</html>

这是带有临时表单的当前 PHP 登录页面:

<?php
include("db.php");
session_start();
if($_SERVER["REQUEST_METHOD"] == "POST")
{
// username and password sent from Form
$username=mysql_real_escape_string($_POST['username']); 
$password=mysql_real_escape_string($_POST['password']); 
$password = sha1($password);
$sql="SELECT * FROM client_login WHERE Username='$username' and Password='$password'";
$result=mysql_query($sql);
$count=mysql_num_rows($result);
$row = mysql_fetch_array($result);
$client_ref = $row['Client_ref'];
$user_level = $row['user_level'];
// If result matched $username and $password, table row must be 1 row
if($count==1)
{

$_SESSION['user_level'] = $user_level;
$_SESSION['client_ref'] = $client_ref;
$_SESSION['user'] = $username;

if ($user_level == '1') {
header('Location: admin.php');
} else {

header('Location: myaccount.php');
}
}
else 
{
echo "Error logging in!";
}
}
?>
<form action="login.php" method="post">
<label>UserName :</label>
<input type="text" name="username"/><br />
<label>Password :</label>
<input type="password" name="password"/><br/>
<input type="submit" value=" Login "/><br />
</form>

任何建议或想法将不胜感激。

4

2 回答 2

1

您发布的代码似乎存在多个问题。对于我上面在评论中所述的初学者,我不认识有条件的评论ite - 8。确保评论是正确的,并使用这个网站作为参考。

此外,您正在尝试发送没有表单的输入。带有 a 的 div 与class="form"实际表单不同。在里面<div class="form">添加以下内容:

<form name="loginForm" id="loginForm" action="" method="post">

填写您要发布到的页面的操作。

在此行之后:<i class="cbottom">&nbsp;</i>添加一个结束表单标记,如下所示:

</form>

最后,将您的按钮从 更改type="button"type="submit"

所以回顾一下,检查条件注释。但是,这不应阻止您的页面加载。您的主要问题是缺少表格。当您尝试提交要发布的输入时,您需要有一个表单。表单告诉页面:

  • 提交请求时使用的方法GETPOST
  • action=""以及标签中要发布到的页面

表单可以提供其他属性,但它们与您的登录表单无关。

最后,为了将表单发布到相应的页面,必须触发提交操作。按钮的类型可以是buttonsubmit。如果您使用它,则取决于您在属性type="button"中单击按钮时连接一个事件以触发。onclick=""

出于您的目的,您只需要提交您的页面,让 PHP 完成剩下的工作。因此,为了简单起见type="submit",在它执行页面提交时使用,而无需连接适当的功能。

首先尝试这些事情,如果您仍然遇到问题,请告诉我。快乐编码!

编辑(附加错误):

我看到的另一个错误是您的输入字段没有名称属性。发布表单时,名称属性将通过相应的流(GET 或 POST)发送。如果没有名称附加到输入,它们将不会被添加到流中。

看来您的 PHP 期望$_POST['username']输入用户名,因此添加:

name="username"

到您的用户名输入字段。您的 PHP 似乎也$_POST['password']需要密码字段,因此添加:

name="password"

到您的密码输入。还将密码输入的类型从 更改textpassword。如果您想要最基本的安全性并希望任何人加入您的网站,至少在他们键入密码时隐藏他们的密码。

我建议您通过购买有关该主题的书籍或访问诸如W3Schools之类的网站来开始研究 HTML 和 PHP,这样您就可以学习和理解网页设计的基础知识,尤其是 HTML,因为这是您将要构建的基础上。

于 2012-12-20T20:07:56.723 回答
0

使用表单标签并执行您的 php 文件或使用 javascript 提交您的表单。

<form action = "your_php_file.php">
//your sql queries
//don't forget to connect to database mysql_connect
</form>

PS我希望这对你有帮助!

于 2012-12-20T20:13:13.407 回答