Показать сообщение отдельно
  #1 (permalink)  
Старый 19.08.2011, 17:35
Аватар для Sadist_dead
Профессор
Отправить личное сообщение для Sadist_dead Посмотреть профиль Найти все сообщения от Sadist_dead
 
Регистрация: 08.08.2011
Сообщений: 191

php session а в ajax
Вообщем столкнулся с такой проблемой
был у меня скриптик регистрации на php
который после авторизации посылал пользователя на user.php и в месте с сессией посылал за ним же все его добро. id,name,fam и,т,д

и решил я тот скриптик переделать думаю 21 век сколько надо бы как то динамики добавить

Ну вообщем-то и добавил
ajax
post
json

сходили в php проверили пользователя
пользователь есть замечательно кину его на user.php
все вроде бы хорошо но нет , добро то все пользовательское он вслед то не кинул.....

Конечно что первое приходит на ум, после проверки на существования пользователя не отправлять его на user.php пока. сначала сделать еще один запрос ...за его добром , но с какими параметрами .... вот тут то я и запутался ....

Вот собственно php

<?php 
session_start();
include ('blocks/bd.php');
if (isset($_POST['a'])){$login = $_POST['a']; if ($login ==''){unset($login);}}
if(empty($_POST['a'])) { $dead = "Не заполнена переменная login"; }

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

//$login = 'qwerty';
//$password ='qwerty';

 $result= mysql_query("SELECT login,pass,id_user,cot FROM users WHERE login ='".mysql_real_escape_string($login)."' LIMIT 1");
 $data = mysql_fetch_assoc($result);

//Далее сверяем пароли
if(($data['pass']==$password)and($data['cot']=='y'))
{
//Если все верно, входим
$dead = "ok%%";
$_SESSION['id_user'] = $data['id_user'];
$_SESSION['cot']=$data['cot'];

}

 else if(($data['pass']==$password)and($data['cot']=='p'))
{
//Если все верно, входим
$dead = "okk%%";
$_SESSION['id_user'] = $data['id_user'];
$_SESSION['cot']=$data['cot'];
}
else
 {
    //Иначе пролетаем 
 	$dead = "Извините, но данные не верны! ";
 }
 
 

function convert($from, $to, $var)
{
    if (is_array($var))
    {
        $new = array();
        foreach ($var as $key => $val)
        {
            $new[convert($from, $to, $key)] = convert($from, $to, $val);
        }
        $var = $new;
    }
    else if (is_string($var))
    {
        $var = iconv($from, $to, $var);
    }
    return $var;
}
 echo json_encode(convert('cp1251', 'utf-8', $dead));

?>



а вот и наша java c html
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251" />
<title>WEB SCHOOL</title>
</head>
<link type="text/css" href="css/ui-lightness/jquery-ui-1.8.14.custom.css" rel="stylesheet" />
<script src="js/jquery-1.5.1.min.js" type="text/javascript"></script>
<script src="js/jquery-ui-1.8.14.custom.min.js" type="text/javascript"></script>

<body  bgcolor="#1a5c7e">



<table  align="center"class="" width="1024" border="0" cellspacing="0"  cellpadding="0">
  <tr>
    <td  height="297" class="q">&nbsp;</td>
  </tr>
  <tr>
    <td height="131" class="center"><img src="img/center.jpg" width="1024" height="131" /></td>
  </tr>
  <tr>
    <td  height="341" align="center" valign="top" class="footer"><div align="center">

<script type="text/javascript">
$(function f(){


//alert(dateText); // Проверка даты 

$("#wer").click(function(){


	var a = $("#login").val();
	var b = $("#password").val();

	
	
	
	
	
	
	
$.ajax({
	type: "POST",
	url: "http://localhost/webschool/login.php",
	data: ({a:a,b:b}),
	dataType: 'json',
//	beforesend: alert("Отправляемые данные  a=" +a+ "b="+b), // Проверка отправления данных
	

	
   
 success: function(data){  //data="ok%%Вы успешно авторизированны"
    a=data.split('%%');
    if(a[0]=='ok'){
       

        location.href='index_users.php';
    }
	a=data.split('%%');
	 if(a[0]=='okk'){
       

        location.href='index_admin.php';
    }
	else
	
	{
        $.each(data, function(index,a){
    // index -> какой по счету объект в data, a -> data[ index ]
    for(var i in a ) {
        // i -> Id_p, a[ p ] -> qwerty

			
			$("#Id_p").append(a[i]);
			
			
	

	 
}; // закрытие for

         //  alert("Номер : "+ index+"\n\n Язык : "+ a[i]);		 
}); // закрытие $.each(data, function(index,a){   
    }
},

           

   
 



});





});






});

</script>

<form>
<input id="login" name="login" type="text" onclick="c()"  value="Login" size="10"  ><br>
<input  id="password" name="pass" type="password"  onclick="c()" size="10"   ><br>
<input id="wer"  type="button" onclick="c()" value="Войти">
</form>
    <div id="Id_p"></div>
	
<script type="text/javascript"> // Очистка всех полей до входа в базу привязана к диву календаря по onclick
 function c() {
           $("#Id_p").empty();
		   $("#login").empty();
 }	
</script>

  
</script>
    
    </div></td>
  </tr>
</table>
</body>
</html>
Ответить с цитированием