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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Проверка скрипта 
:(
    Опции темы
Guest
Дата 19.9.2005, 18:46 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











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

Код

<?
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>&nbsp;&nbsp;
 <?
 If ($_SESSION['logged'] == "on") { ## если мы залогинились то ссылка:
 echo "<a href='index.php?act=logout'>Выход</a>&nbsp;&nbsp;";
 }
 else ## иначе
 {
 echo "<a href='index.php?act=registration'>Регистрация</a>&nbsp;&nbsp;";
 }
 ?>
 </div>
 <div style="float:right">
 <a href='index.php?act=refresh'>Обновить страницу</a>&nbsp;&nbsp;
 </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>


Там наверняка куча ошибок и я не знаю как их исправить, и у меня проблема с редиректом, нужно чтобы возращался туда откуда пришёл. smile

СУВ.
  Вверх
PARROT
Дата 19.9.2005, 19:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 2339
Регистрация: 5.1.2005
Где: Спб-ЦарьГрад

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



по поводу переадресации:
Код

If ($_GET['act'] == "refresh") {
header('location: index.php');
exit;
}



--------------------
Безумный утешается прошедшим, слабоумный - будущим, умный - настоящим!
PM MAIL   Вверх
Guest
Дата 19.9.2005, 19:56 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











PARROT, это не меняет вопроса, просто переадресация средствами php, а нужно чтобы где была нажата ссылка туда пускай после и возратится, но при этом, это метод refresh а не redirect.
  Вверх
Render
Дата 19.9.2005, 22:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Значит скрипт обработчик должен быть в файле формы и в зависимости от действии пользователя показывались ошибки, сама форма или результат выполнения передачи данных. Ну и собственно форма должна передавать данные сама себе. smile
PM   Вверх
Guest
Дата 20.9.2005, 07:32 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Render ты сам-то понял что сказал? smile
  Вверх
Guest_Render
Дата 20.9.2005, 08:42 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Извиняй читаю между постов...
  Вверх
Guest
Дата 20.9.2005, 12:20 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Я так и понял. smile
  Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "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.0480 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


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

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