Jump to content
  • 0

Пожалуйста, помогите с парольным доступом!


AndyMac
 Share

Question

Приветствую, не могли бы вы помочь, у меня первый заказ на веб сайт, до этого занимался созданием сайтов,но тут придумал уже дизайн, сделал макет, договарился с людьми и заступорился на такой вещи как парольный доступ, покапался на этом сайте. нашел код, но он у меня чтото не работает, при любом пароле пускает! не могли бы вы помось с кодом! нужно чтобы был один пароль ну и как на картинке В общем (она увеличена, сам пароль находиться в верхнем правом углу) ОГРОМНОЕ СПАСИБО ЗАРАНЕЕ! ПОЖАЛУЙСТА помогите!

post-7493-1219146276_thumb.jpg

Link to comment
Share on other sites

16 answers to this question

Recommended Posts

  • 0

Вот пример:

Страница с формой:

<form action="login.php" method="post">
<input type="password" name="password" size="20">
<input type="submit" value="Вход">
</form>

login.php - обработчик:

<?php
//Database Information

$dbhost = "хост";
$dbname = "база";
$dbuser = "пользователь";
$dbpass = "пароль";

//Connect to database

mysql_connect($dbhost $dbuser,$dbpass);
mysql_select_db($dbname);

session_start();
$password = md5($_POST['password']);

$result = mysql_query("SELECT password FROM users");
$row=mysql_fetch_array($result);
if(md5($_POST['password'])===$row['password'])
{
$_SESSION['имя сессии'];
print "Вы успешно вошли."
}
else
{
print "Неправиильный пароль."
}

?>

Link to comment
Share on other sites

  • 0

2 AndyMac. по верстке формы. простейший вариант:

1.берете div задаете ему некоторый padding, заливаете background-color оранжевым, туда же в background div'а репитите по горизонтали полоску градиентного фона шириной один пиксель.

2. помещаете в div форму с input type="password" потом картинку с надписью "ВХОД". на картинку вешаете событие onclick="this.parentNode.submit()"

3. в тотже div помещаете соответсвующую надпись с ссылкой.

И наверно все...

<div>
<form action="[myaction script]">
<input type="password" value="12345" />
<img src="" border="0" alt="вход" onclick="this.parentNode.submit();"/>
</form>
Некоторый текст <a href="">вход</a>
</div>

Если JScript не предполагает страница, то можно использовать вариации на тему style + button:

<button type="submit"><img src="" /></button> или любые другие :D

Link to comment
Share on other sites

  • 0
У меня такой пример есть. Только он модифицирован для работы с БД, но я его слегка подредактировал, чтобы логин и пароль прямо в коде были.
<?php

// $_SESSION['login'] = 0 - Имя пользователя и логин не совпадают с эталоном
// $_SESSION['login'] = 1 - Вход прошел успешно
// $_SESSION['login'] = 2 - Пользователь N раз неверно ввел пароль, доступ блокируется на M сек.

$numEnter = 3; // Сколько раз можно неправильно вводить пароль
$timeDenied = 20; // Время в секундах, на сколько блокируется сайт, если пароль n раз введен неверно
$msg = ''; // Текст служебных сообщений на странице
$user = "Vasya"; // Имя пользователя
$pass = "pupkin"; // Пароль


// Если данные формы отправлены на сервер
if (isset($_POST['user']) && isset($_POST['pass'])) {

// Сравниваем введенные данные с корректными значениями
if ($user == $_POST['user'] && $pass == $_POST['pass']) {

// Данные совпали, произошел успешный вход в систему

$_SESSION['login'] = 1;
$_SESSION['user'] = $user;
// Переходим к основному файлу

if ($_SERVER['QUERY_STRING'] != "")
header ("Location: /?" . $_SERVER['QUERY_STRING']);
else
header ("Location: /");
} else {

// Фиг вам, имя пользователя или пароль ошибочный
$_SESSION['login'] = 0;
// Увеличиваем на единицу счетчик несанкционированных входов
$_SESSION['enter'] ++;
// Фиксируем время входа
$_SESSION['time'] = time();
}

}
// Форма еще не отправлялась, счетчик несанкционированных входов равен нулю
else $_SESSION['enter'] = 0;

// Ага, пароль ввели N раз неправильно или страницу перезагрузили, когда она была заблокирована
if ((isset($_SESSION['enter']) && $_SESSION['enter'] >= $numEnter) || (isset($_SESSION['login']) && $_SESSION['login'] == 2)) {

// Вышло время блокировки или нет
if (time() - $_SESSION['time'] >= $timeDenied) {

// Да, время блокировки прошло
$_SESSION['login'] = 0;

} else {

// Нифига, либо время блокировки не вышло, либо N раз ввели пароль неверно
$msg = '<p>Имя пользователя и пароль введены неверно.<p>
<p>Вход заблокирован на ' . $timeDenied . ' сек.</p>';
$_SESSION['login'] = 2;
}
}

if (!isset($_SESSION['login']) || $_SESSION['login'] == 0)

// Отображаем форму ввода логина и пароля

$msg = '<form action="" method="post">
<div id="main">
<div>
<p>Имя:
<input type="text" name="user" id="user" maxlength="20" /></p>
<p>Пароль:
<input type="password" name="pass" id="pass" maxlength="20" /></p>
<p><input type="submit" value="Вход" /></p>
</div>
</div>
</form>';

?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<?php
if (isset($_SESSION['login']) && $_SESSION['login'] == 2) echo '<meta http-equiv="refresh" content="' . $timeDenied .'; URL=" />' . "\n";
?>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251" />

<title>Панель администрирования</title>
<style type="text/css">
body {
font-family: Arial, sans-serif;
font-size: 10pt;
}

#main {
background: #B77430;
border: 2px solid #3A2D0B;
width: 200px;
margin: 150px auto 0;
}

#main div {
background: #EFD6B3;
border: 2px solid #3A2D0B;
margin: 10px;
padding: 5px;
}
p {
margin: 0 0 1em;
}

input {
width: 100%;
}

input#user, input#pass {
width: 98%;
}
</style>
<script type="text/javascript">
function setfocus() {
// Устанавливаем фокус в первое поле формы
if(document.getElementById("user")) document.getElementById("user").focus();
}
</script>
</head>

<body onload="setfocus()">

<?php
echo $msg;
?>

</body>
</html>

Link to comment
Share on other sites

  • 0

Дело в том что я не знаю как сделать форму в которую вводить данные, сделал только кнопку. Я пробовал внедрить код с "div", предложенный выше но чтото не получилось я сделал вот так, может я не правильно его изменил, но он не исправно работает

 <form action="index1.htm">
<input type="password" value="12345" />
<img src="enter.png" border="0" width="71" height="24" alt="вход" onclick="this.parentNode.submit();"/>
</form>
Некоторый текст <a href="">вход</a>

post-7493-1219302134_thumb.png

Link to comment
Share on other sites

  • 0

Может что нить с этим придумать, только я не знаю куда и как его вставлять

   
var pass = prompt("Enter the Password:", "");
if (pass == null)
window.location = "bad.html";
else if (pass.toLowerCase() == "password")
window.location = "ok.html";
else
window.location = "bad.html";

Link to comment
Share on other sites

  • 0

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

Link to comment
Share on other sites

  • 0

Из личных сообщений:

Здравствуйте, я на счет парольного входа на сайт. Я пробовал внедрить код с "div", предложенный вами но чтото не получилось я сделал вот так, может я не правильно его изменил, но он не исправно работает,

<form action="index1.htm">

<input type="password" value="12345" />

<img src="enter.png" border="0" width="71" height="24" alt="вход" onclick="this.parentNode.submit();"/>

</form>

Некоторый текст <a href="">вход</a>

Я вот так пишу, и у меня любой пароль вводишь и оно входит, почему так происходит?

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

Link to comment
Share on other sites

  • 0

Хорошо я понял, ни в JS ни на Php я не напишу, ну а где в Front Page or Dreamveawer найти менюшку чтобы поле для ввода пароля всплывало в новом окне (стандартно), я где то такое видел но не помню

Link to comment
Share on other sites

  • 0

Я понял! вот

<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<title>Новая страница 1</title>
</head>

<body>
<form action="think.php"
<input typе="pаsswоrd" nаmе="оne">
<input type="submit" value="Вход">
</form>
</body>

</html>

<?php
$pass = $_GET['one'];
if ($pass == 'andy')
{
header('Location: andy.html');
} else {
header('Location: index.html');
}
?>

Просто я на народе php хотел проверить а он его вроде как не поддерживает....

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. See more about our Guidelines and Privacy Policy