IMHO.WS

IMHO.WS (http://www.imho.ws/index.php)
-   Веб-программирование (http://www.imho.ws/forumdisplay.php?f=29)
-   -   Помогите научиться делать серверные сайты (http://www.imho.ws/showthread.php?t=61932)

Павел 24.02.2007 12:46

:confused:
Цитата:

Сообщение от нак (Сообщение 1363221)
У меня и выдает ошибку в шаблонах где до сессии написано всего, а где сначала ссесия открывается и дальше все нормально работает без ошибок

Не понял. Обьясни внятно. Пример, который я тебе дал, работает?

нак 24.02.2007 13:42

Нет не работает и твой скрипт. Выдает ошибку как и всегда у меня:

Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at C:\AppServ\www\lesson13\index.php:5) in C:\AppServ\www\lesson13\index.php on line 6

Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at C:\AppServ\www\lesson13\index.php:5) in C:\AppServ\www\lesson13\index.php on line 6
Вы не авторизованы
Страница 2

Павел 24.02.2007 20:52

Значит у тебя что-то с настройками. :idontnow: Пример тестировался на сервере, где лежат сайты нашей конторы. Опиши мне конфигурацию своего хостинга и в понедельник мы попробуем разобраться. Слушай, мысль, а не может быть, что твой браузер не принимает Cookie c твоего хостинга? И посмотри мои конфиги


Кусок php.ini, связанный с сессиями:

Цитата:

; Handler used to store/retrieve data.
session.save_handler = files

; Argument passed to save_handler. In the case of files, this is the path
; where data files are stored. Note: Windows users have to change this
; variable in order to use PHP's session functions.
;session.save_path = /tmp

; Whether to use cookies.
session.use_cookies = 1

; This option enables administrators to make their users invulnerable to
; attacks which involve passing session ids in URLs; defaults to 0.
; session.use_only_cookies = 1

; Name of the session (used as cookie name).
session.name = PHPSESSID

; Initialize session on request startup.
session.auto_start = 0

; Lifetime in seconds of cookie or, if 0, until browser is restarted.
session.cookie_lifetime = 0

; The path for which the cookie is valid.
session.cookie_path = /

; The domain for which the cookie is valid.
session.cookie_domain =

; Handler used to serialize data. php is the standard serializer of PHP.
session.serialize_handler = php

; Define the probability that the 'garbage collection' process is started
; on every session initialization.
; The probability is calculated by using gc_probability/gc_divisor,
; e.g. 1/100 means there is a 1% chance that the GC process starts
; on each request.

session.gc_probability = 1
session.gc_divisor = 1000

; After this number of seconds, stored data will be seen as 'garbage' and
; cleaned up by the garbage collection process.
session.gc_maxlifetime = 1440

; PHP 4.2 and less have an undocumented feature/bug that allows you to
; to initialize a session variable in the global scope, albeit register_globals
; is disabled. PHP 4.3 and later will warn you, if this feature is used.
; You can disable the feature and the warning separately. At this time,
; the warning is only displayed, if bug_compat_42 is enabled.

session.bug_compat_42 = 0
session.bug_compat_warn = 1

; Check HTTP Referer to invalidate externally stored URLs containing ids.
; HTTP_REFERER has to contain this substring for the session to be
; considered as valid.
session.referer_check =

; How many bytes to read from the file.
session.entropy_length = 0

; Specified here to create the session id.
session.entropy_file =

;session.entropy_length = 16

;session.entropy_file = /dev/urandom

; Set to {nocache,private,public,} to determine HTTP caching aspects.
; or leave this empty to avoid sending anti-caching headers.
session.cache_limiter = nocache

; Document expires after n minutes.
session.cache_expire = 180

; trans sid support is disabled by default.
; Use of trans sid may risk your users security.
; Use this option with caution.
; - User may send URL contains active session ID
; to other person via. email/irc/etc.
; - URL that contains active session ID may be stored
; in publically accessible computer.
; - User may access your site with the same session ID
; always using URL stored in browser's history or bookmarks.
session.use_trans_sid = 0

; The URL rewriter will look for URLs in a defined set of HTML tags.
; form/fieldset are special; if you include them here, the rewriter will
; add a hidden <input> field with the info which is otherwise appended
; to URLs. If you want XHTML conformity, remove the form entry.
; Note that all valid entries require a "=", even if no value follows.
url_rewriter.tags = "a=href,area=href,frame=src,input=src,form=fakeentry"
phpextension.ini:
Цитата:

extension=pcre.so
extension=mysql.so
extension=session.so
extension=xml.so
extension=ctype.so
extension=overload.so
extension=posix.so
extension=tokenizer.so
extension=zlib.so

нак 24.02.2007 21:00

Я на локалке в данное время тестирую. На сервере не проверял своем. Посмотрю свой php.ini
Пишу скрипт основываясь на движке DLE Но там по другому все работает.

добавлено через 5 минут
В php.ini у меня тоже самое что и у тебя Только в одном
session.bug_compat_42 = 1
session.bug_compat_warn = 1

А так все тоже.

Hubbitus 26.02.2007 03:07

Цитата:

Сообщение от Павел (Сообщение 1362880)
Проверял. Передавать нельзя тело документа (документация PHP: you must call session_start() before anything is outputted to the browser.), а в указанном тобой фрагменте

Код HTML:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>

<body>
<?php

определяется DTD.

А
Код:

<html>

<body>

По Вашему тоже входит в DTD с некторых пор???


Цитата:

Сообщение от нак (Сообщение 1363322)
Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at C:\AppServ\www\lesson13\index.php:5) in C:\AppServ\www\lesson13\index.php on line 6

Просто вызовите session_start ПЕРВЫМ, как уже сказали ранее.

Кстати, есди параметр session.auto_start установить в 1, то эту функцию можно больше не вызывать - сессии будут стартовать всегда автоматически.

нак 26.02.2007 11:13

Цитата:

Сообщение от Hubbitus (Сообщение 1363979)
Кстати, есди параметр session.auto_start установить в 1, то эту функцию можно больше не вызывать - сессии будут стартовать всегда автоматически.

Можно ли сдесь поподробнее. А то у меня выдает фатальную ошибку при размещение этой ссесии

Hubbitus 26.02.2007 19:33

Цитата:

Сообщение от нак (Сообщение 1364080)
Можно ли сдесь поподробнее.

Подробнее что??
Как я могу написать подробнее что приведенную строчку в конфиге (php.ini) с
session.auto_start = 0
нужно заменить на
session.auto_start = 1
?

Цитата:

Сообщение от нак (Сообщение 1364080)
А то у меня выдает фатальную ошибку при размещение этой ссесии

При размещении какой и куда?? Этот вызов делать ПЕРВЫМ, как я писал, пробовали???

нак 03.04.2007 22:34

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

EvroStandart 04.04.2007 13:17

Ты бы хоть код на блоки разделил и коментариев добавил. Когда всё так в куче - начинать вникать в каждую строчку нереально.

Цитата:

if (isset($_SESSION['username']) and (isset($_SESSION['time'])) and ($_SESSION['username'] == $_POST['username']) and (time() - $_SESSION['time'] < $maxtime)) {
// Перерегистрируем время последнего действия
$_SESSION['time'] = time();
$login = true;
}
Это проверка на пользователя в сессии? Почему каждый раз он еще с $_POST['username'] сверяется? И почему вообще гет и пост везде вперемешку используются?

В общем, ничего непонятно. Научись код оформлять.

нак 04.04.2007 15:47

Спасибо за помощь. Убрал повторное проверка $_POST['username'] и все нормально заработало

нак 26.02.2008 23:36

Спасибо за помощь что сдесь получил. Не спеша научился писать скрипты.
Хотел бы еще раз попросить помощь.
Хотел бы написать функции ббкода для форм добавления и редактирования новостей и прочего наподобие как у ДЛЕ и появление форм отредактирования в ворде. Где то видел такое в каком то скрипте.
Кто сможет помочь мне? Не много знаю как но хотелось бы получше разузнать что как.

Hubbitus 27.02.2008 00:24

Цитата:

Сообщение от нак (Сообщение 1526815)
Хотел бы написать функции ббкода для форм добавления и редактирования новостей и прочего наподобие как у ДЛЕ

Я думаю имеется ввиду вот ти функции и они уже написаны http://php.net/bbcode

Цитата:

Сообщение от нак (Сообщение 1526815)
и появление форм отредактирования в ворде.

Вот этого не понял. Но возможно WYSIWYG-редактор уже имеется ввиду?


Часовой пояс GMT +4, время: 10:39.

Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.