Уважаемые знатоки PHP, подскажите как мне решить мою проблему?
Она состоит в следующием у меня на сайте есть регистрация, и я хотел бы чтобы после
регистрации и после введения зарегистрированных Логина и Пароля, не просто выскакивала страшненькая надпись Вы вошли, хотельсь бы чтобы после этого появлялась сессия которая отображалась на полями логина и пароля. Чтобы там так же был конец (разрыв) сессии. Ну вот вообже то и вся проблема. Мне уже кое что помогли сделать мои друзья. Вот скипты регистрации, авторизации, и не доделанный скрипт сессии. Если что то нужно еще я выложу. И к сожалению мое сегодняшнее знание PHP не позволяет мне решить эту проблему. Так, что буду благодарен за любую помощь. Спасибо.
-------------------Скрипт регистрациии --------------
<?
include("db.php");
mysql_connect ($host,$user,$pass);
mysql_select_db ($db);
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"Ошибка регистрации";
?>
________________________________ ___________________
__________________Скрипт авторизации_______________
<?
session_start();
session_register('login');
session_register('parol');
//strip_tags($tekst);
include("db.php");
mysql_connect ($host,$user,$pass);
mysql_select_db ($db);
$rezult=mysql_query("select login, parol from regs where login='$login' and parol='$parol'");
$n=mysql_num_rows ($rezult);
if ($n>0)
echo "Вы вошли";
else echo "Нет таких записей";
?>
________________________________ _____________________
_______Не законченный скрипт сессии (покрайне мере я так думаю)________________
//при входе
session_start();
include("db.php");
mysql_connect ($host,$user,$pass);
mysql_select_db ($db);
$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'].' Ваш пароль: '.$_SESSION['parol'];
}
else echo "Нет таких записей";
-------------------------------- -------------------------------- ------------
//при выходе
unset($_SESSION['login']);
unset($_SESSION['parol']);
// разрегистрировали переменные
1. Maximuss - 24 Февраля, 2007 - 23:17:31 - перейти к сообщению
2. valenok - 25 Февраля, 2007 - 06:21:49 - перейти к сообщению
Maximuss пишет:
хотельсь бы чтобы после этого появлялась сессия которая отображалась на полями логина и пароля.
Можно ещё раз, только другими словами, чтоб я тоже понял..
Что в вашем скрипте вам кажется не оконченным? Он будет на самом деле писать Здравствуйте Вася, ваш пароль 123.
Конечно есть много мелких и страшных недочётов, но скрипты работают нормально, так как вы и хотели если я не ошибаюсь.
3. Maximuss - 25 Февраля, 2007 - 09:06:21 - перейти к сообщению
Сейчас постараюсь объяснить понятней. Я хочу чтобы зарегистрированный пользователь (т.е. после регистрации на сайте). Заходил на сайт вводил свои данные в поля пароля и логина, и после этого над полями пароля и логина выводились данные сессии и чтобы это выглядело так
Вы вошли как Вася ---- Выход (т.е. разрыв сессии)
а здесь поле лонина
здесь поле пароля.
Вроде все по этому вопросу.
Что же касается скриптов скрипт авторизации работает, но не так как нужно. Когда я ввожу данные авторизации он просто пишет на белом фоне Вы вошли или нет таких записей. А я хочу чтобы после правильного ввода логина и пароля при нахажатии кпонки войти на сайте появлялась сессия которая описанна выше.
И еще про недостатки, так как мой сайт анписанн на языке html то мне сказали, что еще к этим скиптам нужно писать скрипт который будет в html отображать нужные данные по пользователю. Если еще, что не понятно
Вы вошли как Вася ---- Выход (т.е. разрыв сессии)
а здесь поле лонина
здесь поле пароля.
Вроде все по этому вопросу.
Что же касается скриптов скрипт авторизации работает, но не так как нужно. Когда я ввожу данные авторизации он просто пишет на белом фоне Вы вошли или нет таких записей. А я хочу чтобы после правильного ввода логина и пароля при нахажатии кпонки войти на сайте появлялась сессия которая описанна выше.
И еще про недостатки, так как мой сайт анписанн на языке html то мне сказали, что еще к этим скиптам нужно писать скрипт который будет в html отображать нужные данные по пользователю. Если еще, что не понятно
4. valenok - 25 Февраля, 2007 - 09:58:16 - перейти к сообщению
Давайте вы сначала прочитаете и выучите хороший учебник по html а потом мы вам обязательно поможем.
Вы жанглируете разными словами как сессия, разрыв сессии и т.п. не зная их значений.
Вы жанглируете разными словами как сессия, разрыв сессии и т.п. не зная их значений.
5. -SCHATTEN- - 25 Февраля, 2007 - 15:52:29 - перейти к сообщению
Вопервых у меня к вам 2 вопроса :
1) Знаете ли вы HTML, РНР или другие языки программирования ?
2) Для кого вы делаете сайт и занимались ли вы этим раньше ?
Теперь что касается вашего вопроса :
Зачем вам поля логина и пароля после входа пользователя ? Они там просто ненужны ! Уберите их.
Дизайн сайта не делается на РНР, это вам HTML нужен, там и делайте все что нужно, просто в тех местах где вам нужно имя вошедшего пользователя, используйте РНР.
И мой вам совет прежде чем что то делать почитайте про это поподробнее, и пройдите хотябы азы .
Ну если что обращайтесь, мы постараемся вам помочь.
1) Знаете ли вы HTML, РНР или другие языки программирования ?
2) Для кого вы делаете сайт и занимались ли вы этим раньше ?
Теперь что касается вашего вопроса :
valenok пишет:
Конечно есть много мелких и страшных недочётов,
Зачем вам поля логина и пароля после входа пользователя ? Они там просто ненужны ! Уберите их.
Дизайн сайта не делается на РНР, это вам HTML нужен, там и делайте все что нужно, просто в тех местах где вам нужно имя вошедшего пользователя, используйте РНР.
И мой вам совет прежде чем что то делать почитайте про это поподробнее, и пройдите хотябы азы .
Ну если что обращайтесь, мы постараемся вам помочь.
6. Maximuss - 25 Февраля, 2007 - 23:00:19 - перейти к сообщению
Сайт я делаю на html и там где надо вставляю PHP, что могу, что помогают знакомые а когда и по форумам проходиться лазить. Так, что вот обращаюсь за советами к профессионалам. И это далеко не первый призыв почитать PHP учебник я не отказываюсь, но и так ответ меня тоже не удовлетворяет. Потому как сегодняшнее знание PHP на уровне любителя. Вот по этому к вам и обратился, так как если будешь самостоятельно без помощи искать ответ на этот вопрос в учебнике то пройдет пару а то и больше месяцев.
Да я согласен с тем что после ввода логина и пароля, их можно уже не отображать.
Так я и не знаю как (вывод имени пользователя) сделать и в каком его виде поместить на сайт. Хотя опыт использования PHP скиптов у меня есть только простых (для Вас) отправка сообщений, заполнение бланка заказа и т.д.
Да я согласен с тем что после ввода логина и пароля, их можно уже не отображать.
Так я и не знаю как (вывод имени пользователя) сделать и в каком его виде поместить на сайт. Хотя опыт использования PHP скиптов у меня есть только простых (для Вас) отправка сообщений, заполнение бланка заказа и т.д.
7. -SCHATTEN- - 26 Февраля, 2007 - 12:05:10 - перейти к сообщению
Как я понял по коду тебе всегда нужно подключение к БД, так запиши его не в каждой странице, а в файле "db.php"
PHP:
скопировать код в буфер обмена
скопировать код в буфер обмена
- <?PHP
- $host = "localhost";
- $user = "root";
- $pass = "";
- $db = "regs";
- if (!$dbcnx)
- if (!$dbslct)
- ?>
Потом зачем тебе скрипт авторизации ? у тебя есть скрипт сессии, там у тебя и проходит авторизация.
Ну немного поправь его и испльзуй как скрит авторизации. Ну к примеру.
PHP:
скопировать код в буфер обмена
скопировать код в буфер обмена
- <?
- include("db.php");
- $_SESSION['login']=$n[0];//логин
- $_SESSION['parol']=$n[1];//пароль
- if ($m>0)
- {
- echo 'Вы вошли как '.$_SESSION['login'];
- // тока тут сделай кнопку выхода, при нажатии на которую у тебя будут удаляться переменные.
- }
- else echo "Вы не зарегистрированы";
- ?>
Сдесь имя пользователя выводится переменной $_SESSION['login'].
В твоем скрипте сессий это есть :
echo 'Здравствуйте '.$_SESSION['login'].' Ваш пароль: '.$_SESSION['parol'];
\n\n(Добавление)
Если сам несможешь то скинь скрипт всей страницы, поможем.