Модераторы: skyboy, MoLeX, Aliance, ksnk

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Password, Помогите пожалуста... 
:(
    Опции темы
Vco
  Дата 21.2.2003, 02:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 311
Регистрация: 13.2.2003
Где: Москва

Репутация: нет
Всего: нет



Люди, хочу сделать простенький скрипт. Скрипт должен делать вот что:
1) в файле пишем <? include('pass.php') ; echo $form; ?>. Ну в любом файле
2)Сам скрипт, должен перед загрузкой страницы выдать 2 формы, имя и пароль, если пароль неправильный типа написать что либо, и всё (т.е. страница незагружаеться), а если правильно перйти на страницу в которой ставлен скрипт. Скрипт примерно такой:
Код

<?
$name1"user"; \имя
$pass1"pass"; \пароль
$form="            \ Сама форма, т.е. два поля, имя и пароль
<center>
<font size=3 face=verdana color=red><b>Введите данные:</b></font>
<form method=\"post\" action=\"pass.php\">
<p><font size=\"3\" face=\"Verdana\">имя:</font></p>
<input type=\"text\" name=\"user\" size=\"30\">
<p><font size=\"3\" face=\"Verdana\"> пароль:</font></p>
<input type=\"password\" name=\"pass\" size=\"30\"><br>
<input type=\"Submit\" name=\"submit\" value=\"Вход\">
</form>
</center>
";
if ($name==$name1 && $pass==$pass1)
{
[B]Что тут , чтобы прододжить загрузку?[/B]
}
else
{
[B]И что тут, чтобы её остановить?[/B]
echo "Облом, сюда нельзя!";
}
?>

вот вроде того, может что то недописал, просто там мудрил =))
Вот как мне сделать, чтоб при загрузке отображалась сначала $form а потом проверка шла, чё то непойму. У меня сразу пишет Облом, сюда нельзя. Ну понятно, вроде так и должно быть, а как мне зделать то что хочу?
user posted image



--------------------
Я всегда где-то рядом...! user posted image
PM MAIL WWW ICQ   Вверх
Kefir
Дата 21.2.2003, 03:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


«Hakuna Matata»
***


Профиль
Группа: Комодератор
Сообщений: 1878
Регистрация: 25.1.2003
Где: Tampere, Suomi

Репутация: 13
Всего: 87



Код

<?php
$pass = "pass";
$log = "log";
if($doGo)
{
   if($user==$log && $pass==$pass)
   {
         //haha.... delaj vsjo 4to ho4esh...........
    }
    else { /*haha.... N/A! */ }
}
else
{
    echo "
<form method=\"post\" action=\"$PHP_SELF\">
Name:<input type=\"text\" name=\"user\" size=\"30\"><br>
Pass:<input type=\"password\" name=\"pass\" size=\"30\"><br>
<input type=\"Submit\" name=\"doGo\" value=\"Вход\">
</form>
}

вроде так.

Это сообщение отредактировал(а) Kefir - 21.2.2003, 03:55
PM MAIL WWW Skype   Вверх
Vco
Дата 21.2.2003, 08:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 311
Регистрация: 13.2.2003
Где: Москва

Репутация: нет
Всего: нет



А поподробнее можно? Во первых всё равно чё то неполучаеться, во торых что за $togo? не понимаю чё то... hmmm.gif


--------------------
Я всегда где-то рядом...! user posted image
PM MAIL WWW ICQ   Вверх
Kefir
Дата 21.2.2003, 18:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


«Hakuna Matata»
***


Профиль
Группа: Комодератор
Сообщений: 1878
Регистрация: 25.1.2003
Где: Tampere, Suomi

Репутация: 13
Всего: 87



Код

<html>
<body>
<?php
$passw = "pass";
$log = "log";
if($doGo)
{
if($user==$log && $pass==$passw)
{
 echo "Logged!";
}
else { echo "N/A!"; }
}
else
{
   echo "
<form method=\"post\" action=\"$PHP_SELF\">
Name:<input type=\"text\" name=\"user\" size=\"30\"><br>
Pass:<input type=\"password\" name=\"pass\" size=\"30\"><br>
<input type=\"Submit\" name=\"doGo\" value=\"&#194;&#245;&#238;&#228;\">
</form>";
}
?>
</body>
</html>


Ну, знаешь, мог бы сам найти в скрипте ошибку. Ладно. Не важно. Теперь это дело работает 100% - у себя проверял. $doGo - это имя кнопки сабмита. Если она была нажата, то выводится то что находится в блоке if($doGo){...}. Если же не нажата, то просто выводим форму.
PM MAIL WWW Skype   Вверх
Vco
Дата 21.2.2003, 20:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 311
Регистрация: 13.2.2003
Где: Москва

Репутация: нет
Всего: нет



Работает то оно работает, а вот включаю например в любой другой файл:
<html>
....
<? include ('pass.php'); ?>
Строка
....
</html>
Так, выводиться 2 поля, и эта строка. А я хочу, чтобы сначала эта форма выводилась, а потом (если всё правильно ввёл) загружалась сама страница


--------------------
Я всегда где-то рядом...! user posted image
PM MAIL WWW ICQ   Вверх
Kefir
Дата 22.2.2003, 02:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


«Hakuna Matata»
***


Профиль
Группа: Комодератор
Сообщений: 1878
Регистрация: 25.1.2003
Где: Tampere, Suomi

Репутация: 13
Всего: 87



Я долго понимал что ты хотел сказать, и... вроде понял что ты имеешь в виду, а вообще в следующий раз объясняй более развёрнуто, хорошо?
Значит я так понял что ты пихаешь весь этот исходник в некий файл pass.php и в другом файле делаешь его просто запрашиваешь? Если да, то всё работает. На всякий случай вот тебе листинги:
pass.php:
Код
<?php
$passw = "pass";
$log = "log";
if($doGo)
{
if($user==$log && $pass==$passw)
{
echo "Logged!";
}
else { echo "N/A!"; }
}
else
{
  echo "
<form method=\"post\" action=\"$PHP_SELF\">
Name:<input type=\"text\" name=\"user\" size=\"30\"><br>
Pass:<input type=\"password\" name=\"pass\" size=\"30\"><br>
<input type=\"Submit\" name=\"doGo\" value=\"&#194;&#245;&#238;&#228;\">
</form>";
}
?>


somefile.php:
Код
<html>
<head>
<title>SOMEFILE.php</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body>
<?php include("pass.php"); ?>
</body>
</html>

PM MAIL WWW Skype   Вверх
Vco
Дата 22.2.2003, 03:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 311
Регистрация: 13.2.2003
Где: Москва

Репутация: нет
Всего: нет



somefile:
[CODE]
<html>
<head>
<title>SOMEFILE.php</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body>
<?php include("pass.php"); ?>
<h1>Тут секретная информация!</h1>
</body>
</html>
[CODE]
Если я запущу этот файл, будут 2 поля, и надпись : тут секретная информация , а мне надо, что бы сначало именно проверка пароль т.е. эта форма которая в pass.php, или так нельзя?


--------------------
Я всегда где-то рядом...! user posted image
PM MAIL WWW ICQ   Вверх
Kefir
Дата 22.2.2003, 19:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


«Hakuna Matata»
***


Профиль
Группа: Комодератор
Сообщений: 1878
Регистрация: 25.1.2003
Где: Tampere, Suomi

Репутация: 13
Всего: 87



А, понял.... только это я не знаю как..... а зачем так сложно вообще? Это же бессмысленно.... на мой взгляд.
PM MAIL WWW Skype   Вверх
Vco
Дата 22.2.2003, 22:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 311
Регистрация: 13.2.2003
Где: Москва

Репутация: нет
Всего: нет



не, ну почему? поучиться крутой, скрипт, стоит прописать 1 строчку <? include('pass.php'); ?> и на странице уже защита... неплохо, малый размер (1 файл) ...чем например скрипт, который переадресует пользователя взависимости от набранных данных...ну вообщето хм а если так сделать... smile.gif
(скрипт сам)
Код

$pass="Форма с паролем";

$html="
<html>
<head>
....
</head>
<body>
....
</body>
</html>
";
echo $pass;
if ($password!=='123') {
echo "Облом";
}
else
{
echo $html;

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




--------------------
Я всегда где-то рядом...! user posted image
PM MAIL WWW ICQ   Вверх
y.s.grin
Дата 6.3.2003, 15:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 35
Регистрация: 5.3.2003

Репутация: нет
Всего: нет



А, что если делать так открывать скрипт с проверкой пароля (если переданный пароль отсутствует), как только будет загружена запароленная страница, в скрипте форма, и если пароль совпадает, то header ("Location: страница.php"). И там ещё раз проверить, и если не совпадает, то header ("Location: пароль.php").
PM MAIL ICQ   Вверх
IZ@TOP
  Дата 6.3.2003, 17:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Панда-бир!
****


Профиль
Группа: Участник
Сообщений: 4795
Регистрация: 3.2.2003
Где: Бамбуковый лес

Репутация: 44
Всего: 73



Проще сделать так:
Код

<?php

function print_form()
{
echo "
<form method='post' action='$PHP_SELF'>
Name:<input type='text' name='login' size='30'><br>
Pass:<input type='password' name='pwd' size='30'><br>
<input type='Submit' name='doGo' value='go login'>
</form>";
<?

$fpass = $HTTP_POST_VARS['pwd'];
$flogin = $HTTP_POST_VARS['login];

$pass = "пароль";
$login = "имя";

if($pass == $fpass && $login == $flogin)
{

   echo "пароль принят";
   $lgd = "true";

}else{

   print_form();
   $lgd = "false"

}

В файле который хочешь закрыть от открытого просмотра
впиши проверку на переменную $lgd ... biggrin.gif
По смыслу должно получится ... confused.gif



--------------------
Один из розовых плюшевых-всадников апокалипсиса... очень злой...

Семь кругов ада для новых элементов языка
Мои разрозненные мысли
PM MAIL WWW ICQ Skype GTalk   Вверх
Cepera
Дата 6.3.2003, 20:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


PHPexp
****


Профиль
Группа: Экс. модератор
Сообщений: 2146
Регистрация: 25.3.2002
Где: Russia, Samara

Репутация: 1
Всего: 7



ну что это за аутенфикационная система без сессий?


--------------------
I know it is heavy for reading, but I know you will read it anyway...
PM MAIL WWW ICQ   Вверх
IZ@TOP
Дата 6.3.2003, 21:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Панда-бир!
****


Профиль
Группа: Участник
Сообщений: 4795
Регистрация: 3.2.2003
Где: Бамбуковый лес

Репутация: 44
Всего: 73



Цитата
ну что это за аутенфикационная система без сессий?


Это для тех кто их еще не изучил smile.gif


--------------------
Один из розовых плюшевых-всадников апокалипсиса... очень злой...

Семь кругов ада для новых элементов языка
Мои разрозненные мысли
PM MAIL WWW ICQ Skype GTalk   Вверх
y.s.grin
Дата 9.3.2003, 05:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 35
Регистрация: 5.3.2003

Репутация: нет
Всего: нет



Цитата(Iz @ 6.3.2003, 09:58)
В файле который хочешь закрыть от открытого просмотра
впиши проверку на переменную $lgd ...  biggrin.gif

Ну так вот. Это не очень хорошо потому, что такую проверку можно обойти. Любую переменную можно указать через адресную строку и $lgd можно ввести в строке запроса.

А насчёт сессий. Без них, конечно, плохо, но сначало-то скрипт проверки написать надо нормальный...
PM MAIL ICQ   Вверх
Devorior
Дата 10.3.2003, 09:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 559
Регистрация: 1.8.2002
Где: Обнинск

Репутация: 1
Всего: 3



Цитата
Любую переменную можно указать через адресную строку

а POST-переменную?
PM MAIL ICQ   Вверх
Страницы: (3) Все [1] 2 3 
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0626 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.