私はログインページを含むウェブサイトを構築しています。ログインに成功したらユーザーをプロフィールページにリダイレクトする必要がありますが、PHPでこれを行う方法はわかりません(これは私の最初のサイトです)。PHPを使用して別のページにリダイレクトする方法
私はインターネットを検索し、header()関数がトリックを行うべきだと言われましたが、使用する前に情報を出力しなかった場合にのみ機能します。
これは問題です。私は、(ログインページ自体を構築するためのHTMLを含む)たくさんの情報を出力しました。では、ユーザーをあるページから次のページにリダイレクトするにはどうすればよいですか?
どのようなオプションがありますか?また、これらの場合のベストプラクティスは何ですか?
ありがとうございます!
編集:ここではあなたは自分のsetcookie
呼び出した後、それを呼び出し、ログインのためにクッキーを使用していると仮定すると、私の全体のlogin.phpページ
<?php
session_start();
echo "<!DOCTYPE html>
<html>
<head>
<meta charset='utf-8'>
<title>Sprout</title>
<link rel='stylesheet' href='stylesheet.css' type='text/css'>
</head>
<body>
<div class='box'>
<form action='login.php' method='post'>
Name<br /> <input type='text' name='username' class='form'/><br />
Password<br /> <input type='password' name='password' class='form'/>
<input type='submit' value='Login' class='button' />
</form>
</div>
</body>
</html>";
if ($_SERVER['REQUEST_METHOD'] == 'POST')
{
$username = $_POST["username"];
$password = $_POST["password"];
$dbhost = "localhost";
$dbuser = "root";
$dbpass = "root";
$conn = mysql_connect($dbhost, $dbuser, $dbpass) or die ("Error connecting to database");
$dbname = "database";
mysql_select_db($dbname);
$query = "SELECT username FROM users WHERE username = '$username' AND password = '$password'";
$result = mysql_query($query) or die ("Failed Query of " . $query);
while($row = mysql_fetch_assoc($result))
{
$_SESSION["user"] = $username;
}
}
?>
ここで少し混乱していますが、基本的にヘッダー機能はあなたの探しているものですが、ここでは間違っていると思いますので、htmlページはログインページです。あなたがサブミットをクリックするか、ログインしたとき、何が起こったか、どこに行くのですか? – mcbeav
あなたのログインスクリプトにヘッダ機能が残っているはずです。いくつかのコードや詳細をあきらめて、もっと手伝ってください。 – mcbeav
btw、ログインするスクリプトを作成しましたか、あらかじめ作成したものを使用していますか?大事です。 – mcbeav