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

Форум PHP

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

 

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

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: Каждому пользователю свои права

Сообщения:  [1-10]    [11-20]  [21-21] 

 
 автор: Herurg   (20.08.2005 в 15:44)   письмо автору
 
   для: Herurg   (20.08.2005 в 15:29)
 

В форум смогу выйти только в Пн., благо будет над чем поразмыслить в выходные :-).

   
 
 автор: Herurg   (20.08.2005 в 15:29)   письмо автору
 
   для: cheops   (20.08.2005 в 14:56)
 

Пользователь с правами администратора может загружать файлы на сервер, остальные только скачивать.

   
 
 автор: cheops   (20.08.2005 в 14:56)   письмо автору
 
   для: Herurg   (20.08.2005 в 14:28)
 

Стобец убрать не сложно - для этого достаточно организовать условный вывод
<html> 
<body> 
<p align="CENTER">База файлов.</p> 
<table align="CENTER" border="1"> 
<tr><td colspan="3" align="CENTER">Система 1</td> 
</tr> 
<tr><td>Сборка программы</td><td>Дата создания</td><td>Ошибки</td></tr> 
<tr><td><a href="files/1.zip">1.0</a></td><td>10.08.2005</td><td>Ошибки</td></tr> 
<tr><td><a href="files/2.zip">1.1</a></td><td>11.08.2005</td><td>Ошибки</td></tr> 
<tr><td><a href="files/1.zip">1.2</a></td><td>12.08.2005</td><td>Ошибки</td></tr> 
<tr><td><a href="files/1.zip">т.д.</a></td><td>т.д.</td><td>Ошибки</td></tr> 
</table> 
<?php
  
if($_SESSION['status'] == 'admin' || $_SESSION['status'] == 'user')
  {
    
// HTML-форма для загрузки файла
  
}
?>
</body> 
</html>

И под загрузкой что имеется ввиду на сервер или с сервера?

   
 
 автор: Herurg   (20.08.2005 в 14:28)   письмо автору
 
   для: cheops   (20.08.2005 в 13:11)
 

Вот примерный код странички с таблицей (он на html - сори):

<html>
<body>
<p align="CENTER">База файлов.</p>
<table align="CENTER" border="1">
<tr><td colspan="3" align="CENTER">Система 1</td>
</tr>
<tr><td>Сборка программы</td><td>Дата создания</td><td>Ошибки</td></tr>
<tr><td><a href="files/1.zip">1.0</a></td><td>10.08.2005</td><td>Ошибки</td></tr>
<tr><td><a href="files/2.zip">1.1</a></td><td>11.08.2005</td><td>Ошибки</td></tr>
<tr><td><a href="files/1.zip">1.2</a></td><td>12.08.2005</td><td>Ошибки</td></tr>
<tr><td><a href="files/1.zip">т.д.</a></td><td>т.д.</td><td>Ошибки</td></tr>
</table>
</body>
</html>

Задача даже может упращается. В таблице 3 столбца, нужно каждому пользователю разрешить доступ к разным столбцам. Админ - полный доступ,
тестер - нет возможности добавлять файлы, пользователь - только закачка программы.

   
 
 автор: cheops   (20.08.2005 в 13:11)   письмо автору
 
   для: Herurg   (20.08.2005 в 13:01)
 

Если архивы одни и теже и лежат на одном месте, их следует защищать средствами Apache, при этом имена пользователей и их пароли брать из базы данных и сравнивать с переменными $_SERVER['PHP_AUTH_USER'] и $_SERVER['PHP_AUTH_PW'], соответственно.
http://www.softtime.ru/forum/read.php?id_forum=1&id_theme=1347
http://www.softtime.ru/forum/read.php?id_forum=1&id_theme=730
Иначе ушлые пользователи будут качать файлы в обход страницы. Загрузку файлов на страницу предотвратить легко, не предоставляя доступ к странице с HTML-формой загрузки файлов.

   
 
 автор: Herurg   (20.08.2005 в 13:01)   письмо автору
 
   для: Axxil   (20.08.2005 в 12:50)
 

Вот и дело то в том, что архивы одни и те же. Только пользователь с полными правами видит все архивы програм Release и PreRelease (тестовые программы). Может добавлять архивы, удалять (нужна я так понимаю форма для администрирования), так же может смотреть список "багов". Если заходит пользователь с правами тестирования, ему доступен тот же список Release и PreRelease, но только для скачивания, добавлять он ни чего не может. Если заходит обычный пользователь, ему доступен только список программ - Release, для скачивания, добавлять ни чего нельзя.

   
 
 автор: Axxil   (20.08.2005 в 12:50)   письмо автору
 
   для: Herurg   (20.08.2005 в 12:43)
 

Вы имеете ввиду что у каждого юзера есть свои архивы?
Что значит ссылки из базы как это? Приведите плиз таблицу с этими ссылками.
Может есть смысл архивы размещать в каталоге files в подкаталоге соответствующем ID юзера? Например архив юзера 123 будет лежать по адресу /files/123/arch1.tar.gz. Тогда и ссылки не понадобится тянуть из базы.

   
 
 автор: Herurg   (20.08.2005 в 12:43)   письмо автору
 
   для: Axxil   (20.08.2005 в 12:28)
 

Будет меняться только контент. Оформление не изменно. На страничке будет содержаться таблица со ссылками на архивы. Архивы будут лежать в папке, например: files. Ссылки на эти файлы из базы.

   
 
 автор: Axxil   (20.08.2005 в 12:28)   письмо автору
 
   для: Herurg   (20.08.2005 в 12:00)
 

Что значит разное содержание? Откуда данные будут браться из файла или из БД? Будет ли меняться оформление или только контент...
Приведите пример содержания страницы. Можно её прикрепить к сообщению.

   
 
 автор: Herurg   (20.08.2005 в 12:00)   письмо автору
 
   для: Axxil   (20.08.2005 в 11:35)
 

Подключил, для каждого пользователя загружается страница tabl.php с одним и тем же сожержанием, а нужно разное содержание, как это реализовать? (Прошу извинить за множество глупых вопросов, только начинаю осваивать PHP после HTML.)
Файл handler.php

<?php
    
// Это файл handler.php
    // Имя сервера базы данных, например $dblocation = "mysql28.noweb.ru"
    // сейчас выставлен сервер локальной машины
    
$dblocation "localhost";
    
// Имя базы данных
    
$dbname "test";
    
// Имя пользователя... Скорее всего будет совпадать с вашим доменным именем
    // у нас, например $dbuser = "softtime";
    
$dbuser "root";
    
// Пароль - в комментариях не нуждается ;-)
    
$dbpasswd "";
    
// Соединяемся с сервером базы данных
    
$dbcnx = @mysql_connect($dblocation,$dbuser,$dbpasswd);
    include(
'includes/users.php');
    if (!
$dbcnx) {
      echo( 
"<P>В настоящий момент сервер базы данных не
                          доступен, поэтому корректное отображение
                          страницы невозможно.</P>" 
);
      exit();
.........................

includes/Users.php

<?
function getIdByName($name){
  
$sql='select id_user from users where name=\''.$name.'\'';
  
$query mysql_query($sql);
  return 
mysql_result($query,0,0);
}
?>

   

Сообщения:  [1-10]    [11-20]  [21-21] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

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