Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Авторизация. Передача сессии.
 
 автор: Лена   (25.10.2009 в 13:33)   письмо автору
 
 

Упростила, как могла. Проверку ошибок и все остальное, нужное при авторизациии, выбросила.
Итак, есть основной файл 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 ячейки. В одной из них форма авторизации, в другой - ссылка.
Проходим авторизацию, записали логин в сессию - перед пользователем появляется приветствие "Добро пожаловать..." Теперь кликаем по ссылке во второй ячейке - переходим на другую страницу - и перед нами слева опять форма авторизации.
Вопрос: как сделать так, чтобы слева, если пользователь уже авторизовался, было "Добро пожаловать..."

  Ответить  
 
 автор: neadekvat   (25.10.2009 в 14:23)   письмо автору
 
   для: Лена   (25.10.2009 в 13:33)
 

В начале второй страницы
session_start()
И затем:
<?
if(!empty($_SESSION['name'])) {
                   
$hello .=  "<center><strong>Добро пожаловать, <span style: color = 'red'>" $_SESSION['name'] . "</span></strong></center>";
} else {
 
// форма авторизации
}

  Ответить  
 
 автор: Trianon   (25.10.2009 в 15:32)   письмо автору
 
   для: Лена   (25.10.2009 в 13:33)
 

Если пользователь уже авторизовался то, очевидно, будет isset($_SESSION['name'])
Это если сделать над собой усилие и посмотреть auth.php

  Ответить  
 
 автор: Лена   (25.10.2009 в 22:12)   письмо автору
 
   для: 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

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования