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

Форум PHP

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

 

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

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

тема: Работа с cookies и сессиями
 
 автор: tokmak   (15.02.2007 в 13:34)   письмо автору
 
 

Уже создавал наподобие темку так и точного ответа никто не дал. Пишу один сайтик ("для себя") на PHP никак не могу разобраться с cookies и с session. Мне хочется написать код, который стоит на всех форумах, интернет-магазинах и др. Код связан с куками и сессиями. Нужно, чтобы при заходете нна сайт было: 1)Если посетитель зашел на сайт первый раз, то "существует надпись привет гость"; если посетитель уже зарегистрирован, то должна происходить проверка как какому типу относится данный пользователь user или moder или admin. Мне уже писали на подобный вопрос как с этим поступить, но что-то не идет.
Ну расклад такой: 1) Нов.посетитель нажимает кнопку(ссылку) Приступить к регистрация, заполняет все графы нажимает кнопку Зарегистрироваться. открывается главная страница и написано Привет $user Ваш статус $status
Мой пробный код с которым я химичу

<?
include("config.php");

if (isset(
$_COOKIE['name'])) {
    
setcookie("name");
    
$cook $_COOKIE['name'];
    
$statususer=array(0=>"гость"1=>"юзер"2=>"админ");
mysql_connect($hostname,$login,$password$db) or die("No connect");
mysql_select_db("$db") or die("No select DB");
$query="select * from authors where name like '$cook' AND statususer like '$statususer'";

$result=mysql_query($query);

 
$i=0;

/* Присвоение переменным значений полей user_name, phone, img для i-й
строки */
$user_name=mysql_result($result,$i,"name");
$phone=mysql_result($result,$i,"statususer");

   echo 
$user_name;
   echo 
$phone;


if  (
$user_name == $cook and $phone == "admin") {
    echo(
"Ваш статус админ"); } else { echo("Ваш статус пользователь"); }

    } else
    {
error_reporting(E_ALL);
if(isset(
$_POST['fname']))   {

 
setcookie("name",$_POST['fname'],time()+3600,"/"); # Запомнили куки на час
}
if(!isset(
$_COOKIE['name']) || !isset($_POST['fname']))
{
    echo(
"<HTML>
        <BODY>
            Привет Гость
            <form action=\"\" method=\"post\">
                <input type=text name=\"fname\">
                <input type=submit value=\"send\">
            </form>
        </BODY>
    </HTML>"
);
}
else
{
    echo 
"Привет <b>".$_COOKIE['name']."</b>";
}
     }

?>


Он что-то не работает. Но с базой данных соединение есть
вот код таблицы БД


CREATE TABLE authors (
  id_author int(6) NOT NULL auto_increment,
  name text,
  passw text,
  email text,
  url text,
  icq text,
  about text,
  photo text,
  time datetime default NULL,
  last_time datetime default NULL,
  themes text,
  statususer text,
  PRIMARY KEY (id_author)
) TYPE=MyISAM;


Кто-нить знает как поступить в данной ситуации. Может у кого есть готовый код. Или тема существует наподобие моей решенная. Я PHP изучаю полгода. прогресс есть. В многом уже разобрался, а в этом никак, неделю уже сижу. Подскажите пожалуста. Заранее спасибо.

   
 
 автор: bestel   (15.02.2007 в 14:14)   письмо автору
 
   для: tokmak   (15.02.2007 в 13:34)
 

Не рациональная трата времени, зачем изобретать велосипед?
Для этого Вам необходима всего-лишь навсего CMS, можно OpenSourse, что нить типа Joomla.
Там все есть, что для вашего счастья необходимо. Т.к. это OpenSourse, то оч лего ее подогать, практически под любые задачи.

P.S.: Конечно, может это Вам не подойдет, если вы решили писать все с "нуля" принципиально:)

   
 
 автор: tokmak   (15.02.2007 в 15:03)   письмо автору
 
   для: bestel   (15.02.2007 в 14:14)
 

Я не хочу использовать чужой CMS я пишу свой сайт. решил писать с нуля. Основное написал, а с этим ни как не разберусь. И поэтому прошу помощи у знатоков. Т.е у вас.

   
 
 автор: tokmak   (15.02.2007 в 16:21)   письмо автору
 
   для: tokmak   (15.02.2007 в 15:03)
 

Ну что, никто не отвечает. Что же это очень тяжелая задача. Подалуста помогите с данным кодом.

   
 
 автор: Loki   (15.02.2007 в 17:01)   письмо автору
 
   для: bestel   (15.02.2007 в 14:14)
 

>Не рациональная трата времени, зачем изобретать велосипед?
Еще один... Вы в школе учились? А зачем? Все это уже изучили до вас! Зачем еще один умник, когда на погрузочно-разгрузочных работах рук не хватает?

Чтобы такие как вы скачали "OpenSourse, что нить типа Joomla", надо чтобы этот "OpenSourse, что нить типа Joomla" кто-то написал. И желательно чтобы он умел это делать. Вопреки распространенному заблуждению, эти умения даются не от рождения, а получаются в процессе работы.

   
 
 автор: cheops   (15.02.2007 в 16:22)   письмо автору
 
   для: tokmak   (15.02.2007 в 13:34)
 

В чём выражается "не работа" скрипта?

   
 
 автор: tokmak   (15.02.2007 в 16:28)   письмо автору
 
   для: cheops   (15.02.2007 в 16:22)
 

Скрипт не распознает к какому классу относится посетитель, хотя в БД есть строки.
сделал так

<?php
  error_reporting
(E_ALL);
 include(
"config.php");
$cook $_COOKIE['name'];
$stat=array(0=>"гость"1=>"юзер"2=>"админ");



mysql_connect($hostname,$login,$password$db) or die("No connect");
mysql_select_db("$db") or die("No select DB");
$status mysql_query("SELECT * FROM `authors` WHERE `statususer`");

$who mysql_result($status);

if(
mysql_num_rows($status) > 0) {

if (
$who != 0) {

if  (
$who == "admin") {
    echo 
"Ваш статус<b>".$stat[2]."</b>"; }
if (
$who == "user") {
    echo 
"Ваш статус<b>".$stat[1]."</b>"; }
if (
$who == "0") {
    echo 
"Ваш статус <b>".$stat[0]."</b>"; }

  } 
  }

?>
<?php


тоже самое. Можно узнать какой нужно написать код. Вот исходя из этого кода


$status = mysql_query("SELECT * FROM `authors` WHERE `statususer`");
$who = mysql_result($status);

если например у меня в колонки есть строка admin
и я пишу

if ($who == "admin") {
код }

Тоже не работает. В чем проблема? Как можно считать строку из столбца и сравнить с любой строкой?

   
 
 автор: tokmak   (15.02.2007 в 16:58)   письмо автору
 
   для: tokmak   (15.02.2007 в 16:28)
 

Что-то опять ответов нет. ЛЮДИ ХЕЛП МИ ПЛИИЗ. Я чайник по данной тематике.

   
 
 автор: tokmak   (15.02.2007 в 17:07)   письмо автору
 
   для: tokmak   (15.02.2007 в 16:58)
 

Если не секрет OpenSourse что это такое? Если это CMS система, зачем она мне нужно. Я хочу составить сам скрипт, а заодно и понять как он работает.

   
 
 автор: Unkind   (15.02.2007 в 17:11)   письмо автору
 
   для: tokmak   (15.02.2007 в 16:28)
 

Вы неправильно используете mysql_result(). В данном случае должно быть что-то вроде
$who = mysql_result($sql, 0, 'who');

   
 
 автор: tokmak   (15.02.2007 в 17:21)   письмо автору
 
   для: Unkind   (15.02.2007 в 17:11)
 

Кто-нибудь может помочь мне найти ответ. Я в PHP почти ноль, но не совсем так как изучаю всего полгода. Выучил и разобрался у же во многом. Помогите. Есть тут кто? Знает ли кто нибудь? Помогите написать код по моей тематике. Очень нужно.

   
 
 автор: tokmak   (15.02.2007 в 22:14)   письмо автору
 
   для: tokmak   (15.02.2007 в 17:21)
 

Блин. Люди помогите. Как это делается никак не вьеду. У же две темы создал никто не отвечает. Если вопрос мой не понятен или слишком сложный для вас та напишите хотя бы, а то я целый день в инете сижу, а толку нет. Жду ответа, Минут через десять вернусь.

   
Rambler's Top100
вверх

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