[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Что это за ошибка
Эли4ка
Скрин выложила,никак не могу справится ,удалила уже все куки с этими файлами связанные че делать?



Спустя 5 часов, 43 минуты, 19 секунд (17.04.2011 - 11:19) molchun201 написал(а):
исходник в студию!

PS могу предположить неглядя, что у вас в начале идёт HTML код, а под ним уже PHP идёт, и как слдствие заголовки уже отправлены, исходя из ошибки (headers send) rolleyes.gif

Спустя 2 минуты, 23 секунды (17.04.2011 - 11:21) Эли4ка написал(а):
<?php
// вся процедура работает на сессиях. Именно в ней хранятся данные пользователя, пока он находится на сайте. Очень важно запустить их в самом начале странички!!!
session_start();

include ("bd.php");// файл bd.php должен быть в той же папке, что и все остальные, если это не так, то просто измените путь

if (isset($_COOKIE['auto']) and isset($_COOKIE['login']) and isset($_COOKIE['password']))
{//если есть необходимые переменные
if ($_COOKIE['auto'] == 'yes') { // если пользователь желает входить автоматически, то запускаем сессии
$_SESSION['password']=strrev(md5($_COOKIE['password']))."b3p6f"; //в куках пароль был не зашифрованный, а в сессиях обычно храним зашифрованный
$_SESSION['login']=$_COOKIE['login'];//сессия с логином
$_SESSION['id']=$_COOKIE['id'];//идентификатор пользователя
}
}


if (!empty($_SESSION['login']) and !empty($_SESSION['password']))
{
//если существет логин и пароль в сессиях, то проверяем их и извлекаем аватар
$login = $_SESSION['login'];
$password = $_SESSION['password'];
$result = mysql_query("SELECT id,avatar FROM users WHERE login='$login' AND password='$password' AND activation='1'",$db);
$myrow = mysql_fetch_array($result);
//извлекаем нужные данные о пользователе
}
?>
<html>
<
head>
<
title>Главная страница</title>
</
head>
<
body>
<
h2>Главная страница</h2>


<?php
if (!isset($myrow['avatar']) or $myrow['avatar']=='') {
//проверяем, не извлечены ли данные пользователя из базы. Если нет, то он не вошел, либо пароль в сессии неверный. Выводим окно для входа. Но мы не будем его выводить для вошедших, им оно уже не нужно.
print <<<HERE
<form action="testreg.php" method="post">
<!-- testreg.php - это адрес обработчика. То есть, после нажатия на кнопку "Войти", данные из полей отправятся на страничку testreg.php методом "post" -->
<p>
<label>Ваш логин:<br></label>
<input name="login" type="text" size="15" maxlength="15"

HERE;


if (isset($_COOKIE['login'])) //есть ли переменная с логином в COOKIE. Должна быть, если пользователь при предыдущем входе нажал на чекбокс "Запомнить меня"
{
//если да, то вставляем в форму ее значение. При этом пользователю отображается, что его логин уже вписан в нужную графу
echo ' value="'.$_COOKIE['login'].'">';
}


print <<<HERE
</p>
<!-- В текстовое поле (name="login" type="text") пользователь вводит свой логин -->
<p>
<label>Ваш пароль:<br></label>
<input name="password" type="password" size="15" maxlength="15"

HERE;


if (isset($_COOKIE['password']))//есть ли переменная с паролем в в COOKIE. Должна быть, если пользователь при предыдущем входе нажал на чекбокс "Запомнить меня"
{
//если да, то вставляем в форму ее значение. При этом пользователю отображается, что его пароль уже вписан в нужную графу
echo ' value="'.$_COOKIE['password'].'">';
}

print <<<HERE
</p>
<!-- В поле для паролей (name="password" type="password") пользователь вводит свой пароль -->
<p>
<input name="save" type="checkbox" value='1'> Запомнить меня.
</p>
<p>
<input name="autovhod" type="checkbox" value='1'> Автоматический вход.
</p>

<p>
<input type="submit" name="submit" value="Войти">
<!-- Кнопочка (type="submit") отправляет данные на страничку testreg.php -->
<br>
<!-- ссылка на регистрацию, ведь как-то же должны гости туда попадать -->
<a href="reg.php">Зарегистрироваться</a>

<br>
<!-- ссылка на восстановление пароля -->
<a href="send_pass.php">Забыли пароль?</a>

</p></form>
<br>
Вы вошли на сайт, как гость<br><a href='#'>Эта ссылка доступна только зарегистрированным пользователям</a>

HERE;
}

else
{
//при удачном входе пользователю выдается все, что расположено ниже между звездочками.
//************************************************************************************



print <<<HERE
|<a href='page.php?id=$_SESSION[id]'>Моя страница</a>|<a href='index.php'>Главная страница</a>|<a href='all_users.php'>Список пользователей</a>|<a href='exit.php'>Выход</a><br><br>

<!-- Между оператором "print <<<HERE" выводится html код с нужными переменными из php -->
Вы вошли на сайт, как
$_SESSION[login]<br>
<!-- выше ссылка на выход из аккаунта -->

<a href='http://tvpavlovsk.sk6.ru/'>Эта ссылка доступна только зарегистрированным пользователям</a><br>
Ваш аватар:<br>
<img alt='
$_SESSION[login]' src='$myrow[avatar]'>
<!-- Выше отображается аватар. Его адрес содержит переменная
$myrow[avatar] -->

<!-- Именно здесь можно добавлять формы для отправки комментариев и прочего... -->


HERE;


//************************************************************************************
//при удачном входе пользователю выдается все, что расположено ВЫШЕ между звездочками.

}

?>
</body>
</
html>

Спустя 5 минут, 27 секунд (17.04.2011 - 11:27) alex12060 написал(а):
http://phpforum.ru/index.php?showtopic=43337&hl=

Там есть ответ на Ваш вопрос.

Спустя 8 минут, 47 секунд (17.04.2011 - 11:35) Эли4ка написал(а):
а как надо

Спустя 2 минуты, 24 секунды (17.04.2011 - 11:38) Dr.Mars написал(а):
session_start нужно либо вызывать до всех посылаемых скриптом заголовков, либо через .htaccess
php_flag session.autostart=1


Спустя 55 секунд (17.04.2011 - 11:39) Эли4ка написал(а):
пнт

Спустя 1 минута, 52 секунды (17.04.2011 - 11:41) twin написал(а):
Там в сааамом верхнем левом уголочке - три кракозяблы. Это BOM. Вот он всю малину портит.

Можно этим победить.
Ну и с кодировками что то нужно делать.

Спустя 1 минута, 28 секунд (17.04.2011 - 11:42) Эли4ка написал(а):
не поняла где это покажи..

Спустя 2 минуты, 46 секунд (17.04.2011 - 11:45) molchun201 написал(а):
twin +1
данные недразумения решает хороший редактор - такой как NetBeans (http://netbeans.org/) rolleyes.gif

Цитата
не поняла где это покажи..

до <?php у тебя есть или пустое поле или пробел, вот их и надо убрать

Спустя 1 минута, 8 секунд (17.04.2011 - 11:46) Эли4ка написал(а):
пнт

Спустя 1 минута, 59 секунд (17.04.2011 - 11:48) twin написал(а):
Вот:

Спустя 1 минута, 52 секунды (17.04.2011 - 11:50) Эли4ка написал(а):
а в коде у меня его нет почему то..

Спустя 1 минута, 51 секунда (17.04.2011 - 11:52) twin написал(а):
Я же говорю - BOM.
Ссылку дал... Как еще то объяснять.

Спустя 21 минута, 39 секунд (17.04.2011 - 12:13) molchun201 написал(а):
Эли4ка подозреваю что вы в блокноте пишите?
PS блокноты нада сжигать - берите нормальную IDE и не будет таких проблем.

Спустя 57 минут, 11 секунд (17.04.2011 - 13:10) Dr.Mars написал(а):
notepad++ рулит)

Спустя 14 минут, 21 секунда (17.04.2011 - 13:25) Эли4ка написал(а):
спс

Спустя 1 день, 5 часов, 37 минут, 5 секунд (18.04.2011 - 19:02) LRCenter написал(а):
molchun201
Зря вы так, блокноты тоже разные бывают, есть такие которые без излишней навороченности легко "переваривают" utf-8 без BOM. Например AkelPad.

Спустя 39 минут, 11 секунд (18.04.2011 - 19:41) VELIK505 написал(а):
Цитата (Эли4ка @ 17.04.2011 - 08:50)
а в коде у меня его нет почему то..

Правильно через обычный блокнот смотрите.
Откройте через notepad++
И перекодируйте в UT8 без BOM

Спустя 3 часа, 23 минуты, 18 секунд (18.04.2011 - 23:04) molchun201 написал(а):
Цитата (LRCenter @ 18.04.2011 - 16:02)
molchun201
Зря вы так, блокноты тоже разные бывают, есть такие которые без излишней навороченности легко "переваривают" utf-8 без BOM. Например AkelPad.

ну эт понятно, можно и настроить, чтоб сохраняло без БУМ
но я приверженец нормальных редакторов, с автоподстановкой, подсказками и прочими радостями smile.gif вот и советую IDE

Спустя 9 минут, 43 секунды (18.04.2011 - 23:14) Snus написал(а):
Перепробовал кучу разных едиторов - лучший для меня остался gedit

Спустя 14 часов, 33 минуты, 41 секунда (19.04.2011 - 13:48) Эли4ка написал(а):
спасибо еще раз.

Спустя 47 минут, 50 секунд (19.04.2011 - 14:36) ИНСИ написал(а):
Эли4ка делаю небольшое замечание. В следующий раз, давай осмысленный заголовок темы, пожалуйста.

Спустя 10 минут, 4 секунды (19.04.2011 - 14:46) Эли4ка написал(а):
ладно..
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.