Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 07.07.2013, 15:08
Аватар для arahmanov
Профессор
Отправить личное сообщение для arahmanov Посмотреть профиль Найти все сообщения от arahmanov
 
Регистрация: 26.01.2011
Сообщений: 197

Авторизация проблема с location
И так есть форма ...

<form id="myform"  method="POST" action="login.php">
<input type="text"  name="login" id="login"  value="" />
<input type="password"  name="password" id="password"  value="">
<input type="button" onclick="send();" value="Отправить" />
</form>



<script>
function send()
{
//Получаем параметры
var login = $('#login').val()
var password = $('#password').val()
  // Отсылаем паметры
       $.ajax({
                type: "POST",
                url: "login.php",
               data: ({login:login,password:password}),
                // Выводим то что вернул PHP
                success: function(html) {
 //предварительно очищаем нужный элемент страницы
                        $("#result").empty();
//и выводим ответ php скрипта
                        $("#result").append(html);
						
                }
        });

}
</script>


обработчик

<?php 
session_start();
include ('blocks/bd.php');


if (isset($_POST['login']))      {$login = $_POST['login']; }      else {echo "логин не пришел";}
if (isset($_POST['password']))  {$password = $_POST['password'];}  else {echo "пароль не пришел";}


if (isset($login) && isset($password))
{
$result= mysql_query("SELECT * FROM users WHERE email ='$login' LIMIT  1");
$myrow = mysql_fetch_array($result);
//echo $myrow['password'];
if ($myrow['password'] == $password)
 {
	 //echo "Пользователь найден";
	 
if ($myrow['prava'] == "a"){
	$_SESSION['id'] = $myrow['id'];
	$_SESSION['prava']=$myrow['prava'];
	
	header('Location: admin.php');
	
	
	};
}

else 
{
	echo "Пользователь не найден";}
}

?>



Проблема в том что если я использую

header('Location: admin.php'); в php то переадресация происходит, но почему то форма авторизации переноситься на admin.php

я решил попробовать переадресовать не посредственно javascriptом

и пробую так

в php передаю параметр :

echo  $_SESSION['prava'];


а javascriptom встречаю

success: function(html) {
 //предварительно очищаем нужный элемент страницы
                        $("#result").empty();
//и выводим ответ php скрипта
                        $("#result").append(html);
						var prava = $('#result').html()
						var kat = "a"
						if (prava ==kat ){ window.location = "admin.php"}
                }


параметр приходит , но переадресация не работает, да и если она будет работать, передадутся ли переменные сессии на admin.php из файла обработчика ()
Ответить с цитированием
  #2 (permalink)  
Старый 08.07.2013, 09:57
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Сообщение от arahmanov
передадутся ли переменные сессии
Так на то она и сессия чтобы хранить значения втечении всей сессии.

Сообщение от arahmanov
 //предварительно очищаем нужный элемент страницы
                        $( "#result").empty();
//и выводим ответ php скрипта
                        $( "#result").append(html);
Вместо двух строк пишется одна: $('#result').html(html);
Сообщение от arahmanov
$("#result").append(html);
                        va r prava = $('#result').html()
                        va r kat = "a"
На кой это все? Почему бы просто не if (html == 'a') { /* редирект */ }
Ответить с цитированием
  #3 (permalink)  
Старый 08.07.2013, 09:59
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Кстати как-то криво все это получается. Лучше ответом отдавать JSON типа:
{success: true, message: 'Даров, админ, пиздуй в админку', redirect: 'admin.php'}
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Проблема с обработкой ескольких .hover() anocean jQuery 3 15.06.2012 22:43
Проблема при location tazododu Events/DOM/Window 4 15.06.2011 19:27
Проблема с location MrKapustin Events/DOM/Window 2 23.09.2010 10:15
Проблема с дизайном после отправки xmlhttprequest, Проблема с дизайном после отправки cyberx AJAX и COMET 3 01.05.2010 17:07
Проблема с объектом Location KingKong Элементы интерфейса 8 24.10.2009 02:34