1

mysql接続を処理するphpファイル(login.php)があります。

ログインに成功すると、ある種のメンバーのページにリダイレクトされます。

それは完璧に機能します。

ただし、include( "login.php")実行して、たとえば$ username変数を使用しようとすると、リダイレクトのhtml、この場合はheader( "location:members.html")の出力が表示されます。

これは欠陥ではなく、おそらくphpの機能である可能性があります。そうであれば、login.phpファイルを2つのファイルに分離する必要があります。1つはチェックし、もう1つは成功した場合にリダイレクトしますか?

前もって感謝します

ファイル情報:login.html

<html>

<head>
<title>Login</title>

</head>
<body>

<form action="login.php" method="post">

<table cellpadding=10>
<tr>
<td>Username:</td>
<td><input type="text" name="username"></input></td>
</tr>

<tr>
<td>Password:</td>
<td><input type="password" name="password"></input></td>
</tr>

<tr>
<td colspan="2"><input type="submit"></input></td>
</tr>
</table>

</form>

</body>

</html>

login.php

<?php 
session_start();


$con = mysql_connect($host,$_POST['username'],$_POST['password']);

if(!$con)
{
    die("Could Not Connect!" . "\n" . "Reason: " . mysql_error());
}
else
{
    $_SESSION['username'] = $_POST['username'];
    //header("Location:interact.html");
    echo "<script>window.location = 'http://localhost/interact.html'</script>";
}

?>

Interaction.html

<html>
<head>

<title>Nexus | Envoy</title>

</head>

<body>
<p><?php echo "WELCOME ". $_SESSION['username']; ?></p>
</body>
</html>
4

2 に答える 2

1

まず、html をヘッダー、コンテンツ、フッターにスライスする必要があります。各ページのコンテンツは変更され、ヘッダーとフッターは同じままです。ヘッダー ファイルに接続を確立するための session_start() とコードを追加します。

大まかなアイデアを提供するだけです...

login.php

<?php 
session_start();


$con = mysql_connect($host,$_POST['username'],$_POST['password']);

if(!$con)
{
    die("Could Not Connect!" . "\n" . "Reason: " . mysql_error());
}
else
{
    $sql=mysql_query("select * from users where username = '".$_POST['username']."' and
      password = '".$_POST['password']."' ");

    if(mysql_num_rows > 0) 
   {
    $_SESSION['username'] = $_POST['username'];
    header("Location:interact.php");
   }
  else
  {
    echo "Invalid Username/password";
   }
}

?>

ログイン

ユーザー名パスワード:

Interact.php

ネクサス | 特使

->html をスライスし、ヘッダーとフッター ファイルを含めます。-> 要求された URL に従ってコンテンツを変更します。たとえば、index.php という 1 つのファイルを保持し、ヘッダー、そのコンテンツ、最後にフッターを含めます。-> リクエストが index.php?content=register であるとすると、$_REQUEST['content'] の値を取得し、それに基づいてコンテンツ ファイルをインクルードします -> if $_REQUEST['content'] = '登録', インクルード('register.php'). Register.php にはコンテンツのみが含まれ、ヘッダーとフッターは含まれません。-> $_REQUEST['content'] が空の場合、ホームページを表示します。サンプル header.php: フッターのサンプル。
于 2013-02-12T07:02:00.813 に答える