Здравствуйте, хотелось бы, чтобы вы проверили мой скрипт на граммотность и работоспособность.
| Код | <? session_start(); ?> <html> <head> <title>Login/Registration</title> <link rel="stylesheet" href="style.css" type="text/css" media="all"> <meta http-equiv="content-type" content="text/html; charset=windows-1251"> <? If ($_GET['act'] == "refresh") { $url = "index.php"; echo "<meta http-equiv='refresh' content='1; url=$url'>"; ## выполняем редирект при условие, что act равен "refresh" $redirectext = "Обновление, сейчас вы будете перемещены!"; ## текст сообщения } ?> </head> <body>
<?
If ($_GET['act'] == "logout" ) { ## проверяем если нажали ссылку выйти, то $_SESSION['logged'] = "off"; ## прописываем в сессию что мы не залогиненны! }
function login() { ## функция авторизации
$hostname = "localhost"; $username = "root"; $password = ""; $dbName = "test"; $userstable = "members";
$loginname = $_POST['loginname']; ## поле из формы $passw = $_POST['password']; ## поле из формы
mysql_connect($hostname,$username,$password) OR DIE("Не могу создать соединение "); ## конект к базе mysql_select_db($dbName) or die(mysql_error()); $querylogin = "SELECT * FROM $userstable WHERE `login` = '".addslashes($loginname)."'"; ## запрос $res = mysql_query($querylogin); ## выполняем запрос $number = mysql_num_rows($res); ## получаем кол. строк $massive = mysql_fetch_array($res); ## получаем данные из массива
If ($number == "1") { ## если номер строки равен 1, то If ($massive['password'] == $passw ) { ## проверяем пароль и echo "Всё ок!"; ## выводим сообщение $_SESSION['logged'] = "on"; ## устанавливаем позицию того, что мы залогинились } else echo "<center>Пароль введён не верно!</center>"; } else echo "<center>Пользователя с именем <b>".$loginname."</b>, не существует!</center>";
}
function register() { ## функция регистрации
$hostname = "localhost"; $username = "root"; $password = ""; $dbName = "test"; $userstable = "members";
$reglogin = $_POST['reglogin']; ## поле из формы $regpassword = $_POST['regpassword']; ## поле из формы
mysql_connect($hostname,$username,$password) OR DIE("Не могу создать соединение "); mysql_select_db($dbName) or die(mysql_error()); $query = "SELECT `login` FROM $userstable WHERE `login` = '".addslashes($loginreg)."'"; $res = mysql_query($query) or die(mysql_error()); $number = mysql_num_rows($res); ## кол. строк в базе
If (!empty($_POST['reglogin']) && !empty($_POST['regpassword'])) { ## если данные не пусты и If ($number == 0) { ## если логин свободен, то... echo "Всё ок!"; $queryreg = "INSERT INTO $userstable ( `login` , `password` ) VALUES ('$reglogin', '$regpassword')"; mysql_query($queryreg) or die(mysql_error()); ## и вставляем данные в базу } else { echo "Данный логин уже занят"; } } else { echo "Одно из полей не заполнено!"; } }
?>
<table border="0" cellspacing="0" cellpadding="0" style="width:100%; height:100%"> <tr style="height:26px"> <td class="menu"> <div style="float:left; margin-left:5px"> <a href='index.php'>Главная</a> <? If ($_SESSION['logged'] == "on") { ## если мы залогинились то ссылка: echo "<a href='index.php?act=logout'>Выход</a> "; } else ## иначе { echo "<a href='index.php?act=registration'>Регистрация</a> "; } ?> </div> <div style="float:right"> <a href='index.php?act=refresh'>Обновить страницу</a> </div> </td> </tr> <tr> <td>
<?
If (isset($_POST['login'])) { ## если нажата кнопка Вход, то выполняем функцию входа login(); }
If (isset($_POST['register'])) { ## если нажата кнопка Зарегистрация, то выполняем функцию соответственно register(); }
If ($_GET['act'] == "" or $_GET['act'] == "main" && $_SESSION['logged'] = "" or $_SESSION['logged'] = "off") { echo "<form action='index.php' method='post'> <table cellspacing=1 cellpadding=5 style='border: 1px solid #efefef; width:300px' align=center> <tr> <td colspan='2' bgcolor=\"#efefef\" style=\"height:30px\">Вход</td> </tr> <tr> <td width=70px bgcolor=\"fdfdfd\">Имя:</td> <td bgcolor=\"f7f7f7\"><input type=\"text\" name=\"loginname\" style='width:200px; height:20px'></td> </tr> <tr> <td bgcolor=\"fdfdfd\">Пароль:</td> <td bgcolor=\"f7f7f7\"> <input type=\"password\" type=\"text\" name=\"password\" style='width:200px; height:20px'> </td> </tr> <tr> <td bgcolor=\"f7f7f7\" colspan=\"2\" align=\"right\"> <input type=\"submit\" name=\"login\" value=\"Войти\" class=\"button\"> </td> </tr> </table> "; } else
If ($_GET['act'] == "" or $_GET['act'] == "main" && $_SESSION['logged'] = "on") { echo "Главная"; }
If ($_GET['act'] == "registration") { echo "<form action='index.php?act=register' method='post'> <table cellspacing=1 cellpadding=5 style='border: 1px solid #efefef; width:300px' align=center> <tr> <td colspan='2' bgcolor=\"#efefef\" style=\"height:30px\">Регистрация</td> </tr> <tr> <td width=70px bgcolor=\"fdfdfd\">Имя:</td> <td bgcolor=\"f7f7f7\"><input type=\"text\" name=\"reglogin\" style='width:200px; height:20px'></td> </tr> <tr> <td bgcolor=\"fdfdfd\">Пароль:</td> <td bgcolor=\"f7f7f7\"> <input type=\"password\" type=\"text\" name=\"regpassword\" style='width:200px; height:20px'> </td> </tr> <tr> <td bgcolor=\"f7f7f7\" colspan=\"2\" align=\"right\"> <input type=\"submit\" name=\"register\" value=\"Зарегистрировать\" class=\"button\"> </td> </tr> </table> "; }
If ($_GET['act'] == "refresh") { echo "<center>".$redirectext."</center>"; } ?> </td> </tr> </table>
</body> </html>
|
Там наверняка куча ошибок и я не знаю как их исправить, и у меня проблема с редиректом, нужно чтобы возращался туда откуда пришёл.
СУВ. |