ФорумПрограммированиеPHP для идиотов → проверка: существует ли переменная

проверка: существует ли переменная

  • phpdude

    Сообщения: 26639 Репутация: N Группа: в ухо

    Spritz 13 января 2009 г. 4:57, спустя 46 секунд

    if isset($_SESSION['gotovo'])
    if ( isset($_SESSION['gotovo']))
    Сапожник без сапог
  • AlexB

    Сообщения: 4292 Репутация: N Группа: в ухо

    Spritz 13 января 2009 г. 4:59, спустя 1 минуту 32 секунды

    ну вот, опять лишили человека удовольствия найти ошибку самостоятельно … ))))))))))))))
  • Josh

    Сообщения: 2008 Репутация: N Группа: Кто попало

    Spritz 13 января 2009 г. 4:59, спустя 24 секунды


    if isset($_SESSION['gotovo'])
    if ( isset($_SESSION['gotovo']))


    if(array_key_exists('gotovo',$_SESSION))
  • phpdude

    Сообщения: 26639 Репутация: N Группа: в ухо

    Spritz 13 января 2009 г. 5:31, спустя 31 минуту 20 секунд



    if isset($_SESSION['gotovo'])
    if ( isset($_SESSION['gotovo']))


    if(array_key_exists('gotovo',$_SESSION))

    $_SESSION['key'] работает быстрее кейекиста. проверял на больших массивах)
    Сапожник без сапог
  • adw0rd

    Сообщения: 22914 Репутация: N Группа: в ухо

    Spritz 13 января 2009 г. 5:38, спустя 7 минут 31 секунду

    phpdude, и выглядит короче.
    adw/0
  • Tureg

    Сообщения: 55 Репутация: N Группа: Кто попало

    Spritz 13 января 2009 г. 20:59, спустя 15 часов 20 минут 29 секунд

    всем огромное спасибо, оч помогли в очередной раз 8)
  • Tureg

    Сообщения: 55 Репутация: N Группа: Кто попало

    Spritz 13 января 2009 г. 21:36, спустя 37 минут 50 секунд

    ну так вот, возникла проблема другого характера в этом скрипте
    на прикрепленном рисунке изображено то что попадает в базу данных, красным я выделил себя, т.е. ip время и дату захода
    поясню: этот скрипт находится  в шаблоне сайта, т.е. на каждой странице
    ну так там где выделено красным я точно сайт не покидал, не закрывал браузер, однако разрыв сессии почему то всетаки иногда происходит (следовательно данные опять попадаут в базу, хотя переменная $gotovo была объявлена), в основном не при периходе со страници на страницу (иногда тоже бывает), а когда обновляю одну и туже страницу, может быть я что то с сессией сделал нет? подскажите плз
    1. ipbi.JPG (45)
  • md5

    Сообщения: 11953 Репутация: N Группа: в ухо

    Spritz 14 января 2009 г. 0:56, спустя 3 часа 19 минут 58 секунд

    НЕ БЫЛО НИ ЕДИНОГО РАЗРЫВА!!11

    нельзя не покинуть сайт, прочитайте: http://phpfaq.ru/na_tanke
    все умрут, а я изумруд
  • Tureg

    Сообщения: 55 Репутация: N Группа: Кто попало

    Spritz 14 января 2009 г. 2:48, спустя 1 час 52 минуты 1 секунду

    так же написано и про сессии, что значения переменных хранятся в файлах, которые создает php
    не ужели этого нельзя сделать?
  • md5

    Сообщения: 11953 Репутация: N Группа: в ухо

    Spritz 14 января 2009 г. 2:53, спустя 4 минуты 12 секунд

    скорее всего
    я что то с сессией сделал

    откуда эти логи вобще?
    все умрут, а я изумруд
  • Tureg

    Сообщения: 55 Репутация: N Группа: Кто попало

    Spritz 14 января 2009 г. 2:57, спустя 4 минуты 4 секунды

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

    то есть вот этот


    <?
    session_start();
    $ipishnik = $_SERVER["REMOTE_ADDR"];
    $timenc = date("H:i:s");
    $datenc = date("d.m.Y");

    $connectnc = mysql_connect("localhost", "123", "123")
    or die("Не могу подключиться" );
    mysql_select_db('123', $connectnc) or die ('Не могу выбрать БД');

    $max1 = mysql_result(mysql_query("select MAX(`id_n`) AS `maxid_n` from newcounter"),0,0);

    if ( isset($_SESSION['gotovo']))
    { echo "$max1"; }
    else
    {
    $newzn = $max1 + 1;
    mysql_query("INSERT INTO newcounter VALUES('$newzn', '$ipishnik', '$timenc', '$datenc')");
    echo "$newzn";
    $_SESSION['gotovo'] = 1;
    }
    ?>


    а то что на картинке, это результат выполнения другого скрипта, который просто отображает данные из таблицы

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

    Сообщения: 11953 Репутация: N Группа: в ухо

    Spritz 14 января 2009 г. 3:03, спустя 6 минут 30 секунд

    сессия заканчивается, когда закрывается браузер
    все умрут, а я изумруд
  • Tureg

    Сообщения: 55 Репутация: N Группа: Кто попало

    Spritz 14 января 2009 г. 3:17, спустя 13 минут 47 секунд

    да, да, именно так, но почему то при обновлении страницы данные вновь заносятся в таблицу, а значит происходит разрыв сессии 8)
  • md5

    Сообщения: 11953 Репутация: N Группа: в ухо

    Spritz 14 января 2009 г. 3:20, спустя 2 минуты 49 секунд

    я не верю
    надо дебажить, выводить везде print_r($_SESSION);
    все умрут, а я изумруд
  • AlexB

    Сообщения: 4292 Репутация: N Группа: в ухо

    Spritz 14 января 2009 г. 4:46, спустя 1 час 26 минут 27 секунд


    происходит разрыв сессии 8)
    Вообще не воспринимай сессию, как нечто непрерывное. Сессия это файл на сервере который тебе выделили для хранения переменных на небольшое время. В нем хранятся какие-то данные. Если сервер тебя опознал, он дает тебе доступ к этому файлу. Не опознал - не дает. Т.е. сессия это персональное краткосрочное хранилище данных, а не какое-то эксклюзивное соединение.

Пожалуйста, авторизуйтесь, чтобы написать комментарий!