Пользователь
Профиль
Группа: Форумчанин
Сообщений: 52
Пользователь №: 31749
На форуме: 12 лет, 10 месяцев, 4 дня
Карма: 1
|
Вот скрипт...Подскажите пожалуйста, почему не происходит авторизация?Очень нужна ваша помощь...Заранее хочу сказать, что безопасность не имеет значения, т.к скрипт не будет работать в интернете...Заранее большое спасибо <?php session_start(); include("inc/top.inc"); ?>
<?php include ('mysql.php'); if(!isset($_SESSION['user_id'])) { if(isset($_POST['auth_submit'])) { $login = $_POST['login']; $password = $_POST['password']; $login=mysql_real_escape_string($login); $password=mysql_real_escape_string($password); $query = "SELECT id_users, login, password FROM users WHERE login ='{$login}' AND password='{$password}' LIMIT 1"; $sql = mysql_query($query) or die(mysql_error()); if(mysql_num_rows($sql) > 0) { echo 'верный логин или пароль'; $auth = mysql_fetch_array($sql); $_SESSION['user_id'] = $auth['id_users']; } else { header("Refresh: 3; URL = table.php"); echo 'неверный логин или пароль'; } } else { include_once 'index.php'; echo ' <html> <body class="login" style="overflow: hidden;"> <div class="login-box"> <section class="portlet login-box-top"> <header> <h2 class="ac">Вход в админ панель</h2> </header> <section> <form id="form" name="avt" class="has-validation" action="index.php" method="post" style="margin-top: 30px"> <p style="margin-bottom: 30px"> <input type="text" id="login" class="full" value="" name="login" required="required" placeholder="Имя пользователя" /></p> <p style="margin-bottom: 30px"> <input type="password" id="password" class="full" value="" name="password" required="required" placeholder="Пароль" /></p> <footer class="ac"> <button class="button" type="submit" name="into" value="Вход">Войти</button> </footer> <br> </section> </section> </div> </form> </body> </html>'; } } else { include_once 'login_good.html'; } ?> Спустя 8 минут, 20 секунд (13.06.2012 - 08:32) 12345 написал(а): if(isset($_POST['auth_submit'])) { измени на if(isset($_POST['into'])) { Спустя 3 минуты, 19 секунд (13.06.2012 - 08:35) pretty_xai написал(а): Изменила...Все равно остается 'index.php'. Не могу понять в чем проблема.... Спустя 3 минуты, 3 секунды (13.06.2012 - 08:38) 12345 написал(а): а вообще лучше место этого $login = $_POST['login']; $password = $_POST['password']; $login=mysql_real_escape_string($login); $password=mysql_real_escape_string($password); $query = "SELECT id_users, login, password FROM users WHERE login ='{$login}' AND password='{$password}' LIMIT 1"; пиши так: $query = "SELECT id_users, login, password FROM users WHERE login ='".mysql_real_escape_string($_POST['login'])."' AND password='".mysql_real_escape_string($_POST['password'])."' LIMIT 1 "; Спустя 49 секунд (13.06.2012 - 08:39) 12345 написал(а): Цитата | Изменила...Все равно остается 'index.php'. Не могу понять в чем проблема.... |
В смысле??
Спустя 4 минуты, 11 секунд (13.06.2012 - 08:43) 12345 написал(а): И как у тебя эта страница называется??? index.php??? Спустя 51 секунда (13.06.2012 - 08:44) pretty_xai написал(а): Цитата | Изменила...Все равно остается 'index.php'. Не могу понять в чем проблема....
В смысле?? |
Ну при успешной авторизации должно переходить на страничку include_once 'login_good.html'; А оно также и остается на 'index. php'.... Спустя 1 минута, 29 секунд (13.06.2012 - 08:46) pretty_xai написал(а): Цитата | И как у тебя эта страница называется??? index.php??? |
Да. И форма также остается...
Спустя 11 минут, 21 секунда (13.06.2012 - 08:57) 12345 написал(а): попробуй этот код <?php session_start(); include("inc/top.inc");
include ('mysql.php'); if(!isset($_SESSION['user_id'])) { if(isset($_POST['into'])) { $query = "SELECT id_users, login, password FROM users WHERE login ='".mysql_real_escape_string($_POST['login'])."' AND password='".mysql_real_escape_string($_POST['password'])."' LIMIT 1 ";
$sql = mysql_query($query) or die(mysql_error());
if(mysql_num_rows($sql) > 0) { echo 'верный логин или пароль'; $auth = mysql_fetch_array($sql); $_SESSION['user_id'] = $auth['id_users']; } else { header("Refresh: 3; URL = table.php"); echo 'неверный логин или пароль'; }
} else { include_once 'index.php'; echo ' <html> <body class="login" style="overflow: hidden;"> <div class="login-box"> <section class="portlet login-box-top"> <header> <h2 class="ac">Вход в админ панель</h2> </header> <section> <form id="form" name="avt" class="has-validation" action="index.php" method="post" style="margin-top: 30px"> <p style="margin-bottom: 30px"> <input type="text" id="login" class="full" value="" name="login" required="required" placeholder="Имя пользователя" /></p> <p style="margin-bottom: 30px"> <input type="password" id="password" class="full" value="" name="password" required="required" placeholder="Пароль" /></p> <footer class="ac"> <button class="button" type="submit" name="into" value="Вход">Войти</button> </footer> <br> </section> </section> </div> </form> </body> </html>'; } } else { include_once 'login_good.html'; }
?> Что пишет??? Если что верно введены, то попробуй страницу перезагрузить Спустя 10 минут, 20 секунд (13.06.2012 - 09:07) pretty_xai написал(а): При этом коде теперь даже не отображается, и что все правильно введено нет... А вот с предыдущим все работает...
Подскажите пожалуйста)) Спустя 5 минут, 21 секунда (13.06.2012 - 09:13) 12345 написал(а): в конце место include_once 'login_good.html'; напиши echo "АВТОРИЗОВАНЫ"; и попробуй зайти Спустя 11 минут, 26 секунд (13.06.2012 - 09:24) pretty_xai написал(а): Пишет авторизованы, только как сделать так, чтобы после авторизации подключала другую страничку??? Спустя 5 минут, 34 секунды (13.06.2012 - 09:30) 12345 написал(а): чтоб перекидывало на другую страницу при правильном вводе данных? Спустя 2 минуты, 39 секунд (13.06.2012 - 09:32) pretty_xai написал(а): Все спасибо, все работает!!!!Огромное спасибо! Разобрались))) Спустя 1 минута, 44 секунды (13.06.2012 - 09:34) 12345 написал(а): Спустя 17 минут, 30 секунд (13.06.2012 - 09:52) linker написал(а): Была ошибка в условии, но раз разобрался, то ладно. Спустя 16 минут, 4 секунды (13.06.2012 - 10:08) pretty_xai написал(а): Да все так, просто ошибка была в файле login_good.html'.... А можно еще немножечко поприставать??? Теперь, если пользователь успешно авторизован, то вывести в табличку все записи, которые были сделаны этим пользователем... <?php include_once ('mysql.php'); session_start(); if (isset($_SESSION['user_id'])) { $query = "SELECT * FROM el_zhurnal WHERE 'id_users'==($_SESSION['user_id'])"; $result = mysql_query($query); print "<table width = '200' border = 5 class='sortable' id='t'>\n"; print "<tr>\n<th>Редакти ровать</th><th axis='num'>Дата неисправ ности</th><th>Время неисправ ности</th><th axis='str'>Ф.И.О.</th><th axis='num'>Номер ЛТОР</th><th>Наименование оборудования</th><th>Неисправность</th><th>Принятые меры</th><th>Результат</th><th axis='num'>№ служебной записки</th><th>Часть оборудования</th><th axis='num'>Дата устране ния</th><th>Время устране ния</th><th>Примечание</th>\n</tr>\n"; while ($row = mysql_fetch_array($result)) : print "<tr>\n"; print "<td>"."<a href='form_add.php'> Редактировать</a>"."</td>\n <td>".$row["neispr_date"]."</td>\n<td>".$row["neispr_time"]."</td>\n <td>".$row["fio"]."</td>\n<td>".$row["id_ltor"]."</td>\n<td>".$row["name_perif"]."</td>\n <td>".$row["name_neispr"]."</td>\n<td>".$row["meri"]."</td>\n <td>".$row["name_rezult"]."</td>\n <td>".$row["num_slyzh"]."</td>\n<td>".$row["part"]."</td>\n<td>".$row["ustr_date"]."</td>\n <td>".$row["ustr_time"]."</td>\n<td>".$row["primecanie"]."</td>\n"; print "</tr>\n"; endwhile; print "</table>"; mysql_close();
} else
echo 'записей нет'; ?> Выдает ошибку.... Спустя 32 секунды (13.06.2012 - 10:08) pretty_xai написал(а): Цитата | Была ошибка в условии, но раз разобрался, то ладно. |
А в каком условии была ошибка?
Спустя 13 минут, 2 секунды (13.06.2012 - 10:21) 12345 написал(а): Спустя 7 минут, 18 секунд (13.06.2012 - 10:29) pretty_xai написал(а): Точнее предупреждение и пустую таблицу..
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in Z:\home\localhost\www\studio980_\login_good.php on line 10 Спустя 1 минута, 20 секунд (13.06.2012 - 10:30) 12345 написал(а): Цитата | Цитата | Была ошибка в условии, но раз разобрался, то ладно. |
А в каком условии была ошибка?
|
вот в этом if(isset($_POST['auth_submit'])) { надо было так if(isset($_POST['into'])) { Спустя 4 минуты, 41 секунда (13.06.2012 - 10:35) 12345 написал(а): тут надо один =, == - это сравнение, которое здесь не к чему. $query = "SELECT * FROM el_zhurnal WHERE 'id_users'==($_SESSION['user_id'])";
измени на $query = "SELECT * FROM `el_zhurnal` WHERE `d_users`='".$_SESSION['user_id']."'"; Спустя 6 минут, 31 секунда (13.06.2012 - 10:41) pretty_xai написал(а): Эту строку $query = "SELECT * FROM el_zhurnal WHERE 'id_users'==($_SESSION['user_id'])"; изменила на эту $query = "SELECT * FROM el_zhurnal WHERE `id_users`='".($_SESSION['user_id'])."'"; (исправила имя переменной + скобочку ) и все равно ошибка Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in Z:\home\localhost\www\studio980_\login_good.php on line 10 Спустя 1 минута, 43 секунды (13.06.2012 - 10:43) 12345 написал(а): Спустя 3 минуты, 14 секунд (13.06.2012 - 10:46) pretty_xai написал(а): Та же ошибка... Извините, я уже наверное надоела, но очень надо разобраться... Спустя 3 минуты, 1 секунда (13.06.2012 - 10:49) 12345 написал(а): у тебя вообще таблица el_zhurnal есть? и в ней колонка id_users существует??? Спустя 1 минута, 54 секунды (13.06.2012 - 10:51) pretty_xai написал(а): Да, и табличка и колонка есть.... Спустя 4 минуты, 47 секунд (13.06.2012 - 10:56) 12345 написал(а): попрбуй место этого $query = "SELECT * FROM el_zhurnal WHERE 'id_users'==($_SESSION['user_id'])"; $result = mysql_query($query); написать это $result = mysql_query("SELECT * FROM `el_zhurnal` WHERE `id_users`='".$_SESSION[user_id]."' "); или так $result = mysql_query("SELECT * FROM `el_zhurnal` WHERE `id_users`='".$_SESSION['user_id']."' "); Спустя 2 минуты, 53 секунды (13.06.2012 - 10:59) pretty_xai написал(а): Ага, так стоп....таблица el_zhurnal есть, а вот колонки id_users - нет, зато есть колонка fio, в которой хранится ссылка на колонку fio в табличке users.. Как мне тогда правильно запрос написать??? Спустя 5 минут, 28 секунд (13.06.2012 - 11:04) 12345 написал(а): мдааа... в файле index.php измени $_SESSION['user_id'] = $auth['id_users']; на $_SESSION['fio'] = $auth['fio']; А в коде который выше, напиши в место $query = "SELECT * FROM el_zhurnal WHERE 'id_users'==($_SESSION['user_id'])"; $result = mysql_query($query); вот это $result = mysql_query("SELECT * FROM `el_zhurnal` WHERE `fio`='".$_SESSION['fio']."'");
Спустя 15 минут, 13 секунд (13.06.2012 - 11:19) pretty_xai написал(а): Что-то я совсем запуталась...Все изменила и в index.php в запросе добавила fio и все равно все та же ошибка..........
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in Z:\home\localhost\www\studio980_\login_good.php on line 11 Спустя 9 минут, 19 секунд (13.06.2012 - 11:29) inpost написал(а): pretty_xai Я не вижу измененного кода. Спустя 3 минуты, 22 секунды (13.06.2012 - 11:32) pretty_xai написал(а): Файл index.php <?php include ('mysql.php'); if(!isset($_SESSION['fio'])) { if(isset($_POST['into'])) { $query = "SELECT id_users, login, password, fio FROM users WHERE login ='".mysql_real_escape_string($_POST['login'])."' AND password='".mysql_real_escape_string($_POST['password'])."' LIMIT 1 ";
$sql = mysql_query($query) or die(mysql_error());
if(mysql_num_rows($sql) > 0) { echo 'верный логин или пароль'; $auth = mysql_fetch_array($sql); $_SESSION['fio'] = $auth['fio']; } else { header("Refresh: 3; URL = table.php"); echo 'неверный логин или пароль'; }
} else { include_once 'index.php'; echo ' <html> <body class="login" style="overflow: hidden;"> <div class="login-box"> <section class="portlet login-box-top"> <header> <h2 class="ac">Вход в электронный журнал</h2> </header> <section> <form id="form" name="avt" class="has-validation" action="index.php" method="post" style="margin-top: 30px"> <p style="margin-bottom: 30px"> <input type="text" id="login" class="full" value="" name="login" required="required" placeholder="Имя пользователя" /></p> <p style="margin-bottom: 30px"> <input type="password" id="password" class="full" value="" name="password" required="required" placeholder="Пароль" /></p> <footer class="ac"> <button class="button" type="submit" name="into" value="Вход">Войти</button> </footer> <br> </section> </section> </div> </form> </body> </html>'; } } else { include_once 'login_good.php'; }
?> и файл login_good.php<?php session_start(); include_once ('mysql.php'); if (isset($_SESSION['fio'])) { $result = mysql_query("SELECT * FROM `el_zhurnal` WHERE `fio`='".$_SESSION['fio']."'"); $result = mysql_query($query); echo $result; print "<table width = '200' border = 5 class='sortable' id='t'>\n"; print "<tr>\n<th>Редакти ровать</th><th axis='num'>Дата неисправ ности</th><th>Время неисправ ности</th><th axis='str'>Ф.И.О.</th><th axis='num'>Номер ЛТОР</th><th>Наименование оборудования</th><th>Неисправность</th><th>Принятые меры</th><th>Результат</th><th axis='num'>№ служебной записки</th><th>Часть оборудования</th><th axis='num'>Дата устране ния</th><th>Время устране ния</th><th>Примечание</th>\n</tr>\n"; while ($row = mysql_fetch_array($result)) : print "<tr>\n"; print "<td>"."<a href='form_add.php'> Редактировать</a>"."</td>\n <td>".$row["neispr_date"]."</td>\n<td>".$row["neispr_time"]."</td>\n <td>".$row["fio"]."</td>\n<td>".$row["id_ltor"]."</td>\n<td>".$row["name_perif"]."</td>\n <td>".$row["name_neispr"]."</td>\n<td>".$row["meri"]."</td>\n <td>".$row["name_rezult"]."</td>\n <td>".$row["num_slyzh"]."</td>\n<td>".$row["part"]."</td>\n<td>".$row["ustr_date"]."</td>\n <td>".$row["ustr_time"]."</td>\n<td>".$row["primecanie"]."</td>\n"; print "</tr>\n"; endwhile; print "</table>"; } else echo 'записей нет'; ?> Выдает ошибку Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in Z:\home\localhost\www\studio980_\login_good. php on line 11 и пустую табличку... Спустя 30 минут, 17 секунд (13.06.2012 - 12:02) 12345 написал(а): удали это $result = mysql_query($query); Спустя 16 минут, 1 секунда (13.06.2012 - 12:18) pretty_xai написал(а): Все работает!!Спасибо большое!!! Спустя 20 минут, 18 секунд (13.06.2012 - 12:39) 12345 написал(а):
|