оочень нужен скрипт PHP следующего характера. Простая авторизация: 2 поля Логин пароль Кнопка войти. Проверяет данные через БД. (БД: таблица: user и pass) Если введено верно: открывает данную страницу(которая защищена) Если не верно: выводит сообщение: доступ закрыт и типа этого Спасибо заранее
[ PHP: <?php include("header.php"); error_reporting(0); session_start(); foreach($_POST as $x => $y) { $x[$y] = mysql_escape_string($x[$y]); } $query = mysql_query("SELECT `name`,`pass` FROM `users` WHERE `name`='".$_COOKIE['name']."' AND `pass`='".$_COOKIE['pwd']."'"); if(mysql_num_rows($query)) $reged = 1; if($reged) { echo "Хм...разве вы уже не вошли?"; } else { echo '<div align="center"> <form method="post"> <table> <tr> <td>Логин</td> <td><input type="text" value="" name="name"></td> </tr> <tr> <td>Пароль</td> <td><input type="password" value="" name="pass"></td> </tr> <tr> <td></td> <td><input type="submit" value="Войти" name="sub"></td> </tr> </table> </form> </div>'; } if($_POST['sub']) { $password = md5($_POST['pass']); $error = ''; if (!get_magic_quotes_gpc()) { $_POST['name'] = mysql_escape_string($_POST['name']); } if(empty($_POST['name']) || empty($_POST['pass'])) { $error = 'Вы не ввели логин или пароль'; } if($error) { echo "<div align='center'><div class='error'>".$error."</div></div>"; } else { $query = "SELECT `name`, `pass` FROM `users` WHERE `name`='".$_POST['name']."' AND `pass`='".$password."'"; $result = mysql_query($query); if(mysql_num_rows($result)) { $row = mysql_fetch_array($result); setcookie('name', $row['name'], time() + 86400 * 30 * 12); setcookie('pwd', $row['pass'], time() + 86400 * 30 * 12); echo "<div align='center'><div class='complete'>Вы успешно зашли</div></div>"; } else { echo "<div align='center'><div class='error'>Логин или пароль не верен.</div></div>"; } } } ?>
PHP: <?php if(isset($_POST['go'])) { $tlogin = trim($_POST['login']); $tpass = trim($_POST['pass']); if(empty($tlogin) or empty($tpass)) { echo"Не заполнено поле логин или пароль"; } else { #тут можно замутить проверку на спецсимволы $login = $_POST['login']; $pass = $_POST['pass']; //$pass = md5($pass); можно и зашифровать $query = mysql_query("SELECT * FROM `users` WHERE `user` = '".$login."' and `pass` = '".$pass."'"); if(mysql_num_rows($query) == 0) { echo"БЛА-БЛА-БЛА"; } else { /* Твоя защищённая страница */ } } } else { ?> Введите логин и пароль: <form action method="post"> <input type="text" name="login" /> <input type="password" name="pass" /> <input type="submit" name="go" /> </form> <?php } ?> Типа такого, писал сходу поэтому не тестил, но по идее должно работать....плюс ко всему рекомендую использовать сессии или куки. Вводимые данные не проверяются, используй mysql_real_escape_string() и htmlspecialchars() и пароль шифруй хотя бы в md5() Удачи
В обоих случаях при зоходи на этот скрипт выводит следующие: мой_логин@esoo.ru li-xkfJo мой_логин bZ62vg-S ykafxtaa
Вот подправил немного скрипт: PHP: <?php @session_start(); $dbhost = "localhost"; #Имя пользователя БД $dbuser = "root"; #Пароль пользователя $dbpass = ""; #Имя БД $dbname = "db"; mysql_connect("$dbhost", "$dbuser", "$dbpass") or die("Неконнект"); mysql_select_db("$dbname") or die("Неконнект"); if(isset($_POST['go'])) { $tlogin = trim($_POST['login']); $tpass = trim($_POST['pass']); if(empty($tlogin) or empty($tpass)) { echo"Не заполнено поле логин или пароль"; } else { //$pass = md5($pass); можно и зашифровать if (!get_magic_quotes_gpc()) { $login = htmlspecialchars(mysql_escape_string($_POST['login'])); $pass = htmlspecialchars(mysql_escape_string($_POST['pass'])); } else { $login = htmlspecialchars($_POST['login']); $pass = htmlspecialchars($_POST['pass']); } $query = mysql_query("SELECT * FROM `users` WHERE `user` = '".$login."' and `pass` = '".$pass."'"); if(mysql_num_rows($query) == 0) { echo"БЛА-БЛА-БЛА"; } else { echo"ПривеД"; /* Твоя защищённая страница */ } } } else { ?> Введите логин и пароль: <form action method="post"> <input type="text" name="login" /><br /> <input type="password" name="pass" /><br /> <input type="submit" name="go" /> </form> <?php } ?> У меня всё прекрасно работает...банальный пример таблицы Code: CREATE TABLE `users` ( `id` int NOT NULL PRIMARY KEY AUTO_INCREMENT , `user` text NOT NULL , `pass` text NOT NULL ) ENGINE = MYISAM DEFAULT CHARSET = cp1251 insert into `users` value(null, '123', '12345') Логин 123, пасс 12345 Опять же пасс не стал шифровать. З.Ы. Исис ну ты и намудрил)) Ему ж простой код надо. И кстати откуда в твоём скрипте взялся header.php, он вроде такого не заказывал)))
Если надо могу скинуть скрипт, но БД в текстовом файле! (У меня с MySQL не получается подружиться...)