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

Форум PHP

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

 

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

вид форума:
Линейный форум Структурный форум

тема: простенькая защищенная паролем страничка
 
 автор: Аня   (18.01.2006 в 13:54)   письмо автору
 
 


<?php

$form
="
<form name="
forma" method="post">
<input type="
password" name="r_pass" value="$r_pass" size="25"><br>
<input name="
sumbit" type="submit" value="Enter">
</form>
"
;

if (
$sumbit==true)
{
  if (
$r_pass==admin)
   {
    echo 
"<a href="?page=ty">link1</a> <ahref="?page=ky">link2</a><br><br>";
    if (
$page==ty) {echo "tyy";};
    if (
$page==ky) {echo "kyyy";};
   }
  else {echo 
"no";};
}
else {echo 
$form;};

?>

Я делаю простенькую защищенную паролем страничку, то если
начинаю делать ссылку вида index.php?page=ky меня
выбрасывает на страницу с формой авторизацией.
Пыталась избавиться от этого используя куки, или как их там,
тока у меня в книжке про них почти нечего не написано и
решить проблему так, и не удалось.
деюсь на вашу подсказку, помощь...

   
 
 автор: Boss   (18.01.2006 в 14:41)   письмо автору
 
   для: Аня   (18.01.2006 в 13:54)
 


<?
$name 
$_POST['name'];
$password $_POST['pass'];

if(
$name=="user" && $password=="pass")
{
......
Содержимое страницы
....
}

elseif
{
echo 
"Облом!!! Доступ закрыт";
}
?>

   
 
 автор: Аня   (18.01.2006 в 18:42)   письмо автору
 
   для: Boss   (18.01.2006 в 14:41)
 

Не работает :(

   
 
 автор: Unkind™   (18.01.2006 в 18:49)   письмо автору
 
   для: Аня   (18.01.2006 в 18:42)
 

>else {echo "no";};
Зачем после "}" ставишь ";"?
Просто
else
{
echo "no!!!";
}

А чего не работает? Че пишет?

   
 
 автор: Аня   (18.01.2006 в 19:05)   письмо автору
 
   для: Unkind™   (18.01.2006 в 18:49)
 

>А чего не работает? Че пишет?

Там выше был описан мой index.php
В административной страничке если я делаю ссылки вида index.php?page=ty то мне снова приходится водить пароль хочется от этого избавиться...

   
 
 автор: Unkind™   (18.01.2006 в 19:31)   письмо автору
 
   для: Аня   (18.01.2006 в 19:05)
 

Если у тебя на хостинге есть MySQL, то лучше воспользоваться следующим скриптом:

<?php
//Проверка пароля
if(empty($_GET['r_pass']))
{
echo 
"Ошибка авторизации!<br>";
exit();
}
//Если поле заполнено, продолжение проверки
$password $_GET['r_pass'];
?>
<?php
//Соединение с базой данных
require_once("config.php");
    
//Проверка правильности пароля
    
$query "SELECT pass FROM users";
    
$connect mysql_query($query);
    if(
$connect)
      {
        
$auth mysql_fetch_array($connect);
            if(
$auth['pass'] != $r_pass)
            {
        echo 
"Ошибка авторизации!<br>";
        exit();
            }
    }
    else
    {
    echo 
"Ошибка авторизации!<br>";
    exit();
    }
?>
......
Содержание страницы....
......

Вам необходимо создать базу данных с таблицей users
и полем "pass"
И создать config.php
Код:

<?
//Расположение базы данных
  
$dblocation "localhost";
//Имя
  
$dbname "database";
//Пользователь
  
$dbuser "root";
//Пароль
  
$dbpasswd "";

  
// Соединение с базой данных
  
$dbcnx = @mysql_connect($dblocation,$dbuser,$dbpasswd);
  if (!
$dbcnx)
  {
    echo( 
"Сервер баз данных не доступен" );
    exit();
  }

  if (! @
mysql_select_db($dbname,$dbcnx) )
  {
    echo( 
"База данных не доступна" );
    exit();
  }
?>

Каждая ссылка в вашей админке должна быть вида doc.php?password="your_password"
И выше написанный код должен быть на каждой странице админки...

   
 
 автор: Аня   (18.01.2006 в 19:38)   письмо автору
 
   для: Unkind™   (18.01.2006 в 19:31)
 

>Каждая ссылка в вашей админке должна быть вида
>doc.php?nick="Admin"&pass="password"
>И выше написанный код должен быть на каждой странице
>админки...

так зачем же все так усложнять?
Я и щас со своим скриптом могу поставить ссылки вида
<? 
...
echo 
"<a href=\"?r_pass=$r_pass&sumbit=$sumbit&page=ty\">link1</a> <a href=\"?r_pass=$r_pass&sumbit=$sumbit&page=ky\">link2</a><br><br>";
...
?>

Тока я не хочу, чтобы пароль светился в адресной строке и был виден!
Какой такой прок от такой админки?

   
 
 автор: Unkind™   (18.01.2006 в 19:43)   письмо автору
 
   для: Аня   (18.01.2006 в 19:38)
 

Черт а...=) Пока код исправлял под вашу форму, вы уже успели меня процитировать...=)
>Тока я не хочу, чтобы пароль светился в адресной строке и был виден!
>Какой такой прок от такой админки?

Ну если рядом с вами стоит какой-нибудь человек, подстматривающей за вашей адресной строкой =), то этот способ не подходит...А вообще вам похоже необходимы сессии..Правда я только начал изучать PHP, пока в них у меня не было надобности...

Могу только сказать, что про сессии написано тут: http://softtime.ru/bookphp/gl8_1.php

   
 
 автор: Loki   (18.01.2006 в 21:12)   письмо автору
 
   для: Аня   (18.01.2006 в 19:38)
 

Передавать данные между страницами можно через POST, GET, сессии или куки - последние два вам должны подойти.

   
Rambler's Top100
вверх

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