Модераторы: skyboy, MoLeX, Aliance, ksnk

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как настроить работу сессий? 
:(
    Опции темы
Skaner
Дата 22.5.2012, 20:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 143
Регистрация: 6.2.2008

Репутация: -1
Всего: -1



Всем привет! Скажите пожалуйста как в Xampp включить поддержку сессий?Запускаю скрипт с сессиями а он не работает.Помогите пожалуйста.
PM MAIL   Вверх
zodiac
Дата 22.5.2012, 23:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 120
Регистрация: 3.7.2009

Репутация: нет
Всего: нет



Код в студию

Это сообщение отредактировал(а) zodiac - 22.5.2012, 23:07
PM MAIL   Вверх
skyboy
Дата 22.5.2012, 23:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

Репутация: 75
Всего: 260



что значит "а он не работает"?
у меня после запуска XAMP отлично работает с сессиями.
PM MAIL   Вверх
Skaner
Дата 23.5.2012, 00:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 143
Регистрация: 6.2.2008

Репутация: -1
Всего: -1



Например если записать вот такой вот код и потом обратится к этому файлу то просто выдаст пустой экран!

Код

<?
session_start();
$_SESSION['test']='Hello world!';
?>

PM MAIL   Вверх
Vardoulacha
Дата 23.5.2012, 05:03 (ссылка) |    (голосов:2) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 184
Регистрация: 11.8.2005

Репутация: 7
Всего: 8



а так?

Код

<?
session_start();
$_SESSION['test']='Hello world!';
echo $_SESSION['test'];
?>

PM MAIL   Вверх
Skaner
Дата 23.5.2012, 14:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 143
Регистрация: 6.2.2008

Репутация: -1
Всего: -1



Цитата

а так?

код PHP
<?
session_start();
$_SESSION['test']='Hello world!';
echo $_SESSION['test'];
?>



Так работает.Хм странно.Почему-то у меня при входе в админку в моем скрипте выбрасывает на главную страницу сайта.Помогите пожалуйста разобраться.Вот код файла для входа в админку.

Код

<?php
require( dirname(__FILE__).'/ib_config.php');

$action= (isset($_POST['action'])) ? $_POST['action'] : 'login';
$title="Login page";

switch($action) {
        case 'login' :
        $is_loged_in=false;
        $user_login='';
        $user_pass='';
        $error='';
        if ( $_POST ) {
                $username=trim($_POST['log']);
                $username = sanitize_user($username);
                $password=trim($_POST['pwd']);
                //bigin check login
                $redir_to=get_settings('general','siteurl')."/ib_admin/index.php";

$sql="SELECT count(unauth_login) as falses FROM ".$ibcms->unauth." WHERE
unauth_logintime>DATE_SUB(NOW(),INTERVAL 1 HOUR) AND unauth_ip='$REMOTE_ADDR'";
$errors = @mysql_result(mysql_query($sql),0);

 if (mysql_error())
 die(mysql_error());

     elseif ($errors>5) {
     $ibcms->db_error="Access denied! Try to login from an hour!";
     }

     elseif($username=='' || $password==''){
                $ibcms->db_error="Enter login and password!";
                }
     else {
     $sql="SELECT * FROM ".$ibcms->users." WHERE
     user_login='$username' AND user_pass='". md5($password). "'";
     $result = mysql_query($sql);

     if (mysql_error()) die(mysql_error());

     elseif (@mysql_num_rows($result)!=1){
     $ibcms->db_error="Wrong username or password!";
     $sql="INSERT INTO ".$ibcms->unauth." (unauth_login, unauth_pass, unauth_ip, unauth_logintime) VALUES
     ('$username', '".md5($password)."', '$REMOTE_ADDR $HTTP_X_FORWARDED_FOR', '".date('Y-m-d H:i:s',mktime())."')";
     @mysql_query($sql);
     }
     else {
     $data = mysql_fetch_assoc($result);
     mysql_free_result($result);
     //session_set_cookie_params(1800, "/");
     session_start();
     session_register('user');
     $user['login']=$data['user_login'];
     $user['pass']=$data['user_pass'];
     $user['status']=$data['user_status'];

     header("Location: {$redir_to}");
     exit();
     }
     }
     if (isset($_COOKIE[session_name()]))
     setcookie(session_name(),'');
     unset($user);
     //end check login
                }
      nocache_headers();
        ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title><?php echo $title; ?></title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<link rel="stylesheet" href="ib_admin/admin.css" type="text/css">
</head>
<body>
<div align="center">
<h3>Login:</h3>
 <div id="logo"></div>
 <div id="error_mes">
 <?php echo $ibcms->db_error; ?>
 </div>
 <div id="login_form">
  <form name="loginform" id="loginform" action="ib_admin.php" method="post">
   <p>Username&nbsp;:<br>
    <input type="text" name="log" id="log" value="" size="20"/>
   </p>
   <p>Password&nbsp;:<br>
    <input type="password" name="pwd" id="pwd" value="" size="20"/>
   </p>
   <p>
    <input type="submit" name="submit" id="submit" value="Login"/>
   </p>
  </form>
   <!--<p><a href="/ib_admin.php?action=lostpas">Lost your password?</a></p>-->
 </div>
</div>
</body>
</html>
        <?php
        break;
        }
function check_login($username, $password, $already_md5 = false) {

global $ibcms;


     }
?>


Помогите пожалуйста.Если нужен код ещё какого-то файла выложу без проблем.Спасибо за помощь.
PM MAIL   Вверх
Skaner
Дата 24.5.2012, 16:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 143
Регистрация: 6.2.2008

Репутация: -1
Всего: -1



Помогите пожалуйста решить проблему :(
PM MAIL   Вверх
baldina
Дата 24.5.2012, 17:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 3433
Регистрация: 5.12.2007
Где: Москва

Репутация: 26
Всего: 101



Цитата(Skaner @  23.5.2012,  14:51 Найти цитируемый пост)
                $redir_to=get_settings('general','siteurl')."/ib_admin/index.php";

Цитата(Skaner @  23.5.2012,  14:51 Найти цитируемый пост)
     header("Location: {$redir_to}");

проверяй чему и почему у тебя равен $redir_to
PM MAIL   Вверх
Skaner
Дата 24.5.2012, 17:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 143
Регистрация: 6.2.2008

Репутация: -1
Всего: -1



Вот код файла index.php на который идет redirect

Код

<?php
require_once("admin.php");
require_once("admin_menu.php");
 
function get_main_users_stat() {
        $f="counter.dat";
        $f=fopen($f,'r');
        flock($f,LOCK_SH);
        $st=fread($f,100);
        flock($f,LOCK_UN);
        fclose($f);
        $st=explode('|',$st);
        $st[0]=(int)$st[0];
        $st[1]=(int)$st[1];
        $st[2]=(int)$st[2];
        return $st;
        }
 
function get_subs_stat() {
        global $ibcms;
        $month=date('m'); $year=date('Y');
        $month=$month-1;
        if ($month==0) {
                $month=12;
                $year=$year-1;
                }
        $sql="SELECT * FROM ".$ibcms->stats." WHERE
        stat_from='".date('Y-m-d',mktime(0,0,0,$month,1,$year))."'";
        $result=$ibcms->query($sql);
        if (is_array($result)) {
 
                } else {
 
                        }
        $sql="SELECT count(id) FROM ".$ibcms->mailer." WHERE
        active='0' AND unregistered<'".date('Y-m-d',mktime(0,0,0,$month,1,$year))." 00:00:00'";
 
        }
 
function get_subscribers() {
        global $ibcms;
       
        $sql1="SELECT COUNT(id) FROM ".$ibcms->mailer." WHERE ";
        $sql[]=$sql1."active='1'";
        $from[0]=time(); $to[0]=$from[0]+24*60*60;
        $from[1]=time()-24*60*60; $to[1]=time();
        $weekday=date('w');
        $weekday=$weekday-1;
        if ($weekday==-1) $weekday=6;
        $from[2]=time()-$weekday*24*60*60; $to[2]=$from[2]+7*24*60*60;
        $from[3]=$from[2]-7*24*60*60; $to[3]=$from[3]+7*24*60*60;
        $from[4]=mktime(0,0,0,date('m'),1,date('Y')); $to[4]=$from[4]+date('t')*24*60*60;
        $month=date('m'); $year=date('Y');
        $month=$month-1;
        if ($month==0) {
                $month=12;
                $year=$year-1;
                }
        $from[5]=mktime(0,0,0,$month,1,$year); $to[5]=$from[5]+date('t',mktime(0,0,0,$month,1,$year))*24*60*60;
        for ($i=0; $i<count($from); $i++) {
              //echo date('Y-m-d',$from[$i])."to ".date('Y-m-d',$to[$i])."<br>";
        $sql[]=$sql1."registered>='".date('Y-m-d',$from[$i])." 00:00:00' AND
        registered<'".date('Y-m-d',$to[$i])." 00:00:00'";
        $sql[]=$sql1."active='0' AND unregistered>='".date('Y-m-d',$from[$i])." 00:00:00' AND
        unregistered<'".date('Y-m-d',$to[$i])." 00:00:00'";
                }
        foreach ($sql as $key) {
        $result=$ibcms->query($key);
        if (is_array($result)) $arr[]=$result[0][0];
        else $arr[]=0;
                }
        return $arr;
        }
 
list($online, $today, $total)=get_main_users_stat();
list($sub_act, $sub_reg_today, $sub_unreg_today, $sub_reg_yest,
$sub_unreg_yest, $sub_reg_thisweek, $sub_unreg_thisweek,
$sub_reg_lastweek, $sub_unreg_lastweek,
$sub_reg_thismonth, $sub_unreg_thismonth,
$sub_reg_lastmonth, $sub_unreg_lastmonth)=get_subscribers();
 
require_once("admin_header.php");
?>
  <tr>
  <td>
    <div id="admin_body">
    <div id="stat">
      <table border=1 cellpadding=0 callspacing=0 width=100%>
      <tr>
        <td>Users activity :</td><td></td><td></td><td></td><td></td>
      </tr>
      <tr>
        <td>Users(visitors):</td><td>Online:</td><td><b><?php echo $online; ?></b></td><td></td><td></td>
      </tr>
      <tr>
        <td></td><td>Today:</td><td><b><?php echo $today; ?></b></td><td></td><td></td>
      </tr>
      <tr>
        <td></td><td>Yesterday:</td><td></td><td></td><td></td>
      </tr>
      <tr>
        <td></td><td>Last week:</td><td></td><td></td><td></td>
      </tr>
      <tr>
        <td></td><td>Last month:</td><td></td><td></td><td></td>
      </tr>
      <tr>
        <td></td><td>Total:</td><td><b><?php echo $total; ?></b></td><td></td><td></td>
      </tr>
      <tr>
        <td></td><td>Record number of visitors was</td><td></td><td>Number</td><td></td>
      </tr>
      <tr>
        <td>Music :</td><td></td><td></td><td></td><td></td>
      </tr>
      <tr>
        <td>Leader of Top20:</td><td>Today</td><td></td><td>Voted</td><td></td>
      </tr>
      <tr>
        <td></td><td>Yesterday</td><td></td><td>Voted</td><td></td>
      </tr>
      <tr>
        <td></td><td>Last week</td><td></td><td>Voted</td><td></td>
      </tr>
      <tr>
        <td></td><td>Last month</td><td></td><td>Voted</td><td></td>
      </tr>
      <tr>
        <td></td><td>All time</td><td></td><td>Voted</td><td></td>
      </tr>
      <tr>
        <td>Looser of Top20:</td><td>Today</td><td></td><td>Voted</td><td></td>
      </tr>
      <tr>
        <td></td><td>Yesterday</td><td></td><td>Voted</td><td></td>
      </tr>
      <tr>
        <td></td><td>Last week</td><td></td><td>Voted</td><td></td>
      </tr>
      <tr>
        <td></td><td>Last month</td><td></td><td>Voted</td><td></td>
      </tr>
      <tr>
        <td></td><td>All time</td><td></td><td>Voted</td><td></td>
      </tr>
      <tr>
        <td>Banners :</td><td></td><td></td><td></td><td></td>
      </tr>
      <tr>
        <td>More popular:</td><td>Today</td><td></td><td>Clicks</td><td></td>
      </tr>
      <tr>
        <td></td><td>Yesterday</td><td></td><td>Clicks</td><td></td>
      </tr>
      <tr>
        <td></td><td>Last week</td><td></td><td>Clicks</td><td></td>
      </tr>
      <tr>
        <td></td><td>Last month</td><td></td><td>Clicks</td><td></td>
      </tr>
      <tr>
        <td></td><td>All time</td><td></td><td>Clicks</td><td></td>
      </tr>
      <tr>
        <td>Subscribers :</td><td></td><td></td><td></td><td></td>
      </tr>
      <tr>
        <td>Active subscribers:</td><td><?php echo $sub_act;?></td><td></td><td></td><td></td>
      </tr>
      <tr>
        <td>New subscribers:</td><td>Today</td><td><?php echo $sub_reg_today;?></td><td>Unsubscribed</td><td><?php echo $sub_unreg_today;?></td>
      </tr>
      <tr>
        <td></td><td>Yesterday</td><td><?php echo $sub_reg_yest;?></td><td>Unsubscribed</td><td><?php echo $sub_unreg_yest;?></td>
      </tr>
      <tr>
        <td></td><td>This week</td><td><?php echo $sub_reg_thisweek;?></td><td>Unsubscribed</td><td><?php echo $sub_unreg_thisweek;?></td>
      </tr>
      <tr>
        <td></td><td>Last week</td><td><?php echo $sub_reg_lastweek;?></td><td>Unsubscribed</td><td><?php echo $sub_unreg_lastweek;?></td>
      </tr>
      <tr>
        <td></td><td>This month</td><td><?php echo $sub_reg_thismonth;?></td><td>Unsubscribed</td><td><?php echo $sub_unreg_thismonth;?></td>
      </tr>
      <tr>
        <td></td><td>Last month</td><td><?php echo $sub_reg_lastmonth;?></td><td>Unsubscribed</td><td><?php echo $sub_unreg_lastmonth;?></td>
      </tr>
      <tr>
        <td></td><td>All time:</td><td></td><td>Unsubscribed</td><td></td>
      </tr>
      </table>
    </div>
    </div>
  </td>
  </tr>
<?php
require_once("admin_footer.php");
?>


Код файла admin.php

Код

<?php
require('../ib_config.php');
$session_error = false;
 
if (!isset($_COOKIE[session_name()]))
  $session_error = true;
 
else {
  session_start();
  session_register("user");
 
  if (!isset($user["login"]) || !isset($user["pass"]) || !isset($user["status"]))
    $session_error = true;
  };
 
if (!$session_error) {
  $sql="SELECT user_id FROM ".$ibcms->users." WHERE
    user_login='{$user['login']}' AND user_pass='{$user['pass']}'
    AND user_status='{$user['status']}'";
  $check_result = mysql_query($sql);
 
  if (mysql_error() || @mysql_num_rows($check_result) != 1)
    $session_error = true;
  };
 
if ($session_error) {
 
  @session_destroy();
 
  if (isset($_COOKIE[session_name()]))
    @setcookie(session_name(),"","/");
 
  @header("Location: ".get_settings('general','siteurl'));
 
  exit();
  };
 
mysql_free_result($check_result);
?>

PM MAIL   Вверх
baldina
Дата 24.5.2012, 17:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 3433
Регистрация: 5.12.2007
Где: Москва

Репутация: 26
Всего: 101



Цитата(Skaner @  24.5.2012,  17:34 Найти цитируемый пост)
  if (!isset($user["login"]) || !isset($user["pass"]) || !isset($user["status"]))
    $session_error = true;


Цитата(Skaner @  24.5.2012,  17:34 Найти цитируемый пост)
if ($session_error) {


Цитата(Skaner @  24.5.2012,  17:34 Найти цитируемый пост)
 @header("Location: ".get_settings('general','siteurl'));


PM MAIL   Вверх
Skaner
Дата 24.5.2012, 17:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 143
Регистрация: 6.2.2008

Репутация: -1
Всего: -1



Что здесь не так?
PM MAIL   Вверх
baldina
Дата 24.5.2012, 17:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 3433
Регистрация: 5.12.2007
Где: Москва

Репутация: 26
Всего: 101



здесь все так, просто это те места, которые вероятно влияют на результат
или вы думаете я телепатически отлажу вашу программу?
кстати, код явно старый, а какой версии php? (скажем, в php 5.4 это работать не будет)
PM MAIL   Вверх
Skaner
Дата 24.5.2012, 17:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 143
Регистрация: 6.2.2008

Репутация: -1
Всего: -1



Php версии 5.1.6 какие ещё участки кода интересуют? Могу выложить без проблем.
PM MAIL   Вверх
baldina
Дата 24.5.2012, 18:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 3433
Регистрация: 5.12.2007
Где: Москва

Репутация: 26
Всего: 101



меня - никакие. проверяйте что у вас с переменной user
PM MAIL   Вверх
Sanchezzz
Дата 24.5.2012, 19:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1670
Регистрация: 19.11.2006
Где: Voronezh

Репутация: 41
Всего: 60



кажись у вас не пишутся куки вот скрипт и вызывает дестрой сесии на 26-28 строчке так как переменая $session_error  равна true


--------------------
Понравился ответ "+" по репе, не забываем закрывать тему, заказы в LS.
PM MAIL Skype GTalk   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0617 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.