login.phpからindex.phpにログインできなくて困っております。
リンク先をindex.php以外のファイルにするとアクセスできるので、
index.phpに記述ミスがあるのではと考えております。
下記サイトにて、エラーチェックをかけましたが、
エラーは検出できませんでした。
http://jp.piliapp.com/php-syntax-check/
動作としては、下記を想定しています。
1.ログインしていない状態でindex.phpにアクセスするとlogin.phpに飛ぶ
2.login.phpでID・PWを入力し、認証に成功するとindex.phpに飛ぶ
大変勝手で恐縮ですが、お知恵をお貸しいただけると幸いです。
※ログインに関する記述でない所でログインのプログラムに
問題が出ている可能性があるため、全文載せさせていただいております。
お目汚し申し訳ございません・・・
▼index.php
<?php
error_reporting(E_ALL ^ E_NOTICE);
ini_set('display_errors', '1');
session_start();
require('dbconnect.php');
if (isset($_SESSION['id']) && $_SESSION['time'] + 3600 > time ()) {
// ログインしている
$_SESSION['time'] = time();
$sql = sprintf('SELECT * FROM members WHERE id=%d',
mysqli_real_escape_string($db, $_SESSION['id'])
);
$record = mysqli_query($db, $sql) or die(mysqli_error($db));
$member = mysqli_fetch_assoc($record);
} else {
// ログインしていない
header('Location: login.php');
exit();
}
// 投稿を記録する
if (!empty($_POST)) {
if ($_POST['message'] != '') {
$sql = sprintf('INSERT INTO posts SET member_id=%d, message="%s", reply_post_id=%d, created=NOW()',
mysqli_real_escape_string($db, $member['id']),
mysqli_real_escape_string($db, $_POST['message']),
mysqli_real_escape_string($db, $_POST['reply_post_id'])
);
mysqli_query($db, $sql) or die(mysqli_error($db));
header('Location: index.php');
exit();
}
}
// 投稿を取得する
$sql = sprintf('SELECT m.name, m.picture, p.* FROM members m, posts p WHERE m.id=p.member_id ORDER BY p.created DESC');
$posts = mysqli_query($db, $sql) or die(mysqli_error($db));
// 返信の場合
if (isset($_REQUEST['res'])) {
$sql = sprintf('SELECT m.name, m.picture, p.* FROM members m, posts p WHERE m.id=p.member_id AND p.id=%d ORDER BY p.created DESC',
mysqli_real_escape_string($db, $_REQUEST['res'])
);
$record = mysqli_query($db, $sql) or die(mysqli_error($db));
$table = mysqli_fetch_assoc($record);
$message = '@' . $table['name'] . ' ' . $table['message'];
}
// htmlspecialcharsのショートカット
function h($value) {
return htmlspecialchars($value, ENT_QUOTES, 'UTF-8');
}
// 本文内のURLにリンクを設置します
function makeLink($value) {
return mb_ereg_replace("(https?)(://[[:alnum:]\+\$\;\?\.%,!#~*/:@&=_-]+)",'<a href="\1\2</a>' , $value);
}
?>