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

Форум PHP

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

 

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

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: Авторизация

Сообщения:  [1-10]   [11-11] 

 
 автор: pearl666   (02.03.2006 в 13:22)   письмо автору
 
   для: cheops   (01.03.2006 в 14:27)
 

если сделала вот так


if ( $_SESSION['password']='pass1' && $_SESSION['user']== 'user1')
{ Header("Location: http://www.farm.chebnet.com/1.html");exit();}
а 1.html (приватная страница на котрую надо перейти) содержит

<?php
if(session_start())
{
if ( $_SESSION['password']="pass1" && $_SESSION['user']== "user1")
{
?>
<HTML><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=windows-1251">
<HEAD>
<script language="JavaScript">
function private() {
alert("привет"); return; }

</script> </HEAD><body onload="private">;

<?php
}
}
?>

однако приватная страница не загружается , а грузится файл проверки введенных данных

   
 
 автор: pearl666   (01.03.2006 в 15:46)   письмо автору
 
   для: pearl666   (01.03.2006 в 14:47)
 

если я пишу
if(session_start())
{
$_SESSION['user'] = $_POST['name'];
$_SESSION['password']= $_POST['password'];
// Осуществляем автоматический переход на
// страницу index.php чтобы убедится, что
// посетитель "вошёл"
if ( $_SESSION['password']="pass1" && $_SESSION['user']== "user1")
{ echo "<HTML> <HEAD>
<META HTTP-EQUIV='Refresh' CONTENT='0; URL=1.html';>
</HEAD><body>"; ";
}
}
то выдается ошибка
Parse error: parse error, unexpected T_STRING in /usr/home/farm/handler.php on line 70

   
 
 автор: pearl666   (01.03.2006 в 14:47)   письмо автору
 
   для: cheops   (01.03.2006 в 14:27)
 

и что писать вот так
if $_SESSION['user'] ="user1" then переход на его страницу
if $_SESSION['user'] ="user2" then переход на его страницу????

   
 
 автор: cheops   (01.03.2006 в 14:27)   письмо автору
 
   для: pearl666   (01.03.2006 в 13:24)
 

У вас имеется $_SESSION['user'] - у каждого пользователя она будет уникальна, так как набор сессионных переменных для каждого из пользователей свой.

   
 
 автор: pearl666   (01.03.2006 в 13:24)   письмо автору
 
   для: cheops   (28.02.2006 в 23:21)
 

вот есть у меня база на mysql
drop table if exists users;
CREATE TABLE users (id_user INT NOT NULL auto_increment,name TINYTEXT,password TINYTEXT,PRIMARY KEY (id_user))
INSERT INTO users VALUES(NULL,'user1','pass1');
INSERT INTO users VALUES(NULL,'user2','pass2');
INSERT INTO users VALUES(NULL,'user3','pass3');
INSERT INTO users VALUES(NULL,'user4','pass4');
INSERT INTO users VALUES(NULL,'user5','pass5');
INSERT INTO users VALUES(NULL,'user6','pass6');
INSERT INTO users VALUES(NULL,'user7','pass7');
INSERT INTO users VALUES(NULL,'user8','pass8');
INSERT INTO users VALUES(NULL,'user9','pass9');
где я храню пользователей и пароли

есть форма для ввода пользователем имени и парорля

<?php
session_start();
$_SESSION['user']="";
$_SESSION['password']=""
?>
<html>
<title>ГУП ЧР "ФАРМАЦИЯ" Министерства Здравоохранения ЧР</title>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=windows-1251">
<img src="0.jpg" width=900 height=250 alt=логотип "Фармации" align=center border=2>
<!--используем для сравнения пользователя и пароля файл handler.php,где реализованы функции для сравнения-->
<form action=handler.php method=post>
<!--фон для страницы-->
<body background="n068.jpg" text=brown>
<!--размщение заголовка в центре страницы-->
<p align=center><font size=5><i><b>Добро пожаловать на сайт ГУП ЧР "ФАРМАЦИЯ" Министерства Здравоохранения ЧР</font>
<!--приглашение для ввода пароля и пользователя-->
<h3> Введите пожалуйста свое имя и пароль для доступа</h3>
<!--имя пользователя и пароль, первоначально пусты-->
<TABLE CELLPADDING=0 cellspacing=0 >
<TR ALIGN=left>
<TD>
<font size=5><i><b>Имя посетителя :
</TD>
<TD> <input id="n1" type="text" name=name n1.value=<?php echo $_SESSION['user']; ?> > </TD>
</TD>
<TR ALIGN=left>
<TD>
<font size=5><i><b>Пароль :
</TD>
<TD>
<input id = "n2" type="password" name=password n2.value[1]=<?php echo $_SESSION['password']; ?>>
</TD>
<TR ALIGN=left>
<TD>
</TD>
<TD>
<input type=submit style="width:147" value=Войти >
</TD>
</TR>
</TABLE>
<a href="index.php"><p align=center><body><font color=red size=5><b><b>На главную страницу</a>
</form>


и есть файл, где введенное имя и пароль проверяется

<?php
// Имя сервера базы данных
$dblocation = "localhost";
// Имя базы данных
$dbname = "msfarm";
// Имя пользователя
$dbuser = "root";
// Пароль
$dbpasswd = " ";
// Соединяемся с сервером базы данных
$dbcnx = @mysql_connect($dblocation,$dbuser,$dbpasswd);
if (!$dbcnx) {
?>
<HTML>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=windows-1251"><HEAD><script language="JavaScript">alert("В настоящий момент сервер базы данных не
доступен, поэтому корректное отображение страницы невозможно."); </script> </HEAD><body>";
<?php
//выход
exit();
}
// Выбираем базу данных
if (! @mysql_select_db($dbname,$dbcnx) ) {
?>
<HTML><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=windows-1251">
<HEAD><script language="JavaScript">alert("В настоящий момент сервер базы данных не
доступен, поэтому корректное отображение
страницы невозможно."); </script> </HEAD><body>";
<?php
exit();
}
// Формируем и выполняем SQL-запрос для посетителя с
// именем $_POST['name']
$query = "SELECT password FROM users WHERE name='".$_POST['name']."'";
$nme = mysql_query($query);
if(!$nme)
{
echo mysql_error();
echo "Ошибка выполнения запроса";
exit();
}
// Если запрос вернул результат - производим дальнейшую обработку
if(mysql_num_rows($nme) > 0)
{
// Получаем пароль
$password = mysql_result($nme, 0);
// Сравниваем пароль из базы данных и введённый посетителем
if ($_POST['password'] == $password)
{
// Идентификация прошла успешно - осуществляем
// "вход" посетителя. Для того, чтобы в течении текущей
// сесси посетитель не вводил своё имя пароль повторно -
// передаём их через сессию
if(session_start())
{
$_SESSION['user'] = $_POST['name'];
$_SESSION['password']= $_POST['password'];
// Осуществляем автоматический переход на
// страницу index.php чтобы убедится, что
// посетитель "вошёл"
echo "<HTML> <HEAD>
<META HTTP-EQUIV='Refresh' CONTENT='0; URL=net.html';>
</HEAD><body>";
}
}
else
{
?>
<HTML><META charset=windows-1251><HEAD><script language="JavaScript">alert("Ошибка идентификации: пароль неверный"); </script> </HEAD><body>";
<?php
echo "<HTML><HEAD>
<META HTTP-EQUIV='Refresh' CONTENT='0; URL=1.php'>
</HEAD><body>";
exit();
}
}
// Если в результате запроса не получено ни одной
// строки - посетитель с таким именем не зарегистрирован
else
{
echo ?>
<HTML><META charset=windows-1251><HEAD><script language="JavaScript">alert("Ошибка идентификации: пользователь не зарегистрирован"); </script> </HEAD><body>";
<?php
echo "<HTML><HEAD>
<META HTTP-EQUIV='Refresh' CONTENT='0; URL=1.php' >
</HEAD><body>";
exit();
}
?>

получается,зная имя и пароль пользователи переходят на одну и ту же страницу, а как сделать чтобы они переходили только на свою страницу..и на этой странице отображалась только личная их информация, чтобы не могли залезть к другим пользователям..может можно к сессии прикрутить переменную,а потом в зависимости от того, какая переменная открывать определенную страницу, но как можно это сделать или почитать об этом вообще

   
 
 автор: Тиль   (01.03.2006 в 08:32)   письмо автору
 
   для: Neopitniy   (28.04.2005 в 17:48)
 

Присоединяюсь.Это единственный форум на котором сижу.

   
 
 автор: Тиль   (01.03.2006 в 07:10)   письмо автору
 
   для: cheops   (06.04.2005 в 10:44)
 

Да нет все нормальнол работает, я поднял таблицу в мускуле и все нормаль правда при авторизации мелькает окошко(см.аттач) но авторизирует, все нормально.Кстати что за ошибка, никто не скажет?
И вот еще что, хочу чтобы если совпал пользователь и пароль администратора, то ниже выводилась как бы админовская панель с моими ссылками
пытаюсь вот так:
<?php 
  
// Если посетитель "вошёл" - приветствуем его 
  
if(isset($_SESSION['user'])) echo "Здравствуйте, ".$_SESSION['user']."!";
--
вот здесь пытаюсь сделатьно ругается
  
if ($_SESSION['user'] ="Administrator"
  
echo "<br><a href=\"news/admin/index.php\"><hr>Добавить новость</a>";
?>

или как то так:

if(session_start()) 
         { 
           $_SESSION['user'] ="Administrator"
           $_SESSION['password'] ="password" 
           echo "<br><a href=\"news/admin/index.php\"><hr>Добавить новость</a>";
         } 

   
 
 автор: cheops   (28.02.2006 в 23:21)   письмо автору
 
   для: pearl666   (28.02.2006 в 14:25)
 

Его можно перенаправить на неё при помощи конструкции
<?php
    
echo "<HTML><HEAD>
          <META HTTP-EQUIV='Refresh' CONTENT='0; URL=адрес_секреной страницы.php'>
          </HEAD></HTML>"
;
?>

или включить при помощи конструкции include
<?php
  
include "адрес_секретной_страницы.php";
?>

   
 
 автор: pearl666   (28.02.2006 в 14:25)   письмо автору
 
   для: cheops   (06.04.2005 в 10:44)
 

как сделать так,чтобы при правильном вводе пароля и имени пользователь переходил на свою приватную страницу

   
 
 автор: Neopitniy   (28.04.2005 в 17:48)
 
   для: cheops   (06.04.2005 в 10:44)
 

Приношу прощения, всё работает! Не знаю почему прошлый раз не работало, спортачил наверно что-то! Огромнейшее спасибо! Единственный форум, на котором действительно дают дельные советы для новичков! Ваш форум не заменим!

   

Сообщения:  [1-10]   [11-11] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

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