Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 31.07.2012, 11:53
Интересующийся
Отправить личное сообщение для Kiriru Посмотреть профиль Найти все сообщения от Kiriru
 
Регистрация: 02.07.2012
Сообщений: 12

Вывод id из БД
Никак не могу вывести id из базы данных, чтобы форма перенаправляла юзера на его аккаунт. Народ, помогите, плиз!

function SignIn() {
    pass = $('#loginPass').val();
    email = $('#loginEmail').val();
    ShowIndicator();
    if ((email != "") && (CheckPassword(email, pass))) {
		location.href='user.php/"$id"'
        //Sign User In
        HideIndicator();
        HideError();
    } else {
        ShowError(3);
        HideIndicator();
    }
}


function CheckPassword(email, pass) {
	var email = document.getElementById("email").value; // Считываем значение a
    var password = document.getElementById("password").value; // Считываем значение b
    var xmlhttp = getXmlHttp(); // Создаём объект XMLHTTP
    xmlhttp.open('POST', 'bd2.php', true); // Открываем асинхронное соединение
    xmlhttp.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded'); // Отправляем кодировку
    xmlhttp.send("email=" + encodeURIComponent(email) + "&password=" + encodeURIComponent(password)); // Отправляем POST-запрос
    xmlhttp.onreadystatechange = function() { // Ждём ответа от сервера
      if (xmlhttp.readyState == 4) { // Ответ пришёл
        if(xmlhttp.status == 200) { // Сервер вернул код 200 (что хорошо)
          document.getElementById("id").innerHTML = xmlhttp.responseText; // Выводим ответ сервера
		  alert(data.email+"n"+data.password+"n"+data.id);
		}
	  }
	}
	return $id;
}


<?php
session_start();

if (isset($_POST['email'])) { $login = $_POST['email']; if ($email == '') { unset($email);} }
if (isset($_POST['password'])) { $password=$_POST['password']; if ($password =='') { unset($password);} }

include ("db.php");

$email =($_POST['email']);
$password =($_POST['password']);


// Подключаемся к mysql серверу
$link = mysql_connect($dbhost, $dbuser, $dbpassword);
if ( !$link )
   die ("Невозможно подключение к MySQL");

// Выбираем нашу базу данных
mysql_select_db($dbname, $link) or die ("Невозможно открыть $db");

$query = mysql_query ( "SELECT * FROM 'users' WHERE id='$id' AND email='$email' AND password='$password' AND activation='1' ", $dbname );
		$array = mysql_fetch_assoc ($query);
		// Если такой пользователь есть
		if (!empty($array))
		
			// Создаём сессию и выводим информацию о успешном входе + кнопка выхода
			{$_SESSION["entr"] = true;}
		else {echo "Error"; // Если такого пользователя нет, то выводим сообщение о ошибке
		}
	echo json_encode($query);

// Закрываем соединение
mysql_close($link);

?>
Ответить с цитированием
  #2 (permalink)  
Старый 31.07.2012, 12:22
Аватар для keen
Профессор
Отправить личное сообщение для keen Посмотреть профиль Найти все сообщения от keen
 
Регистрация: 28.03.2012
Сообщений: 376

..
alert(data.email+"n"+data.password+"n"+data.id);
..

работает? выводит его id?
Ответить с цитированием
  #3 (permalink)  
Старый 31.07.2012, 12:59
Интересующийся
Отправить личное сообщение для Kiriru Посмотреть профиль Найти все сообщения от Kiriru
 
Регистрация: 02.07.2012
Сообщений: 12

Сообщение от keen Посмотреть сообщение
работает? выводит его id?
В том-то и проблема, что видимо, нет.
Ответить с цитированием
  #4 (permalink)  
Старый 31.07.2012, 13:00
Аватар для keen
Профессор
Отправить личное сообщение для keen Посмотреть профиль Найти все сообщения от keen
 
Регистрация: 28.03.2012
Сообщений: 376

что значит "видимо нет"? алерт выскакивает? какой в нём текст?
Ответить с цитированием
  #5 (permalink)  
Старый 31.07.2012, 13:04
Интересующийся
Отправить личное сообщение для Kiriru Посмотреть профиль Найти все сообщения от Kiriru
 
Регистрация: 02.07.2012
Сообщений: 12

Ничего не выскакивает. Форма не перекидывает на аккаунт, а тупо висит на месте.
Ответить с цитированием
  #6 (permalink)  
Старый 31.07.2012, 13:11
sinistral
Посмотреть профиль Найти все сообщения от melky
 
Регистрация: 28.03.2011
Сообщений: 5,418

  1. PHP выводит ID ?
  2. ошибки в консоли есть?
  3. дебаггером JS код проходили ?
  4. локализуйте проблему.
Ответить с цитированием
  #7 (permalink)  
Старый 31.07.2012, 13:26
Интересующийся
Отправить личное сообщение для Kiriru Посмотреть профиль Найти все сообщения от Kiriru
 
Регистрация: 02.07.2012
Сообщений: 12

Сообщение от melky Посмотреть сообщение
  1. PHP выводит ID ?
  2. ошибки в консоли есть?
  3. дебаггером JS код проходили ?
  4. локализуйте проблему.
Нет, не выводит. В этом и проблема, что я не могу вывести id из PHP в function CheckPassword(email, pass) и, соответственно, передать оттуда в function SignIn. Дебаггером не проходил, не знаю, как это делается. Ошибок в консоли нет.
Ответить с цитированием
  #8 (permalink)  
Старый 31.07.2012, 13:31
sinistral
Посмотреть профиль Найти все сообщения от melky
 
Регистрация: 28.03.2011
Сообщений: 5,418

Сообщение от Kiriru
Нет, не выводит.
в смысле только php скрипт, а не вся конструкция JS+PHP
Ответить с цитированием
  #9 (permalink)  
Старый 31.07.2012, 13:37
Интересующийся
Отправить личное сообщение для Kiriru Посмотреть профиль Найти все сообщения от Kiriru
 
Регистрация: 02.07.2012
Сообщений: 12

Сообщение от melky Посмотреть сообщение
в смысле только php скрипт, а не вся конструкция JS+PHP
Был бы благодарен, если б вы объяснили, как это проверить, а то я ориентируюсь лишь по конечному результату.
Ответить с цитированием
  #10 (permalink)  
Старый 31.07.2012, 14:01
sinistral
Посмотреть профиль Найти все сообщения от melky
 
Регистрация: 28.03.2011
Сообщений: 5,418

Сообщение от Kiriru Посмотреть сообщение
Был бы благодарен, если б вы объяснили, как это проверить, а то я ориентируюсь лишь по конечному результату.
открыть php скрипт, руками вписать значения для $email и $password.
далее открыть его в браузере и посмотреть, нормально ли он всё выводит.

если да, то переключаемся на JS:

в начале функции пишем debugger;, в браузере вызываем консоль (F12, обычно. для FireFox можно установить плагин FireBug, в Chrome эта штука встроена)

после этого перезагружаем страницу, вводим логин\пароль. когда-нибудь (когда начнёт исполняться код в функции) консоль даст понять, что исполнение JS заморожено. дальше сидите, и изучаете исполнения скрипта может быть пошагово-построчным - обычно это F11 (стрелочки в ряд)

...ибо помочь как-либо Вам, без доступа к этому самому скрипту, низ-зя.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вывод выбранных данных и проверка checkbox MasterHrust Javascript под браузер 3 28.09.2011 17:44
Вывод переменных MasterHrust Javascript под браузер 4 03.08.2011 15:41
Вывод данных в Друпал 6 из MySQL, небольшая работа torquemada Работа 1 22.05.2011 17:05
вывод картинки и vrml mister_maxim Events/DOM/Window 16 12.01.2010 17:40
Пошаговый вывод скрипта для IE всех версий. Zidky Элементы интерфейса 10 17.06.2009 18:27