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

Форум PHP

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

 

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

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

тема: php Практика создания Web-сайтов: регистрация
 
 автор: Владимир29   (21.02.2012 в 18:42)   письмо автору
 
 

Вот новая тема как и договорились, проблемы в следующем:

1) невозможно зарегистрировать пользователя при чём и через админку и на самом сайте регистрация не работает, хотя нового пользователя в админке(кроме рут-а) создать можно без проблем.
2) как сделать ссылку(кнопку) выхода из админки?
3) как сделать единую регистрацию для сайта и для форума?
Вот такая вот ситуация подскажите пожалуйста, что мне делать в этом случае, чтобы исправить ситуацию?

  Ответить  
 
 автор: Роккер Руслан   (22.02.2012 в 11:02)   письмо автору
 
   для: Владимир29   (21.02.2012 в 18:42)
 

ну это надо код знать) Мы ведь не знаем как у вас там всё реализовано) А проблемы то пустяковые...

  Ответить  
 
 автор: Sfinks   (22.02.2012 в 11:13)   письмо автору
 
   для: Роккер Руслан   (22.02.2012 в 11:02)
 

А код на диске, приложенном к книге из названия темы ) Так что это вопросы скорее всего к cheops'у, ну или к тем кто разворачивал сайт с этого диска.

  Ответить  
 
 автор: coban   (23.02.2012 в 14:25)   письмо автору
 
   для: Роккер Руслан   (22.02.2012 в 11:02)
 

такой же кося регистрируется пользователь в базу заносится но не логинится потом вводиш все чтоб войти он опять тожде самое показывает и не входит

  Ответить  
 
 автор: cheops   (08.03.2012 в 13:51)   письмо автору
 
   для: Владимир29   (21.02.2012 в 18:42)
 

1) Тут речь о каких пользователях? Администраторах/редакторах системы администрирования?
2) Да, это особенность Basic-аутентификации, если хотите, можем от неё отказаться и ввести обычную аутентификацию на сессиях: для неё можно реализовать выход.
3) Для начала нужно запретить одну из регистраций, либо на форуме, либо на сайте, сделав соответствующее перенаправление. Затем в обработчике формы необходимо сделать заполнение обеих таблиц (форума и сайта). Лучше наверное модифицировать регистрацию форума, так как в ней таблиц заполняется больше.

  Ответить  
 
 автор: Владимир29   (08.03.2012 в 21:19)   письмо автору
 
   для: cheops   (08.03.2012 в 13:51)
 

1)Речь идёт об Администраторах системы администрирования
2)Да хотелось бы ввести аутентификацию, при которой можно выходить из системы
3)Давайте наверное запретим регистрацию на сайте, тем более, что именно она и не работает у меня, но при этом хотелось бы именно общую регистрацию сделать для всего сайта, а не только для форума, т.е. вход должен осуществляться на сайт в целом
4)И ещё момент есть: я попробовал отказаться от таблиц в структуре сайта и у меня структура вышла очень кривая, можете подсказать как это сделать?

  Ответить  
 
 автор: cheops   (09.03.2012 в 16:53)   письмо автору
 
   для: Владимир29   (08.03.2012 в 21:19)
 

2) Для этого нужно изменить логику файла dmn/utils/security_mod.php, который несет ответственность за аутентификацию. Нужно заменить его содержимое на что-то в этом духе
<?php
  
// Стартуем сессию
  
@session_start();
  if(empty(
$_SESSION['PHP_AUTH_USER']))
  {
    
$elem['name'] = new field_text_english("name",
                             
"Имя пользователя",
                             
true,
                             
$_POST['name']);
    
$elem['pass'] = new field_password("pass",
                             
"Пароль",
                             
true,
                             
$_POST['pass'],
                             
255,
                             
41);
    
$elem['remember'] = new field_checkbox("remember",
                            
"Запомнить",
                            
$_POST['remember']);

    
$form = new form($elem,
                     
"Войти",
                     
"main_txt",
                     
"",
                     
"input");

    if(!empty(
$_POST))
    {
      
// Проверяем корректность заполнения HTML-формы
      // и обрабатываем текстовые поля
      
$error $form->check();
  
      
// Проверяем зарегистрирован ли пользователь
      
$query "SELECT COUNT(*) FROM $tbl_accounts
                WHERE name = '
{$form->fields[name]->value}'";
      
$acc mysql_query($query);
      if(!
$acc) exit("Ошибка");
      if(!
mysql_result($acc0))
      {
        
$error[] = "Пользователь с именем
                   &quot;
{$form->fields[name]->value}&quot; не существует";
      }
  
      
// Входим
      
if(empty($error))
      {
        
$query "SELECT COUNT(*) FROM $tbl_accounts
                  WHERE name = '
{$form->fields[name]->value}' AND
                        pass = MD5('
{$form->fields[pass]->value}')";
        
$acc mysql_query($query);
        if(!
$acc) exit("Ошибка");
        if(!
mysql_result($acc0))
        {
          
$_SESSION['PHP_AUTH_USER'] = $form->fields['name']->value;
        }
        
// Возвращаемся на индексную страницу
        
header("Location: $_SERVER[REQUEST_URI]");
  
        exit();
      }
    }
    
$pagename "Необходима авторизация";
    
// Включаем заголовок страницы
    
require_once("../utils/top.php");

    if(
is_object($form)) 
    {
      
// Выводим сообщения об ошибках если они имеются
      
if(!empty($error)) echo error($error);
      
// Выводим HTML-форму 
      
$form->print_form();
    }

    
// Включаем завершение страницы
    
require_once("../utils/bottom.php");
    exit();
  }
?>

  Ответить  
 
 автор: Владимир29   (09.03.2012 в 21:03)   письмо автору
 
   для: cheops   (09.03.2012 в 16:53)
 

2) А у меня, когда изменил "dmn/utils/security_mod.php" как Вы предложили появилось следующее сообщение в браузере: Fatal error: Class 'field_text_english' not found in Z:\home\b.ru\www\dmn\utils\security_mod.php on line 14
Строка 14 у меня вот: $elem['name'] = new field_text_english("name", в чём тут может быть дело?

  Ответить  
 
 автор: Владимир29   (09.03.2012 в 21:31)   письмо автору
 
   для: Владимир29   (09.03.2012 в 21:03)
 

Заметил, что не подключены классы подключил их но теперь войти не возможно стало, что мне делать в этом случае?

  Ответить  
 
 автор: Владимир29   (28.03.2012 в 15:32)   письмо автору
 
   для: cheops   (09.03.2012 в 16:53)
 

Игорь здравстсвуйте ! У меня ещё одна проблема возникла на реальном хостинге я не могу добавить фотки в галереи происходит добавление позиции а фотки на сайт не попадают !!!
Подскажите что можно сделать в этом случае?! Это меня сейчас интересует больше всего!!!

  Ответить  
 
 автор: cheops   (29.03.2012 в 16:54)   письмо автору
 
   для: Владимир29   (28.03.2012 в 15:32)
 

У вас скорее всего права доступа на папку с фотографиями не выставлены, поставьте 0777.

PS Вообще лучше под каждый вопрос заводить новую тему - так можно будет получить больше ответов (и не только от меня, так как не всегда есть возможность оперативно ответить). Просто в тему с таким названием мало кто заглядывает, а если заглядывают, мало кто отвечает.

  Ответить  
 
 автор: сотка   (13.05.2013 в 19:43)   письмо автору
 
   для: cheops   (09.03.2012 в 16:53)
 

А как тогда прочитать это?

 $_SESSION['PHP_AUTH_USER'] = $form->fields['name']->value;


Чтобы было например такое

Здравствуйте администратор ,name

сделал таким образом,правильно ли это? Безопасно?

$_SESSION['username'] = $form->fields['name']->value;
   echo 'HELLO, '.$_SESSION['username']."<br>";

  Ответить  
 
 автор: cheops   (09.03.2012 в 16:56)   письмо автору
 
   для: Владимир29   (08.03.2012 в 21:19)
 

4) Имеется в виду верстка? Или что-то другое? Если верстка, то обычно верстают с нуля, а затем разбивают сайт на блоки. Причем подход показанный в книге не единственный, если мы сподобимся писать третье издание, покажем, как еще можно использовать ООП с пользой для реализации представления сайта... В общем в любом случае сначала нужно сверстать сайт, убедиться, что он выглядит так как нужно во всех браузерах, а лишь потом внедрять верстку в систему.

  Ответить  
 
 автор: Владимир29   (09.03.2012 в 19:14)   письмо автору
3.6 Кб
 
   для: cheops   (09.03.2012 в 16:56)
 

2)Спасибо попробую
3)А по этому пункту как быть, по-поводу единой регистрации?
4) Да речь идёт именно о вёрстке. Я кстати изменил файлы top.php и bottom.php как мне бы хотелось это видеть, но сайт стал криво отображаться... Посмотрите сами, эти 2 файла я прикрепил к этому посту в архиве вместе с css-файлом, скажите в чём моя ошибка, как это можно исправить?

  Ответить  
 
 автор: Владимир29   (13.03.2012 в 21:54)   письмо автору
575.4 Кб
 
   для: cheops   (09.03.2012 в 16:56)
 

Игорь ответьте мне пожалуйста поскорее!!!
У меня ещё 2 проблемы возникли:
1) когда я добавляю картинку в админке в разделе "структура сайта" мне выдаётся ошибка следующего содержания:
Warning: copy() [function.copy]: Filename cannot be empty in Z:\home\b.ru\www\class\class.field.file.php on line 80

Warning: Cannot modify header information - headers already sent by (output started at Z:\home\b.ru\www\class\class.field.file.php:80) in Z:\home\b.ru\www\dmn\system_article\imgadd.php on line 131


2) как сделать так чтобы у меня на главной странице не ссылка по середине а уже статья, т.е. сейчас следующая ситуация: при открытии сайта открывается мой созданный мной раздел выглядит он как на картинке "что сейчас.png" в архиве , прикреплённом к этому посту, а мне нужно, что бы выглядело по ссылке: site/index.php как на картинке "что нужно.png" в том же архиве, т.е, то что выдаётся сейчас уже при клике на главную по ссылке site/index.php?id_catalog=16 как это можно исправить, а то очень не окуратно это всё выглядит ?

Помогите разобраться и если можно поскорее!!!

  Ответить  
 
 автор: Владимир29   (16.03.2012 в 20:26)   письмо автору
 
   для: cheops   (09.03.2012 в 16:56)
 

Игорь когда сможете ответить?

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

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