В настоящее время я изучаю PHP и создаю небольшую функцию CMS, которая включает в себя зону входа. Я использовал приведенный ниже код, который включает в себя заголовочный файл include, содержащий информацию о doctype/head и открывающий тег. Он также включает содержимое заголовка. У меня также есть файл подключения для подключения к db.Не удается получить функцию входа в систему
Мой заголовок включает код:
<!DOCTYPE html>
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width" />
<title><?php echo $pagetitle ?></title>
<link rel="stylesheet" href="../stylesheets/foundation.css">
<link rel="stylesheet" href="../stylesheets/app.css">
<style>@import url(http://fonts.googleapis.com/css?family=Open+Sans:400,300,600,700,800); @import url (http://fonts.googleapis.com/css?family=Kreon:100,200,300,400);</style>
<script src="../javascripts/modernizr.foundation.js"></script>
</head>
<body>
<div class="subHeader">
<div class="row">
<div class="four columns logo">
<a href="../index.html"><img src="../images/logo.png" alt="logo" /></a>
</div>
<div class="eight columns navigation right">
<ul class="navigationMain">
<li class="<?php if($navcurrent == "home"){echo "navigationActive";} ?>"><a href="index.php">Home</a></li>
<li class="<?php if($navcurrent == "services"){echo "navigationActive";} ?>"><a href="services.php">Services</a></li>
<li class="<?php if($navcurrent == "work"){echo "navigationActive";} ?>"><a href="gallery.php">Recent Work</a></li>
<li class="<?php if($navcurrent == "about"){echo "navigationActive";} ?>"><a href="about.php">About</a></li>
<li class="<?php if($navcurrent == "contact"){echo "navigationActive";} ?>"><a href="contact.php">Contact</a></li>
</ul>
</div>
<div class="twelve columns titlesection">
<h2><?php echo $headTitle ?></h2>
<h4><?php echo $headsubTitle ?></h4>
</div>
</div><!--End Feature Row-->
</div><!--End Feature-->
<div class="underbar">
<div class="bordertriangle"></div>
<div class="row">
<div class="eight columns"> </div>
<div class="three columns right socialcontainer">
<ul class="socialicons">
<li><a><img id="linkedinIcon" src="../images/socialli.png" alt="linkedin icon" /></a></li>
<li><a><img id="twitterIcon" src="../images/socialtw.png" alt="twitter icon" /></a></li>
<li><a><img id="facebookIcon" src="../images/socialfb.png" alt="facebook icon" /></a></li>
</ul>
</div>
</div>
Когда я открываю страницу администратора, имя пользователя форма пароля, верхний и нижний колонтитулы отображаются как они должны. Если я тестирую ошибки, они возвращаются так, как должны. Однако, когда я успешно вхожу в систему с использованием действительного имени пользователя и пароля, контент не отображается, кроме того, что включено в заголовочный файл. Может ли кто-нибудь указать мне в сторону того, что я могу сделать неправильно? Любая помощь приветствуется. Я родственник нуб в PHP ...
<?php
$pagetitle = "Admin";
$navcurrent = "home";
$headTitle = "ADMIN AREA";
$headsubTitle = "SITE ADMINISTRATION AREA";
include_once('../includes/connection.php');
include_once('../includes/headeradmin.php');
if (isset($_SESSION['logged_in'])) {
echo('Successfully Logged In');
} else {
if (isset($_POST['username'], $_POST['password'])){
$username = $_POST['username'];
$password = $_POST['password'];
if (empty($username) or empty($password)){
$error = 'An Error Has Occurred - All Fields Are Required';
}
else{
$query = $pdo->prepare('SELECT * FROM users WHERE user_name = ? AND user_password = ?');
$query->bindValue(1, $username);
$query->bindValue(2, $password);
$query->execute();
$num = $query->rowCount();
if ($num == 1) {
$_SESSION['logged_in'] = true;
header('location: index.php');
exit();
}
else{
$error = 'The username/password you entered was incorrect - Please try again';
}
}
}
?>
<div class="row">
<div class="four columns centered">
<?php if (isset($error)) { ?>
<h5 style="color: #e63333;"><?php echo $error; ?></h5>
<br />
<br />
<?php } ?>
<form action="index.php" method="post">
<input type="text" name="username" placeholder="Username" />
<input type="password" name="password" placeholder="Password" />
<input type="submit" value="Login" />
</form>
</div>
</div>
Если войти в систему, успешно вы только повторяющим одну строку после заголовка. Если в заголовке есть проблема, что одна строка может не отображаться. Поскольку вы не разместили заголовок, говорить о нем гораздо больше нельзя. –
Эй, спасибо за быстрый ответ. Я повторил здесь, чтобы все было просто. У меня на самом деле есть форма, где эхо («успешный вход»); выше. Удалил заголовок и разбил html на голые кости, и он все еще ничего не делает, кроме как показывает пустую страницу. –
Что вы видите, когда вы успешно авторизуетесь? – ncm