Показать сообщение отдельно

  #3918  
Старый 05.07.2008, 00:29
cash$$$
Banned
Регистрация: 06.01.2008
Сообщений: 413
Провел на форуме:
1301036

Репутация: 1334
По умолчанию

На100ящий
авторизация на php
PHP код:
<?php  

// Данный файл всегда будит "включаться" в другие файлы  
// директивой include поэтому следует запретить его самостоятельный вызов  
// из строки запроса путём указания его имени  
// Если не определена константа IN_ADMIN – завершаем работу скрипта  
if(!defined("IN_ADMIN")) die;  

// Начинаем сессию  
session_start();  
// Помещаем содержимое файла в массив  
$access = array();  
$access file("access.php");  
// Разносим значения по переменным – пропуская первую строку файла - 0  
$login trim($access[1]);  
$passw trim($access[2]);  
// Проверям были ли посланы данные  
if(!empty($_POST['enter']))  
{  
        
$_SESSION['login'] = $_POST['login'];  
        
$_SESSION['passw'] = $_POST['passw'];  
}  

// Если ввода не было, или они не верны  
// просим их ввести  
if(empty($_SESSION['login']) or  
   
$login != $_SESSION['login'] or  
   
$passw != $_SESSION['passw']    )  

{  
   
?>  
     <a href="index.php">Вернуться в администрирование гостевой книги</a>  
     <form action=index.php method=post>  
     Логин <input class=input name=login value="">  
     Пароль <input class=input name=passw value="">  
     <input type=hidden name=enter value=yes>  
     <input class=button type=submit value="Вход">  
   <?php  
   
die;  
}  
?>
Файл с логином и паролем access.php
PHP код:
<?php die; ?>  
admin  
passw
Теперь следует создать управляющий файл, через который будем получать доступ ко всем остальным файлам.
PHP код:
<?php  

// Указываем что данный файл главный,  
// определяя константу IN_ADMIN, так как  
// нигде больше эта константа не определяется,  
// но везде проверяется её существование, работать  
// с панелью администрирования можно только  
// через файл index.php  
define("IN_ADMIN"TRUE);  

// Проверяем права доступа  
include "auth.php";  

// Получаем параметр op из URL  
$op $_GET['op'];  

// Выбираем нужное нам действие  
switch ($op)  
{  
        case 
'main' : include "main.php"; break;  
        case 
'delp' : include "delpost.php"; break;  
        case 
'editform' : include "editcommentform.php"; break;  
        case 
'edit' : include "editcomment.php"; break;  
        case 
'hide' : include "hide.php"; break;  
        case 
'show' : include "show.php"; break;  
        default :  include 
"main.php";  
}  
?>
Теперь нужно запретить доступ к остальным скриптам, от прямого вызова.
PHP код:
<?php  
  
if(!defined("IN_ADMIN")) die;  
?>
Нужно поменять еще пару строк, чтобы все ссылки заменить на вызов файла index.php.
PHP код:
<?php  
if(!$guest['hide']) $showhide "<a class='menu' href=index.php?op=hide&id_msg=".$guest['id_msg']."&start=$start title='Скрыть сообщение из списка выводимых на сайте'>Скрыть сообщение</a>";  
?>
а строки с 63 по 70 заменить на:
PHP код:
<?php  
  
echo "<p class='menu'><a class='menu' href=index.php?op=editform&id_msg=".$guest['id_msg']."&start=$start title='Редактировать сообщение'>Редактировать</a>";  
      
// Ссылка на правку сообщений  
      
echo "&nbsp;&nbsp;".$showhide;  
      
// Ссылка на удаление сообщений  
      
echo "&nbsp;&nbsp;<a class='menu' href=index.php?op=delp&id_msg=".$guest['id_msg']."&start=$start title='Удалить сообщение'>Удалить сообщение</a>";  
      echo 
"</p>";  
?>
Файл editcommentform.php. Заменить строку 29 на:
PHP код:
<form action=index.php?op=edit method=post
 
Ответить с цитированием