Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737 Форумы портала PHP.SU :: Помогите с отображением и разрушением сессии на сайте
Покинул форум
Сообщений всего: 18
Дата рег-ции: Февр. 2007
Помог: 0 раз(а)
Уважаемые знатоки PHP, подскажите как мне решить мою проблему?
Она состоит в следующием у меня на сайте есть регистрация, и я хотел бы чтобы после
регистрации и после введения зарегистрированных Логина и Пароля, не просто выскакивала страшненькая надпись Вы вошли, хотельсь бы чтобы после этого появлялась сессия которая отображалась на полями логина и пароля. Чтобы там так же был конец (разрыв) сессии. Ну вот вообже то и вся проблема. Мне уже кое что помогли сделать мои друзья. Вот скипты регистрации, авторизации, и не доделанный скрипт сессии. Если что то нужно еще я выложу. И к сожалению мое сегодняшнее знание PHP не позволяет мне решить эту проблему. Так, что буду благодарен за любую помощь. Спасибо.
Покинул форум
Сообщений всего: 4574
Дата рег-ции: Июль 2006 Откуда: Israel
Помог: 3 раз(а)
Maximuss пишет:
хотельсь бы чтобы после этого появлялась сессия которая отображалась на полями логина и пароля.
Можно ещё раз, только другими словами, чтоб я тоже понял..
Что в вашем скрипте вам кажется не оконченным? Он будет на самом деле писать Здравствуйте Вася, ваш пароль 123.
Конечно есть много мелких и страшных недочётов, но скрипты работают нормально, так как вы и хотели если я не ошибаюсь.
----- Truly yours, Sasha.
Maximuss
Отправлено: 25 Февраля, 2007 - 09:06:21
Новичок
Покинул форум
Сообщений всего: 18
Дата рег-ции: Февр. 2007
Помог: 0 раз(а)
Сейчас постараюсь объяснить понятней. Я хочу чтобы зарегистрированный пользователь (т.е. после регистрации на сайте). Заходил на сайт вводил свои данные в поля пароля и логина, и после этого над полями пароля и логина выводились данные сессии и чтобы это выглядело так
Вы вошли как Вася ---- Выход (т.е. разрыв сессии)
а здесь поле лонина
здесь поле пароля.
Вроде все по этому вопросу.
Что же касается скриптов скрипт авторизации работает, но не так как нужно. Когда я ввожу данные авторизации он просто пишет на белом фоне Вы вошли или нет таких записей. А я хочу чтобы после правильного ввода логина и пароля при нахажатии кпонки войти на сайте появлялась сессия которая описанна выше.
И еще про недостатки, так как мой сайт анписанн на языке html то мне сказали, что еще к этим скиптам нужно писать скрипт который будет в html отображать нужные данные по пользователю. Если еще, что не понятно
valenok
Отправлено: 25 Февраля, 2007 - 09:58:16
Здесь могла бы быть ваша реклама
Покинул форум
Сообщений всего: 4574
Дата рег-ции: Июль 2006 Откуда: Israel
Помог: 3 раз(а)
Давайте вы сначала прочитаете и выучите хороший учебник по html а потом мы вам обязательно поможем.
Вы жанглируете разными словами как сессия, разрыв сессии и т.п. не зная их значений.
----- Truly yours, Sasha.
-SCHATTEN-
Отправлено: 25 Февраля, 2007 - 15:52:29
Пользователь
Покинул форум
Сообщений всего: 615
Дата рег-ции: Июль 2006 Откуда: Оттуда !
Помог: 0 раз(а)
Вопервых у меня к вам 2 вопроса :
1) Знаете ли вы HTML, РНР или другие языки программирования ?
2) Для кого вы делаете сайт и занимались ли вы этим раньше ?
Теперь что касается вашего вопроса :
valenok пишет:
Конечно есть много мелких и страшных недочётов,
Зачем вам поля логина и пароля после входа пользователя ? Они там просто ненужны ! Уберите их.
Дизайн сайта не делается на РНР, это вам HTML нужен, там и делайте все что нужно, просто в тех местах где вам нужно имя вошедшего пользователя, используйте РНР.
И мой вам совет прежде чем что то делать почитайте про это поподробнее, и пройдите хотябы азы .
Ну если что обращайтесь, мы постараемся вам помочь.
Maximuss
Отправлено: 25 Февраля, 2007 - 23:00:19
Новичок
Покинул форум
Сообщений всего: 18
Дата рег-ции: Февр. 2007
Помог: 0 раз(а)
Сайт я делаю на html и там где надо вставляю PHP, что могу, что помогают знакомые а когда и по форумам проходиться лазить. Так, что вот обращаюсь за советами к профессионалам. И это далеко не первый призыв почитать PHP учебник я не отказываюсь, но и так ответ меня тоже не удовлетворяет. Потому как сегодняшнее знание PHP на уровне любителя. Вот по этому к вам и обратился, так как если будешь самостоятельно без помощи искать ответ на этот вопрос в учебнике то пройдет пару а то и больше месяцев.
Да я согласен с тем что после ввода логина и пароля, их можно уже не отображать.
Так я и не знаю как (вывод имени пользователя) сделать и в каком его виде поместить на сайт. Хотя опыт использования PHP скиптов у меня есть только простых (для Вас) отправка сообщений, заполнение бланка заказа и т.д.
-SCHATTEN-
Отправлено: 26 Февраля, 2007 - 12:05:10
Пользователь
Покинул форум
Сообщений всего: 615
Дата рег-ции: Июль 2006 Откуда: Оттуда !
Помог: 0 раз(а)
Как я понял по коду тебе всегда нужно подключение к БД, так запиши его не в каждой странице, а в файле "db.php"
\n\n(Добавление)
Если сам несможешь то скинь скрипт всей страницы, поможем.
Maximuss
Отправлено: 27 Февраля, 2007 - 09:38:49
Новичок
Покинул форум
Сообщений всего: 18
Дата рег-ции: Февр. 2007
Помог: 0 раз(а)
Спасибо за ответ. Код db.php исправил как ты сказал и довалил в него что нужно. Сакжи так теперь в других скиптах которые связанны с базами данных можно убрать вот эти вот строчки?
mysql_connect ($host,$user,$pass);
mysql_select_db ($db);
Так дальше. Код скрипта авторизации заменил на тот который ты прислал, но вот там один вопросик (возможно глупый) где ты в комментарии написал, что только вот здесь вставь кпопку при нажатии на которую у тебя будут удаляться переменные. Так я и не знаю как это сделать?
Да и вот еще, что Как мне сделать так, что после ввода логина и пароля при нажатии на кнопку войти, на их месте появлялись только логин пользователя и выход (конец сессиий), а поля логгина и пароля не отображались?
Еще раз огромное СПАСИБО за понимание.
-SCHATTEN-
Отправлено: 27 Февраля, 2007 - 12:51:08
Пользователь
Покинул форум
Сообщений всего: 615
Дата рег-ции: Июль 2006 Откуда: Оттуда !
Помог: 0 раз(а)
Maximuss пишет:
Спасибо за ответ. Код db.php исправил как ты сказал и довалил в него что нужно. Сакжи так теперь в других скиптах которые связанны с базами данных можно убрать вот эти вот строчки?
mysql_connect ($host,$user,$pass);
mysql_select_db ($db);
Да эти строки теперь можно убирать во всех скриптах, тока где тебе нужна будет БД должна присутствовать строка
Так дальше. Код скрипта авторизации заменил на тот который ты прислал, но вот там один вопросик (возможно глупый) где ты в комментарии написал, что только вот здесь вставь кпопку при нажатии на которую у тебя будут удаляться переменные. Так я и не знаю как это сделать?
Вот тебе кнопка (Делается она на HTML, с ним ты знаком, поэтому расписывать не буду)
Просто вставишь как ссылку при нажатии на которую пользователь будет выходить.
//тут в поле URL впиши нужную страницу, на которую он перейдет после выхода.
print"</HEAD></HTML>n";
?>
Maximuss пишет:
Да и вот еще, что Как мне сделать так, что после ввода логина и пароля при нажатии на кнопку войти, на их месте появлялись только логин пользователя и выход (конец сессиий), а поля логгина и пароля не отображались?
Скинь код своей страници на которой у тебя поля ввода логина и пароля (можно на мыло konstantin@php.su ), я тебе сделаю и на нем обьясню, ато так трудно обьяснить.
Maximuss пишет:
Еще раз огромное СПАСИБО за понимание.
Да незачто, обращайся.
\n\n(Добавление)
я тебе там сделал, тока сохранять его надо не как index.html , а как index.php
Maximuss
Отправлено: 27 Февраля, 2007 - 17:05:01
Новичок
Покинул форум
Сообщений всего: 18
Дата рег-ции: Февр. 2007
Помог: 0 раз(а)
Спасибо за помощь, но все еще к сожалению возникают вопросы.
Вот смотри, что я сделал.
сохранил тот файл который ты мне прислал, и поменял там имя скрипта как ты сказал с session (по-мойму) на avto.php.
Сохранил ее как index.php, обновил все ссылки у себя на сайте так как у меня главная страница была в html,
внес изменения в файлы связанные с базай данных, а в db.php добавил код о которым мы говорили выше
Загрузил все обновленные файлы.
И попробовал проверить что у нас в тобой получилось.
Но, к сожалению, сайт мне написал ошибку такого характера
Parse error: parse error, unexpected '<' in /home/b/biser.h17.ru/WWW/avto.ph p on line 13
и это я так подозраваю связанно с тем, что кнопку выхода я вставил либо не туда, либо не так как надо. Помоги мне разобраться в чем я ошибся?
Вот код avto.php который сейчас на сайте
-------------------------------- -----------------
<?
session_start();
include("db.php");
$rezult=mysql_query("select login, parol from regs where login='$login' and parol='$parol'");
$m=mysql_num_rows ($rezult);
$n=mysql_fetch_row($rezult);
$_SESSION['login']=$n[0];//логин
$_SESSION['parol']=$n[1];//пароль
if ($m>0)
{
echo 'Вы вошли как '.$_SESSION['login']; <input type="submit" value="Выход"><a href="./exit.php">Выход</a>; (Вот здесь где-то косяк, что-то у меня плохо получается совмещать HTML и PHP)
// тока тут сделай кнопку выхода, при нажатии на которую у тебя будут удаляться переменные.
}
else echo "Вы не зарегистрированы";
Покинул форум
Сообщений всего: 18
Дата рег-ции: Февр. 2007
Помог: 0 раз(а)
Я бы с удовольствием тебе сообщил, что все это работает, но я не могу это проверить.
И вот почему, база данных у меня уже была создана еще давно и когда я еще только делал регистрацию на сайте, то максимум до чего я дошел, возможно ты помнишь, от скрипт avto.php в начале так там в случае успешной регистрации и правильного ввода логина и пароля была надпись--- Вы вошли----.Я не знаю что могло случиться в базой данных, но теперь я не могу даже зарегистрироваться и я не знаю в чем тут проблема причем раньше все было нормально, а теперь скрипт пишет ошибка при регистрации.
Вот я и не могу проверить работают ли скрипты сессии, если я зарегистрироваться не могу.
Ты не мог бы мне подсказать в чес тут дело?
И так
Вот скрипт создания таблицы с переменными (данными регистрации) я старую базу удалил и создал новую. Это скипт запустил он написал что (Таблица REGS создана) тут вроде все нормально.
---------------------sql.php---- ------------------------
?
include("db.php");
if(mysql_query ("create table regs (id int auto_increment not null, login text, parol text, dat_rojd int, mesto_proj text, nam text, e_mail text, nik text, story text, foto text, primary key (id))")){
echo"Таблица REGS создана";
}
else
echo"Ошибка в создании таблицы REGS";
?>
-------------------------------- -------------------------------- -----
Скрипт обрабатывающий данные регистрации
---------------------------reg.p hp------------------------------ --
<?
include("db.php");
if(mysql_query("insert into regs (login,parol,dat_rojd,mesto_proj,nam,e_mail,nik,story,foto) values('$login', '$parol', 'dat_rojd','$mesto_proj','$nam','$e_mail','$story','$foto')")){
echo"Вы зарегистрированы";
}
else
echo"Ошибка регистрации";
?>
-------------------------------- -------------------------------- -----------
Спасибо за внимание, и проявленное уважение.\n\n(Добавление)
Да и вот что еще у меня после обновления на главной страцице над полями логина и пароля появлилась такая надпись.
Warning: session_start(): Cannot send session cookie - headers already sent by (output started at /home/b/biser.h17.ru/WWW/index.php:8) in /home/b/biser.h17.ru/WWW/index.p hp on line 53
Warning: session_start(): Cannot send session cache limiter - headers already sent (output started at /home/b/biser.h17.ru/WWW/index.php:8) in /home/b/biser.h17.ru/WWW/index.p hp on line 53
Что мне делать? Я не заю что это такое?
-SCHATTEN-
Отправлено: 28 Февраля, 2007 - 08:59:26
Пользователь
Покинул форум
Сообщений всего: 615
Дата рег-ции: Июль 2006 Откуда: Оттуда !
Это всё переменные вместо них должны быть слова, и т.д. например :
вместо $login должен быть твой логин.
Так как данные сюда передаются из какой либо форы, она заменяет все эти переменные тем что написано в полях этих форм.
ну для начала просто замени все эти переменные словами.
Цитата:
Да и вот что еще у меня после обновления на главной страцице над полями логина и пароля появлилась такая надпись.
Warning: session_start(): Cannot send session cookie - headers already sent by (output started at /home/b/biser.h17.ru/WWW/index.php:8) in /home/b/biser.h17.ru/WWW/index.p hp on line 53
Warning: session_start(): Cannot send session cache limiter - headers already sent (output started at /home/b/biser.h17.ru/WWW/index.php:8) in /home/b/biser.h17.ru/WWW/index.p hp on line 53
Что мне делать? Я не заю что это такое?
Это значит что заголовки страницы уже отправлены и он неможет начать сессию.
Ну а если руским примитивным, то просто строка session_start(); должна быть в самом начале документа. \n\n(Добавление)
в твоем случае это может быть из-за банера на хосте. он отсылает заголовки ещё в 8 строке.
Maximuss
Отправлено: 28 Февраля, 2007 - 09:34:49
Новичок
Покинул форум
Сообщений всего: 18
Дата рег-ции: Февр. 2007
Помог: 0 раз(а)
1. Так подожди что-то я не пойму зачем мне в скипт вписывать данные ригистрации если они обрабатываются из формы регистрации из соответствующих полей. Я просто потался зарегистрироваться как обычный посититель (каждый же посетитель не будет скрипт исправлять чтобы зарегистрироваться) просто раньше все работало, и я просто регистрировался как посетитель записывал логин и пароль нажимал войти и Мне писали Вы вошли. Вот html код страцицы регистрации может здесь гдето ошибка я даже не знаю.
2. Так мне вот эту строчку вставить в index.php между какми тэгами в начале?
<?
session_start();
?>
-------------------------------- -----regform.html--------------- -------------------------
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<?
session_start();
?>
Покинул форум
Сообщений всего: 615
Дата рег-ции: Июль 2006 Откуда: Оттуда !
Помог: 0 раз(а)
Цитата:
1. Так подожди что-то я не пойму зачем мне в скипт вписывать данные ригистрации если они обрабатываются из формы регистрации из соответствующих полей. Я просто потался зарегистрироваться как обычный посититель (каждый же посетитель не будет скрипт исправлять чтобы зарегистрироваться) просто раньше все работало, и я просто регистрировался как посетитель записывал логин и пароль нажимал войти и Мне писали Вы вошли. Вот html код страцицы регистрации может здесь гдето ошибка я даже не знаю.
Я думал что ты просто запускаешь скрипт рег-ии. тогда ничего вписывать ненадо...
И убери строку
<?
session_start();
?>
из regform.html... её там быть недолжно.
Цитата:
2. Так мне вот эту строчку вставить в index.php между какми тэгами в начале?
попробуй вставить её после строки
title>Бисер без границ /title>
написано неправильно специально, так как иначе они не отобразатся.
\n\n(Добавление)
Если честно я вообще непонимаю как он у тебя работал
Там должно было выдать примерно 12 ошибок.
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.