-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"

要約すると、条件付きコメントを確認してください。ただし、これでページの読み込みが停止することはありません。あなたの主な問題はあなたのフォームの欠如でした。投稿用の入力を送信する場合は、フォームが必要です。フォームはページに次のように伝えます。

  • リクエストを送信するときに使用する方法GETまたはPOST
  • action=""とタグで投稿するページ

フォームが提供できる追加の属性がありますが、それらはログインフォームには関係ありません。

最後に、フォームをそれぞれのページに投稿するには、送信アクションを実行する必要があります。ボタンには、buttonまたはのタイプを指定できsubmitます。使用する場合は、属性type="button"でボタンがクリックされたときにトリガーするイベントを接続するのはあなた次第です。onclick=""

あなたの目的のために、あなたはあなたのページを提出するだけでよく、PHPに残りを任せます。したがって、簡単にするためtype="submit"に、適切な関数を接続しなくてもページの送信を実行するために使用します。

最初にこれらのことを試して、まだ問題が発生する場合はお知らせください。ハッピーコーディング!

編集(追加のエラー):

私が見る別のエラーは、入力フィールドに名前属性がないことです。フォームが投稿されると、名前属性がそれぞれのストリーム(GETまたはPOST)を介して送信されます。入力に名前が付けられていない場合、それらはストリームに追加されません。

PHPが$_POST['username']ユーザー名の入力を期待しているようですので、以下を追加します。

name="username"

ユーザー名入力フィールドに。また、PHPが$_POST['password']パスワードフィールドを期待しているように見えるので、次を追加します。

name="password"

パスワード入力に。また、入力したパスワードの種類をからに変更しtextますpassword。最も基本的なセキュリティが必要で、誰かがサイトに参加するようにしたい場合は、少なくともパスワードを入力している間は非表示にしてください。

HTMLとPHPの研究を始めるには、トピックに関する本を購入するか、W3Schoolsなどのサイトにアクセスして、Webデザインの基本、特にHTMLを学習して理解することをお勧めします。これは、構築するベースです。の上。

于 2012-12-20T20:07:56.723 に答える
0

formタグを使用して、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 に答える