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

Форум PHP

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

 

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

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

тема: Сессии
 
 автор: malish   (22.06.2005 в 01:06)   письмо автору
 
 

опять трабла:

index.php

<?session_start();include("functions.php");?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN"> 
<html>
<head>
    <title>Title</title>
</head>
<body>
    <?
    
include("auth.php"); 
    
$action $HTTP_POST_VARS["action"];
    
$run ClearVariable($HTTP_POST_VARS["run"]);
    
$price ClearVariable($HTTP_POST_VARS["price"]);
    
$foto ClearVariable($HTTP_POST_VARS["foto"]);

    if(empty(
$action))
    {
        include(
"add_form.php");
        die;
    }
    else if(!
preg_match("[0-9]",$run) || !preg_match("[0-9]",$price) || $price<|| $run<0)
    {
        echo 
"<font color='red' size=3 face=tahoma'>";
        echo 
"Введены неверные данные!</font>";
        include(
"add_form.php");
        die;
    }
    else echo 
"YO";
    
?>

</body>
</html>


auth.php

<?
if(empty($_SESSION['authorized']))
{
    if(empty(
$_POST['username']) || empty($_POST['password']))
    {
        include(
"login_form.php");
        die;
    }
    
$un=ClearVariable($_POST['username']);
    
$pw=ClearVariable($_POST['password']);
    if(
LogIn($un,$pw))
    {
        
$_SESSION['authorized']=true;
        
$_SESSION['ip']=$_SERVER['REMOTE_ADDR'];
        
$_SESSION['username']=$un
    }
    else
    {
        include(
"login_form.php");
        die;
    }
}
?>


login_form.php - обычная форма, обработчик - index.php, данные передаются методом Post но при сабмите меня кидает на login_form.php :( Почему???

   
 
 автор: cheops   (22.06.2005 в 10:01)   письмо автору
 
   для: malish   (22.06.2005 в 01:06)
 

1) Что в атрибуте action тэга form в login_form.php?
2) После функции session_start() вывидите содержимое массива $_SESSION - что в нём?
<?php
  session_start
();
  
print_r($_SESSION);
  include(
"functions.php");
?>

   
 
 автор: P@Sol   (22.06.2005 в 10:06)   письмо автору
 
   для: malish   (22.06.2005 в 01:06)
 

offtop:

в одном файле у тебя $HTTP_POST_VARS, а в другом $_POST...приличнее если они одинаковые

по делу...дай код формы;)

   
 
 автор: Agronom   (22.06.2005 в 22:07)   письмо автору
 
   для: P@Sol   (22.06.2005 в 10:06)
 

Народ, помогите сессии настроить, вот у меня скрипт :

<?php
unset($nick);
unset($lev);

if(!isset($shablon)){
$shablon="wow" ;
}

session_start();

#session_register("shablon", "$shablon");


echo "<meta http-equiv='Content-Type' content='text/html; charset=windows-1251'>";


include("./style/$shablon/head.tpl");

include("./location/index.php");

include("./style/$shablon/body.tpl");

if(!isset($module) || empty($module) || (isset($module) && $module=="index")) {$module="ind";include("./location/$module.php");}
else{

if(file_exists("./location/$module.php") && !ereg("\.", $module)) {include("./location/$module.php");}
else{echo "Раздел недоступен";}}

if(isset($nick)) {echo "<br> Добро пожаловать, $nick!";}
else {}


include("./style/$shablon/down.tpl");

?>

На что мне сервер выдает ошибку 500:

The server encountered an internal error or misconfiguration and was unable to complete your request.
Please contact the server administrator, my@email.com and inform them of the time the error occurred, and anything you might have done that may have caused the error.

More information about this error may be available in the server error log.

Если не трудно, то посмотрите мой конфиг РНР

   
 
 автор: cheops   (23.06.2005 в 00:09)   письмо автору
 
   для: Agronom   (22.06.2005 в 22:07)
 

Лучше строку
session.save_handler = I:\PHP\sessiondata

исправить на
session.save_handler = I:/PHP/sessiondata

Ошибка 500 обычно говорит о том, что неправильно сконфигурирован либо файл httpd.conf, либо .htaccess...

   
 
 автор: glsv (Дизайнер)   (23.06.2005 в 05:09)   письмо автору
 
   для: Agronom   (22.06.2005 в 22:07)
 

Сервер выдает 500 ошибку только на конкретно этот скрипт? Другие скрипты отрабатывает нормально? Если и с другими скриптами такие же проблемы, то поищите ошибку в httpd.conf.

> Если не трудно, то посмотрите мой конфиг РНР
Явных ошибок вроде бы нет. По крайней мере, у меня заработал с этим php.ini
Но для директивы error_reporting рекомендую установить значение

error_reporting = E_ALL & ~E_NOTICE

Иначе, вы просто не будете видеть ошибки и знать о них. Возможно, в этом и проблема.

   
 
 автор: Agronom   (24.06.2005 в 19:59)   письмо автору
 
   для: glsv (Дизайнер)   (23.06.2005 в 05:09)
 

>Сервер выдает 500 ошибку только на конкретно этот скрипт? Другие скрипты отрабатывает нормально?

Да только на этот скрипт, т.к. он использует сесси.

Вот если я комментирую строку #session_register("shablon", "$shablon");
то скрипт работает, правда без сессий

>Лучше строку
>session.save_handler = I:\PHP\sessiondata

>исправить на
>session.save_handler = I:/PHP/sessiondata

Исправил, не помогло :(

   
 
 автор: Евгений Петров   (24.06.2005 в 21:19)   письмо автору
 
   для: Agronom   (24.06.2005 в 19:59)
 

Если скорость интернета позволяет скачать несколько файлов, то попробуйте отладить программу пошагово. Как это сделать можно найти здесь http://softtime.ru/forum/read.php?id_forum=1&id_theme=4885&page=1

   
 
 автор: method   (24.06.2005 в 22:49)   письмо автору
 
   для: Agronom   (24.06.2005 в 19:59)
 

<?php
unset($nick);
unset(
$lev);

if(!isset(
$shablon)){
$shablon="wow" ;
}

session_start();

if((!
$_SESSION['nick']) || (!$_SESSION['lev'])){Header("location:index.php");exit;}

else{
echo 
"<meta http-equiv='Content-Type' content='text/html; charset=windows-1251'>";


include(
"./style/$shablon/head.tpl");

include(
"./location/index.php");

include(
"./style/$shablon/body.tpl");

if(!isset(
$module) || empty($module) || (isset($module) && $module=="index")) {$module="ind";include("./location/$module.php");}
else{

if(
file_exists("./location/$module.php") && !ereg("\."$module)) {include("./location/$module.php");}
else{echo 
"Раздел недоступен";}}

if(isset(
$nick)) {echo "<br> Добро пожаловать, $nick!";}
}

include(
"./style/$shablon/down.tpl");
?>


ЗЫ:не знаю какие условия у тебя за что ответствены так что
не стал умничать и общая картина я думаю тебе понятна.

из учебника:
...если вы используете функцию session_register,
то должен быть включен параметр register_globals...

...нужно напрямую проверять элементы этих массивов, к примеру, так:
if(isset($_SESSION['username'])).....

а как я понял лучше писать приложения "готовые" к отключеной
register_globals......=)

помещаются же значения указаных переменных
в суперглобальные массивы так же просто как и извлекаются от
туда: $_SESSION['login']=$login;

   
 
 автор: Agronom   (25.06.2005 в 20:51)   письмо автору
 
   для: method   (24.06.2005 в 22:49)
 

Теперь результат изменился - начигнает грузить... и так с концами =)

Правда этот скриптик не мой, поэтому сам не могу точно сказать что там за что отвечает, сам с сессиями не работал, поэтому и возникли вопроссы, самое главное рнр у меня правильно настроен, а то человек, кому принадлежит этот скрипт, говорит, что он рабочий, а у меня, мол, сервак кривой =)) Вот надо разобраться что на самом деле кривое, скрипт или сервак :)

   
Rambler's Top100
вверх

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