私が現在解決できない問題は、ユーザーがログインしたときです。ユーザーはサイト(index.php)に到着し、ユーザー名とパスワードを入力します。これは、投稿フォームを介してindex.phpに送信されます。詳細が正しくない場合は、エラーメッセージが表示されます。しかし、成功した場合は、ユーザーのホームページに移動してもらいたいのですが、これはできません。私は彼らにホームページへのリンクを提示することを余儀なくされていますが、それは少し不格好です。
明らかに解決策があるに違いないようです-リダイレクトされなかった前にサイトを見たことがありません!答えがPHp、HTML、またはJavascriptであるかどうかはわかりません。
編集:
質問が完全ではなかった場合は申し訳ありませんが、まだここで学習しています。リダイレクトをifステートメントに入れようとしましたが、それでも機能しません。理想的にはリダイレクトがコードの一番上になると思いますが、それを実行してログイン手順を保持する方法がわかりませんか?次のようにコーディングします。
if (isset($_POST['user']))
{
$user = sanitizeString($_POST['user']);
$pass = sanitizeString($_POST['pass']);
$salt = "randomsalt";
$md5pass = md5($salt . $pass);
if ($user == "" || $pass == "")
{
$error = "Not all fields were entered<br />";
}
else
{
$query = "SELECT username,password FROM users
WHERE username='$user' AND password='$md5pass'";
if (mysql_num_rows(queryMysql($query)) == 0)
{
$error = "Username/Password invalid<br />";
}
else
{
$_SESSION['user'] = $user;
$_SESSION['pass'] = $pass;
header("Location: http://localhost:8888/profile.php?view=$user");
exit;
}
}
}
ありがとう
リッチ
編集2:
助けてくれてありがとう-それでも解決できなかったので、ページの上部にリダイレクトする必要がありますが、同様にログインスクリプトを配置する必要があります。結局、それを次のように解決しました:
echo "<meta http-equiv=\"refresh\" content=\"0;URL=profile.php?view=$user\">";
上記のヘッダーと終了行の代わりに。
再度、感謝します
リッチ