Ответить
    
  
  
  
      
  
  
  
  
    
       
       
          
  
  
  
              
       
    
    
       
       
          
  
  
  
              
  
       
       
    
    
       
       
       
    
    
       
       
          
  
  
  
       
    
    
       
       
          
  
  
  
              
  
       
       
    
    
       
       
          
  
  
  
              
       
    
    
       
       
          
  
  
  
              
  
       
       
    
    
       
       
          
  
  
  
       
    
    
       
       
          
Первое - он достает контент из шаблона и инклудит в документ с данным скриптом? А php скрипты, тогда куда вставлять? К примеру, обработки сессий.
Второе - это функция, которая будет менять {MARKET} на значение переменной $market, а зачем тут ещё $templ?
[/b]
  
  
  
  
  
              
  
       
       
    
    
       
       
          
$templ - это где менять. тоесть в какой переменной находится текст над которым необходимо произвести действие
Это просто функция которае не инклудит файл а кладет его содержимое в переменную. В данном случае переменная $templ будет содержать текст из шаблона.
А PHP скрипты в шаблон так просто не вставишь. Но если уж сильно надо то можно вставить HTML код в PHP файл типа так
[/php]
  
  
  
  
  
              
       
    
           
    
Общие вопросы новичков
Отправлено: 6 Окт 2010#11
          Про .htaccess напишу ок. про авторизацию тоже. а чтобы сессии работали надо перед работой с ними их инициализаровать
и только потом можно с ними работать. другими словами если вы хотите повсемесно работать с сессией то вам надо в начале каждого файла ее инициализаровать как написанно выше. А еще лучше делать это в одном файле а его везде подключать
  
   1 
 2 
<?php session_start();?>
и только потом можно с ними работать. другими словами если вы хотите повсемесно работать с сессией то вам надо в начале каждого файла ее инициализаровать как написанно выше. А еще лучше делать это в одном файле а его везде подключать
 1 
 2 
<?php include_once 'sessions.php';?>
Я горжусь тем, что создал . И люблю нашу команду)
  
       Отправлено: 6 Окт 2010#12
          Ну это понятно, просто, я думал, что в в сессиях при их использовании, можно закрыть доступ на страницу не прошедшему авторизацию.
Я это представляю себе примерно так:
Обработка
в нужном файле:
  
  Я это представляю себе примерно так:
Обработка
 1 
 2 
 3 
 4 
 5 
 6 
 7 
 8 
 9 
 10 
 11 
<?php <?php
session_start();
// Описание переменных пропускаем
if ($_POST['password'] == $password && $_POST['login'] == $login)  // проверяем логины и пароли
    $_SESSION['id'] = 1; // устанавливаем ключ ID для сессии авторизованного
    header("Location: ../main.php"); // отправляем на закрытую страницу
else  
  $_SESSION['id'] = 0; // устанавливаем ключ ID для сессии неавторизованного
  header("Location: ../index.php"); // отправляем обратно на авторизацию?>
в нужном файле:
 1 
 2 
 3 
 4 
 5 
 6 
 7 
<?php session_start();
if ($_SESSION['id'] = 1)  // проверяем сессию (вот думаю, стоит ли приписывать isset?)
    { } // просто показываем содержимое страницы, так как юзер получил правильный ключ
else
 { 
 header("Location: ../index.php"); // Отправляем на авторизацию
}?>
Отправлено: 6 Окт 2010#14
          будет но както это не по понятиям   
  
ты выше говорил о том что будешь брать данные о юзерах из базы вот и бери их оттуда. Если нашлись данные с такой парой логин/пароль то все данные этого юзера и пихай в сессию.
а дальше на других страницах
ну таког плана. это я утрированно все пишу, чисто чтобы смысл передать.
Добавлено 2010.10.06 15-03
естественно все что пришло от юзера перед запросом квоть, а то туда могут все что угодно написать и если без проверки пихать все в запрос это будет угроза безопасности
  
   
  ты выше говорил о том что будешь брать данные о юзерах из базы вот и бери их оттуда. Если нашлись данные с такой парой логин/пароль то все данные этого юзера и пихай в сессию.
 1 
 2 
 3 
 4 
 5 
 6 
<?php if ($q = mysql_query("SELCT * FROM users WHERE pass=$_POST['pass'] AND login=$_POST['login'] LIMIT 1"))  // проверяем логины и пароли
    $_SESSION['user'] = mysql_result($q, 0); // устанавливаем ключ ID для сессии авторизованного
    header("Location: ../main.php"); // отправляем на закрытую страницу
else  
  unset($_SESSION['user']);
  header("Location: ../index.php"); // отправляем обратно на авторизацию?>
а дальше на других страницах
 1 
 2 
 3 
 4 
 5 
 6 
 7 
<?php session_start();
if (!empty($_SESSION['user']['id']))  // проверяем сессию (вот думаю, стоит ли приписывать isset?)
    { } // просто показываем содержимое страницы, так как юзер получил правильный ключ
else
 { 
 header("Location: ../index.php"); // Отправляем на авторизацию
}?>
ну таког плана. это я утрированно все пишу, чисто чтобы смысл передать.
Добавлено 2010.10.06 15-03
естественно все что пришло от юзера перед запросом квоть, а то туда могут все что угодно написать и если без проверки пихать все в запрос это будет угроза безопасности
Отредактировано автором 6 Окт 2010
  
  
              Я горжусь тем, что создал . И люблю нашу команду)
  
       Отправлено: 6 Окт 2010#15
          Я вот не понял это:
и
В последнем я не нашел, где задавался id
  
   1 
 2 
<?php $_SESSION['user'] = mysql_result($q, 0);?>
 1 
 2 
<?php !empty($_SESSION['user']['id']?>
Отправлено: 6 Окт 2010#16
          Ну тут я немного ошибся. что-то типо такого надо
тогда в $_SESSION['user'] будет массив состоящий из всей записи найденного в бд юзера. Обычно это ID, NAME, STATUS, EMAIL, и т.д.
  
   1 
 2 
<?php $_SESSION['user'] = mysql_fetch_array($q);?>
тогда в $_SESSION['user'] будет массив состоящий из всей записи найденного в бд юзера. Обычно это ID, NAME, STATUS, EMAIL, и т.д.
Я горжусь тем, что создал . И люблю нашу команду)
  
       Отправлено: 6 Окт 2010#17
          И вот ещё спросить хотел, как прикрутить сюда ещё проверку группы и верное отображение прав для групп
Если по русски, то идея такова:
Есть 100% не пустые поля в таблице юзеры:
id login password mail group
group может быть равен 0(юзер), 1(модератор), 2(админ) или 3(гл. админ) и назначается непосредственно мною(админом)
Вот мы увидели и нашли логин и пароль, теперь мы должни взять эту строку и сделать так:
Выбрать из строки, где логин и пароль равны найденному поле group
Если group == 0, то вернуть на главную (там уже с джавой попробую разобраться и вывести ему меседж, что у вас нет прав, просматривать админ-панель)
потом 2 варианта, elseif или просто новый if. Выбираю новый if
если group == 1 то присвоить $_SESSION['group'] = 1 переместить на нужную страницу, на странице каждая ссылка на модуль, должна будет быть с
так? Но вот я хочу заделать эти все линки в шаблонные переменные, вставляемые не инклудом, а, к примеру, {menu}, от чего будет выводиться все линки. 
Мысли в том направлении? Правильно, вообще, думаю? Получится ли таким способом?
  
   1 
 2 
 3 
 4 
 5 
 6 
<?php if ($q = mysql_query("SELCT * FROM users WHERE pass=$_POST['pass'] AND login=$_POST['login'] LIMIT 1"))  
    $_SESSION['user'] = mysql_result($q, 0);
    header("Location: ../main.php");
else  
  unset($_SESSION['user']);
  header("Location: ../index.php");?>
Если по русски, то идея такова:
Есть 100% не пустые поля в таблице юзеры:
id login password mail group
group может быть равен 0(юзер), 1(модератор), 2(админ) или 3(гл. админ) и назначается непосредственно мною(админом)
Вот мы увидели и нашли логин и пароль, теперь мы должни взять эту строку и сделать так:
Выбрать из строки, где логин и пароль равны найденному поле group
Если group == 0, то вернуть на главную (там уже с джавой попробую разобраться и вывести ему меседж, что у вас нет прав, просматривать админ-панель)
потом 2 варианта, elseif или просто новый if. Выбираю новый if
если group == 1 то присвоить $_SESSION['group'] = 1 переместить на нужную страницу, на странице каждая ссылка на модуль, должна будет быть с
 1 
 2 
 3 
<?php if ($_SESSION['group'] = 1 or $_SESSION['group'] = 2 or $_SESSION['group'] = 3) { echo "LINK";  } // для общедоступного
if ($_SESSION['group'] = 1 or $_SESSION['group'] = 2) { echo "";  } elseif ($_SESSION['group'] = 3) { echo "Link"; } // для только гл. админа
#Возможны другие вариации, ну это уже логично.?>
Мысли в том направлении? Правильно, вообще, думаю? Получится ли таким способом?
Отправлено: 6 Окт 2010#18
          ну если чисто цифрами будет поля group то можно и так проверять
заметь после вызова хеадер я вызываю die() это обязательно иначе будет серьезная угроза безопасности, так как хедер не всегда может отработать, это всего лишь заголовок.
если делать так
то $_SESSION['user'] будет содержать всю инфу о юзере из бд, в том числе group
На счет шаблонов
  
   1 
 2 
<?php if ($_SESSION['user']['group'] < 2) header(); die();?>
если делать так
 1 
 2 
<?php $_SESSION['user'] = mysql_fetch_array($q);?>
На счет шаблонов
 1 
 2 
 3 
 4 
<?php //это файл шаблона. в нем например метки типа {MARKET}
$templ = file_get_contents('template.html');
//теперь все метки будут замененны на значение переменной $market
$templ = str_replace('{MARKET}', $market, $templ);?>
Отредактировано автором 6 Окт 2010
  
  
              Я горжусь тем, что создал . И люблю нашу команду)
  
       Отправлено: 6 Окт 2010#19
           1 
 2 
 3 
<?php <?php 
$templ = file_get_contents('template.html'); // можно про это подробней?
$templ = str_replace('{MARKET}', $market, $templ);?>  // можно про это подробней??>
Первое - он достает контент из шаблона и инклудит в документ с данным скриптом? А php скрипты, тогда куда вставлять? К примеру, обработки сессий.
Второе - это функция, которая будет менять {MARKET} на значение переменной $market, а зачем тут ещё $templ?
[/b]
Отправлено: 6 Окт 2010#20
          skad0 пишет:
Второе - это функция, которая будет менять {MARKET} на значение переменной $market, а зачем тут ещё $templ? 
 1 
 2 
<?php $templ = file_get_contents('template.html'); // можно про это подробней??>
Это просто функция которае не инклудит файл а кладет его содержимое в переменную. В данном случае переменная $templ будет содержать текст из шаблона.
А PHP скрипты в шаблон так просто не вставишь. Но если уж сильно надо то можно вставить HTML код в PHP файл типа так
 1 
 2 
 3 
 4 
 5 
 6 
 7 
 8 
 9 
 10 
<?php if ($q = mysql_query("SELCT * FROM users WHERE pass=$_POST['pass'] AND login=$_POST['login'] LIMIT 1"))  {
?>
тут любой HTML код
<?php
} else {  
?>
тут любой HTML код
<?php
 }?>
Я горжусь тем, что создал . И люблю нашу команду)
  
       Зарегистрируйтесь или авторизуйтесь что бы писать
Сейчас online: 9. Зарегистрированных: 0. Гостей: 9. 
       
    


