私のウェブサイトでは、すべてのphpページの上部に、
include_once 'header.php';
このファイルには HTML が含まれています。
私のファイル「authenticate.php」では、インデックスにログインした後にリダイレクトしたいと考えています。
私のコードは次のとおりです。
ただし、送信後、ページが更新されるだけです。リダイレクトしません。私の localhost 開発サーバーではリダイレクトが適切に機能していましたが、オンラインにアップロードするとすぐに機能しなくなりました。
これは、header() 関数の前に呼び出される HTML がヘッダーに含まれているためですか? 「header.php」ファイル内のすべての HTML は HEREDOC タグ内にあることに注意してください。
これが私のコードです:
<?php // login.php
include_once 'header.php';
include_once 'functions.php';
require_once 'login_users.php';
$db_server = mysql_connect($db_hostname, $db_username, $db_password);
if (!$db_server) die("Unable to connect to database:" . mysql_error());
mysql_select_db($db_database)
or die("Unable to find database:" . mysql_error());
if (isset($_POST['username']) &&
isset($_POST['pw_temp']))
{
$username = sanitizeString($_POST['username']);
$pw_temp = sanitizeString($_POST['pw_temp']);
$pw_temp = md5($pw_temp);
$query = "SELECT username,password FROM users WHERE username='$username' AND password='$pw_temp'";
if (mysql_num_rows(mysql_query($query)) == 0)
{
die("Wrong info");
}
else
{
$_SESSION['username'] = $username;
$_SESSION['password'] = $pw_temp;
$_SESSION['ipaddress'] = $_SERVER['REMOTE_ADDR'];
header('Location: http://www.URLHERE.com/index.php');
}
}
...more code down here