Ответить
    
  
  
  
      
  
  
  
  
    
       
       
          
  
  
  
              
  
       
       
    
    
       
       
          
  
  
  
              
       
    
    
       
       
          
  
  
  
              
  
       
       
    
    
       
       
          
  
  
  
       
    
    
       
       
          
  
  
  
              
  
       
       
    
    
       
       
          
  
  
  
       
    
    
       
       
          
  
  
  
              
  
       
       
    
    
       
       
          
Та лана, наоборот - форум крутим, то что надо)))
  
  
  
  
  
              
       
    
    
       
       
          
  
  
  
              
  
       
       
    
    
           
    
Общие вопросы новичков
Отправлено: 6 Окт 2010#21
          Ну вот смотри, если у нас шаблон страницы, на странице должна проходить проверка сессии, к примеру
Как этот скрипт туда сунуть?
  
  Как этот скрипт туда сунуть?
Отправлено: 6 Окт 2010#22
          skad0, мой тебе совет не надо объединять логику и шаблоны.
скрипты пусть занимаются проверками без какого либо отображения, а когда ты уже знаешь кто запрашивает страницу и что надо отобразить, тогда уже собирай страничку или бери готовую(смотря как сделаешь) и показывай. Например так
типа этого. Тоесть сперва работа кода и только когда код полностью отработал что-то показываем. И постарайся сразу себя приучить разделять логику от шаблонов. Например при помощи меток как у меня в примере.
  
  скрипты пусть занимаются проверками без какого либо отображения, а когда ты уже знаешь кто запрашивает страницу и что надо отобразить, тогда уже собирай страничку или бери готовую(смотря как сделаешь) и показывай. Например так
 1 
 2 
 3 
 4 
 5 
 6 
 7 
<?php $templ = file_get_contents('templ.html');
if (/*вася*/) {
     $var = str_replace('{PRIV}', 'Привет Вася', $templ);
} else {
     $var = echo str_replace('{PRIV}', 'Ты не Вася', $templ);
}
echo $var;?>
типа этого. Тоесть сперва работа кода и только когда код полностью отработал что-то показываем. И постарайся сразу себя приучить разделять логику от шаблонов. Например при помощи меток как у меня в примере.
Я горжусь тем, что создал . И люблю нашу команду)
  
       Отправлено: 6 Окт 2010#23
          А как вот к примеру для шаблона сделать?
{content} - обозначает вывод новостей из базы в нужном диве.
Так?
  
  {content} - обозначает вывод новостей из базы в нужном диве.
 1 
 2 
<?php $templ = file_get_contents('templ.html'); 
       str_replace('{content}', 'сам скрипт', '$templ');?>
Так?
Отправлено: 6 Окт 2010#24
          ну не совсем
например так
тут мы в цикле перибираем все новости и выводим заголовок каждой. Обрати внимание мы не перезаписываем переменную $con а дозаписываем. таким образом к концу цикла в ней будут все новости из массива $news. А потом все эти новости тулим вместо метки в шаблоне.
  
   1 
 2 
 3 
 4 
 5 
 6 
 7 
 8 
<?php $con = '';
foreach ($news as $new) {
     $con = $con . $new['title'] . '<br>';
}
$templ = file_get_contents('templ.html'); 
$con = str_replace('{content}', $con, $templ); 
echo $con;?>
например так
тут мы в цикле перибираем все новости и выводим заголовок каждой. Обрати внимание мы не перезаписываем переменную $con а дозаписываем. таким образом к концу цикла в ней будут все новости из массива $news. А потом все эти новости тулим вместо метки в шаблоне.
Отредактировано автором 6 Окт 2010
  
  
              Я горжусь тем, что создал . И люблю нашу команду)
  
       Отправлено: 6 Окт 2010#25
          а если с контентом, то так:
??? Кажись понял .. А можно ли заданные шаблонные переменные выводить в конфиги? Например:
config.php
index.php
А ещё спросить хотел, можешь рассказать про "квотирование"? А то я нашел, кажется, ф-ция: ereg(), но, почитав, не очень понял, как ей пользоваться. Если это вообще та..
Добавлено 2010.10.06 21-56
Если про этот код, вот я его под себя дополнил подключил к бд:
mysql_conf.php
Запрос не обрабатывает >.> Оставляет на главной странице
Добавлено 2010.10.06 22-01
Пробил по учебникам и по eclipse ошибок не нашел. Структура, вроде, тоже верная ...
  
   1 
 2 
 3 
 4 
 5 
 6 
 7 
 8 
<?php $con = '';
foreach ($news as $new) {
     $con = $con . $new['title'] . '<br>' . $new['content'];
}
$templ = file_get_contents('templ.html'); 
$con = str_replace('{content}', $con, $templ); 
echo $con;?>
??? Кажись понял .. А можно ли заданные шаблонные переменные выводить в конфиги? Например:
config.php
 1 
 2 
 3 
 4 
 5 
 6 
 7 
 8 
 9 
 10 
 11 
 12 
<?php $con = '';
foreach ($news as $new) {
     $con = $con . $new['title'] . '<br>' . $new['content'];
}
$templ = file_get_contents('templ.html'); 
$con = str_replace('{content}', $con, $templ); 
echo $con;
$name = "Петя";
$name = str_replace('{name}', $name, $templ);
$title = "Сайт" . $name;
$name = str_replace('{title}', $title, $templ);?>
index.php
 1 
 2 
 3 
 4 
<?php include(config.php);
 
$razdel = "Главная";  
$razdel = str_replace('{raz}', $razdel, $templ); // Срочные подключения, работающие только в этом документе?>
А ещё спросить хотел, можешь рассказать про "квотирование"? А то я нашел, кажется, ф-ция: ereg(), но, почитав, не очень понял, как ей пользоваться. Если это вообще та..
Добавлено 2010.10.06 21-56
Цитата
<?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"); // отправляем обратно на авторизацию
?>
$_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 
 8 
 9 
 10 
 11 
 12 
 13 
<?php include ('mysql_conf.php');
if ($q = mysql_query("SELECT * FROM ". $user_tb ." WHERE ". $pass=$_POST['password'] ." AND ". $login=$_POST['login'] ." LIMIT 1 "))  {
  // проверяем логины и пароли
    $_SESSION['user'] = mysql_result($q, 0); // устанавливаем ключ ID для сессии авторизованного
    header("Location: ../main.php"); // отправляем на закрытую страницу
    mysql_close ($link);
    die();
    }
else  {
  unset($_SESSION['user']);
  header("Location: ../index.php"); // отправляем обратно на авторизацию
  die();
}?>
mysql_conf.php
 1 
 2 
 3 
 4 
 5 
 6 
 7 
<?php $host = "localhost";
$user = "root";
$pass = "";
$db = "sengine";
$users_tb = "users";
$link = mysql_connect($host, $user, $pass);?>
Запрос не обрабатывает >.> Оставляет на главной странице
Добавлено 2010.10.06 22-01
Пробил по учебникам и по eclipse ошибок не нашел. Структура, вроде, тоже верная ...
Отправлено: 6 Окт 2010#26
          Во первых не юзай там 
юзай
во-вторых забудь про erg() юзай preg_match()
ereg() уже вырезают из PHP и на новых версиях она не будет работать.
в-третьих ты там выше приводил примеры где сначала выводил контент
а потом продолжал его формировать. Так не делается. сначала полностью закончи его формировать а уже потом выводи.
в-четвертых забей на еклипс и так далее. пиши в самом первом файле который у тебя самым первым начинает работу в самом верху(начале)
оно и скажет тебе о всех ошибках
прикола с конфигом не понял. конфиг это то место где хранятся настройки такие как подключение к бд(пасс логин и имя базы) и так далее. например сколько новостей выводить на главной и все такое, логики там по идее быть не должно.
  
   1 
 2 
<?php mysql_result($q, 0);?>
юзай
 1 
 2 
<?php mysql_fetch_array($q);?>
во-вторых забудь про erg() юзай preg_match()
ereg() уже вырезают из PHP и на новых версиях она не будет работать.
в-третьих ты там выше приводил примеры где сначала выводил контент
 1 
 2 
<?php echo $con;?>
а потом продолжал его формировать. Так не делается. сначала полностью закончи его формировать а уже потом выводи.
в-четвертых забей на еклипс и так далее. пиши в самом первом файле который у тебя самым первым начинает работу в самом верху(начале)
 1 
 2 
<?php error_reporting(E_ALL);?>
прикола с конфигом не понял. конфиг это то место где хранятся настройки такие как подключение к бд(пасс логин и имя базы) и так далее. например сколько новостей выводить на главной и все такое, логики там по идее быть не должно.
Отредактировано автором 6 Окт 2010
  
  
              Я горжусь тем, что создал . И люблю нашу команду)
  
       Отправлено: 6 Окт 2010#27
          Исправил, вот что получилось
Не обрабатывает запрос. Точнее обрабатывает, но неадекватно. Не находит в базе должных логина и пароля
Про конфиг:
Имеется в виду файл, в котором будут содержаться постоянные переменные, нужные для шаблонов на нескольких страницах, что бы не копировать его постоянно
Можешь пример привести? А то не особо понятно указано на php.ru/php.su/webteach.ru
Добавлено 2010.10.06 23-06
Про первое:
Я подумал, он же не знает получается, в каких полях искать логин и пароль, как их задать?
Прости, я, наверное, тебя уже запарил
  
   1 
 2 
 3 
 4 
 5 
 6 
 7 
 8 
 9 
 10 
 11 
 12 
 13 
 14 
 15 
<?php error_reporting(E_ALL);
include ('mysql_conf.php');
if ($q = mysql_query("SELECT * FROM ". $users_tb ." WHERE ". $pass=$_POST['password'] ." AND ". $login=$_POST['login'] ." LIMIT 1 "))  {
  // проверяем логины и пароли
    session_start();
    $_SESSION['user'] = mysql_fetch_array($q); // устанавливаем ключ ID для сессии авторизованного
    header("Location: ../main.php"); // отправляем на закрытую страницу
    mysql_close ($link);
    die();
    }
else  {
  // unset($_SESSION['user']); // если она не заслешована, выдает ошибку о undefinded variable, потому что сессия не открыта
  header("Location: ../index.php"); // отправляем обратно на авторизацию
  die();
}?>
Не обрабатывает запрос. Точнее обрабатывает, но неадекватно. Не находит в базе должных логина и пароля
Про конфиг:
Имеется в виду файл, в котором будут содержаться постоянные переменные, нужные для шаблонов на нескольких страницах, что бы не копировать его постоянно
Цитата
<?php mysql_fetch_array($q);?> 
Можешь пример привести? А то не особо понятно указано на php.ru/php.su/webteach.ru
Добавлено 2010.10.06 23-06
Про первое:
Я подумал, он же не знает получается, в каких полях искать логин и пароль, как их задать?
Прости, я, наверное, тебя уже запарил
Отправлено: 6 Окт 2010#28
          Цитата
Прости, я, наверное, тебя уже запарил 
Цитата
Про первое:
Я подумал, он же не знает получается, в каких полях искать логин и пароль, как их задать?
Я подумал, он же не знает получается, в каких полях искать логин и пароль, как их задать?
SELECT * FROM `users` WHERE `поле`='значение'
или конкретнееSELECT * FROM `users` WHERE `login`=$login
еще конкретнее 1 
 2 
<?php $q = mysql_query("SELECT * FROM ". $users_tb ." WHERE  `pass`=".$_POST['password'] ." AND  `login`=".$_POST['login'] ." LIMIT 1 ")?>
Я горжусь тем, что создал . И люблю нашу команду)
  
       Отправлено: 6 Окт 2010#29
          Подставил, нет ошибок, запрос не обрабатывает
Добавлено 2010.10.06 23-23
Все настроил под свою БД...
  
  Добавлено 2010.10.06 23-23
Все настроил под свою БД...
Зарегистрируйтесь или авторизуйтесь что бы писать
Сейчас online: 9. Зарегистрированных: 0. Гостей: 9. 
       
    


