|
|
|
| Упростила, как могла. Проверку ошибок и все остальное, нужное при авторизациии, выбросила.
Итак, есть основной файл index1.php
<?php
session_start();
echo "<table border = '1px'><tr><td>Авторизация";
include("auth.php");
echo "</td>
<td>";
if($_GET['page']){
$page = intval($_GET['page']);
print "Другая страница";
}else{
echo "<a href = 'index1.php?page=1'>Контент</a>";
}
echo "</td></tr></table>";
?>
|
Код авторизации - auth.php
<?php
include ("configs/dbopen.php");
if(isset($_POST['Auth'])){
if (!get_magic_quotes_gpc()){
$_POST['name'] = mysql_escape_string($_POST['name']);
$_POST['pass'] = mysql_escape_string($_POST['pass']);
}
$name = htmlspecialchars($_POST['name']);
$pass = $_POST['pass'];
$hello = '';
$sql = "SELECT * FROM users WHERE login = '" . $_POST[name] . "' AND pass = '" . md5($_POST['pass']) ."'";
$res = mysql_query($sql);
if(!$res) exit("Error in $sql: ". mysql_error());
if(mysql_num_rows($res) > 0){
if(session_start()){
$_SESSION['name'] = $_POST['name'];
if(!empty($_SESSION['name']))
$hello .= "<center><strong>Добро пожаловать, <span style: color = 'red'>" . $_SESSION['name'] . "</span></strong></center>";
}
}else{
$hello .= "Вам необходимо пройти <a href = 'index.php?page=2'>регистрацию</a> на нашем сайте";
}
print $hello;
}
if(!isset($_POST['Auth']) || !isset($_SESSION['name']))
include ("form.php");
?>
|
В form.php поля для логина и пароля+кнопка отправления. Обработчик формы - index1.php, нужно остаться на той же странице.
Теперь в чем вопрос.
В таблице - 2 ячейки. В одной из них форма авторизации, в другой - ссылка.
Проходим авторизацию, записали логин в сессию - перед пользователем появляется приветствие "Добро пожаловать..." Теперь кликаем по ссылке во второй ячейке - переходим на другую страницу - и перед нами слева опять форма авторизации.
Вопрос: как сделать так, чтобы слева, если пользователь уже авторизовался, было "Добро пожаловать..." | |
|
|
|
|
|
|
|
для: Лена
(25.10.2009 в 13:33)
| | В начале второй страницы
session_start()
И затем:
<?
if(!empty($_SESSION['name'])) {
$hello .= "<center><strong>Добро пожаловать, <span style: color = 'red'>" . $_SESSION['name'] . "</span></strong></center>";
} else {
// форма авторизации
}
|
| |
|
|
|
|
|
|
|
для: Лена
(25.10.2009 в 13:33)
| | Если пользователь уже авторизовался то, очевидно, будет isset($_SESSION['name'])
Это если сделать над собой усилие и посмотреть auth.php | |
|
|
|
|
|
|
|
для: Trianon
(25.10.2009 в 15:32)
| | Чего-то я не понимаю.
index1.php переделала:
<?php
session_start();
$page = intval($_GET['page']);
echo "<table border = '1px'><tr><td>Авторизация";
if($page){
include("auth1.php");//вторая страница
}else
include("auth.php"); //первая страница
echo "</td>";
echo "<td>";
if($page){
print "Вторая страница";
}else{
print "<a href = 'index1.php?page=1'>Контент</a>"; //первая страница
}
echo "</td></tr></table>";
?>
|
И добавила файл второй страницы auth1.php:
<?php
session_start();
if(isset($_SESSION['name'])){
$hello = "<center><strong>Добро пожаловать, <span style: color = 'red'>" . $_SESSION['name'] . "</span></strong></center>";
print $hello;
} else
include ("form1.php");
?>
|
в form1.php обработчиком ставлю index.php?page=1 | |
|
|
|