Есть вопрос?
Зайди на форум

Поиск на сайте: Advanced

Denix - новый дистрибутив Linux. Русификация Ubuntu и установка кодеков

dkws.org.ua
Форум сайта dkws.org.ua
 
Главная    ТемыТемы    АльбомАльбом    РегистрацияРегистрация 
 ПрофильПрофиль   Войти и проверить личные сообщенияВойти и проверить личные сообщения   ВходВход 

Проверка логина без перезагрузки страницы. Ajax.
На страницу Пред.  1, 2
 
Начать новую тему Ответить на тему    Список форумов dkws.org.ua -> PHP
 
Автор Сообщение
Лиза

Новенький


Зарегистрирован: 10.07.2008
Сообщения: 35

СообщениеДобавлено: Ср Сен 30, 2009 9:05 am    Заголовок сообщения:
Ответить с цитатой

MVV,

if(SERVER['HTTP_X_REQUESTED_WITH'] == 'XmlHTTPRequest')
// отдаем только требуемую часть страницы,
// потому что запрос пришел через Ajax
else
// генерируем HTML полностью и отдаем в виде
// полностью укомплектованной страницы
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
MVV

Новенький


Зарегистрирован: 28.09.2009
Сообщения: 10

СообщениеДобавлено: Ср Сен 30, 2009 9:34 am    Заголовок сообщения:
Ответить с цитатой

Извеняюсь может банально но что такое "Ajax" я пока ещё не знаю , а вот эта конструкция должна работать на локальном сервере, или только на хостинге? Я всё рисую пока на домашнем компе. А сам с компютером познакомился совсем недавно, так уж извените если чего не так.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail
MVV

Новенький


Зарегистрирован: 28.09.2009
Сообщения: 10

СообщениеДобавлено: Ср Сен 30, 2009 9:39 am    Заголовок сообщения:
Ответить с цитатой

P.S А вы не подбросилибы свой файл "jquery.js" или может он идет с какимто пакетом.
извеняюсь за навязчивость , но уж больно нужно сделать эту проверку логина в такой способ.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail
Лиза

Новенький


Зарегистрирован: 10.07.2008
Сообщения: 35

СообщениеДобавлено: Ср Сен 30, 2009 10:40 am    Заголовок сообщения:
Ответить с цитатой

Работает на локальном сервере.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
MVV

Новенький


Зарегистрирован: 28.09.2009
Сообщения: 10

СообщениеДобавлено: Ср Сен 30, 2009 10:47 am    Заголовок сообщения:
Ответить с цитатой

Спасибо за посылочку , будем работать.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail
MVV

Новенький


Зарегистрирован: 28.09.2009
Сообщения: 10

СообщениеДобавлено: Пт Окт 02, 2009 2:23 pm    Заголовок сообщения:
Ответить с цитатой

Да к сожалению ничего не получается приведу полный код может кто чего подскажет

<html>
<head>
<title>наш сайт</title>

<script type="text/javascript" src="js/jsHttpRequest.js"></script>
<script type="text/javascript" src="js/jquery.js"></script>

</head>

<body>

</script>
<!--
function checkLogin( {
var login = document.getElementById('login').value;
$("#logincheck").html?#40;'<img src="loader.gif" />');
$("#logincheck").load("logincheck.php", { login: login });
}
-->
</script>


<form id="regform" name="regform" method="post" action="">
<label>Логин:<input type="text" name="login" id="login" /></label> <span class="checkit" style="cursor:pointer;" onclick="checkLogin();">Проверить</span>
<div id="logincheck"></div>
<br><br><label>Пароль:<input type="text" name="password" id="password" /></label>
</form>

<?php

include "admin/dbconnect.php";

header('Content-Type: text/html; charset=windows-1251');

if($_SERVER['HTTP_X_REQUESTED_WITH'] == 'jsHttpRequest')
{

$login = $_REQUEST[login];


$result = "SELECT * FROM client WHERE log = '$login'";
$sql = mysql_query($result);
$result_array = mysql_fetch_array($sql);
$cnt = $result_array;

if ($cnt == 0)
{
echo "Свободен";
}
else
{
echo "Занят";
}
}
else
{
// обращение произошло не через AJAX-запрос
echo "не через AJAX-запрос ";
}
?>

</body>
</html> Crying or Very sad
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail
lockout




Зарегистрирован: 17.09.2009
Сообщения: 4
Откуда: г. Ульяновск

СообщениеДобавлено: Вт Окт 06, 2009 7:48 am    Заголовок сообщения:
Ответить с цитатой

Этот текст должен находиться в файле logincheck.php.
Файл должен находиться на локальном сервере.
===============
<?php

include "admin/dbconnect.php";

header('Content-Type: text/html; charset=windows-1251');

if($_SERVER['HTTP_X_REQUESTED_WITH'] == 'jsHttpRequest')
{

$login = $_REQUEST[login];


$result = "SELECT * FROM client WHERE log = '$login'";
$sql = mysql_query($result);
$result_array = mysql_fetch_array($sql);
$cnt = $result_array;

if ($cnt == 0)
{
echo "Свободен";
}
else
{
echo "Занят";
}
}
else
{
// обращение произошло не через AJAX-запрос
echo "не через AJAX-запрос ";
}
?>
==========
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
lockout




Зарегистрирован: 17.09.2009
Сообщения: 4
Откуда: г. Ульяновск

СообщениеДобавлено: Вт Окт 06, 2009 8:03 am    Заголовок сообщения:
Ответить с цитатой

MVV писал(а):


include "admin/dbconnect.php";


Надеюсь, что dbconnect.php тоже уже лежит там, где надо Smile
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
MVV

Новенький


Зарегистрирован: 28.09.2009
Сообщения: 10

СообщениеДобавлено: Вс Окт 11, 2009 6:50 am    Заголовок сообщения:
Ответить с цитатой

Cпасибо большое за помощь .Но к сожалению не работает

разбил на два файла, первый "form.html?quot;

[ <html>
<head>
<title>наш сайт</title>
<script type="text/javascript" src="js/jsHttpRequest.js"></script>
<script type="text/javascript" src="js/jquery.js"></script>
</head>
<body>
</script>
<!--
function checkLogin( {
var login = document.getElementById('login').value;
$("#logincheck").html?#40;'<img src="img/1.jpg" />');
$("#logincheck").load("logincheck.php", { login: login });
}
-->
</script>


<form id="regform" name="regform" method="post" action="logincheck.php">
<label>Логин:<input type="text" name="login" id="login" /></label> <span class="checkit" style="cursor:pointer;" onclick="checkLogin();">Проверить</span>
<div id="logincheck"></div>

</form>

</body>
</html> ]

===========================

Второй "logincheck.php"

=========================

[ <?php

include "dbconnect.php";

header('Content-Type: text/html; charset=windows-1251');

if($_SERVER['HTTP_X_REQUESTED_WITH'] == 'jsHttpRequest')
{

$login = $_REQUEST[login];


$result = "SELECT * FROM client WHERE log = '$login'";
$sql = mysql_query($result);
$result_array = mysql_fetch_array($sql);
$cnt = $result_array;

if ($cnt == 0)
{
echo "Свободен";
}
else
{
echo "Занят";
}
}
else
{
// обращение произошло не через AJAX-запрос
echo "не через AJAX-запрос ";
}
?> ]

=========

путь к картинке "img/1.jpg"
================
путь к базе include "dbconnect.php";
=============================

К сожалению ничего не получается Crying or Very sad

Запускаю "form.html?quot; форма мёртвая не реагирует на клики, запускаю "logincheck.php"
выводит надпись "не через AJAX-запрос"

Чего тут не так? В форме указываются какието классы, и стили. Может еще ети стили и классы поискать?
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail
MVV

Новенький


Зарегистрирован: 28.09.2009
Сообщения: 10

СообщениеДобавлено: Вс Окт 11, 2009 3:36 pm    Заголовок сообщения:
Ответить с цитатой

Народ помогите ради бога
Нарыл еще одну комбинацию
======================
файл "form.html?quot;

[ <html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251" />
<title>test</title>
<link rel="stylesheet" href="style.css" />
<script type="text/javascript" src="js/jquery.js"></script>
<script type="text/javascript" src="js/JsHttpRequest.js"></script>
<script type="text/javascript">

$(document).ready(function() {
$('#usernameLoading').hide();
$('#username').blur(function(){
$('#usernameLoading').show();
$.post("check.php", {
username: $('#username').val()
}, function(response){
$('#usernameResult').fadeOut();
setTimeout("finishAjax('usernameResult', '"+escape(response)+"')", 400);
});
return false;
});
});

function finishAjax(id, response) {
$('#usernameLoading').hide();
$('#'+id).html(unescape(response));
$('#'+id).fadeIn();
} //finishAjax
</script>
<style type="text/css">

</style>
</head>
<body>
<fieldset><legend>Registr Form</legend>
<form action="" method="post">
<p><label for="username">Username:</label> <input type="text" name="username" id="username" /><input type="button" name="but" value="проверить" />
<span id="usernameLoading"><img src="img/indicator.gif" alt="Ajax Indicator" /></span>
<span id="usernameResult"></span></p>

<p><input type="submit" name="submit" value="OK!" /></p>
</form>
</fieldset>


</body>
</html> ]
================
дальше файл
"check.php"

[ <?php
$username = $_POST['username'];
$username = trim(htmlentities($username));
$file = 'data.csv';

echo check_username($file,$username);

function check_username($file_in,$username){
$username=strtolower($username);
$file = file($file_in);
foreach ($file as $line_num => $line) {
$line = explode(’,',$line);
$user = trim(str_replace(’”‘,”,$line[0]));
if($username == strtolower($user)){
return ‘Занято‘;
}
}
return ‘Свободно‘;
}
?> ]
=======================
и ещё текстовый "data.csv"
[
"username","first_name","last_name","password"
"john","John","Doe","123456"
"martin","Martin","Petrov","111111" ]
-----------------------------------------------------------
В связке всё работает отлично.

Но Беда в том что данные для проверки извлекаются из текста файла "data.csv" а нада чтоб из файла "logincheck.php"

или другим каким способом . Confused

есть такой рабочий файл "logincheck.php"
============================
"logincheck.php"

<?php

include "dbconnect.php";

$login = $_POST[username];

$result = "SELECT * FROM client WHERE log = '$login'";
$sql = mysql_query($result);
$result_array = mysql_fetch_array($sql);
$cnt = $result_array;

if ($cnt == 0)
{
echo "yes";
}
else
{
echo "no";
}

?>
Подскажите чего нибудь, а то умру и не попробую!!!!!!!!! Confused
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail
Амир

Участник тусовки


Зарегистрирован: 21.07.2009
Сообщения: 135

СообщениеДобавлено: Вт Окт 13, 2009 6:03 pm    Заголовок сообщения:
Ответить с цитатой

Подскажите, пожалуйста, если кто знает.
Как привязать подгрузку файла на событие?

например index.php
Цитата:


<select name="name1">
<option value="значение1">1</option>
<option value="значение2">2</option>
</select>

и file*
Цитата:

<select name="name2">
<option class="значение1" value="значение1-1">1-1</option>
<option class="значение1" value="значение1-1">1-2</option>
<option class="значение2" value="значение2-1">2-1</option>
<option class="значение2" value="значение2-2">2-2</option>
</select>


Как их связать чтоб, например при выборе из спика <select name="name1"> значения "значение2", подгружался файл file* с "значение2" ?? Хоть ссылку киньте где можно почитать
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
den

Старожил


Зарегистрирован: 31.01.2006
Сообщения: 13870
Откуда: Кировоград, Украина

СообщениеДобавлено: Ср Окт 14, 2009 4:07 am    Заголовок сообщения:
Ответить с цитатой

При изменении первого списка делаешь document.write() и выводишь соответствующий тег, в котором уже прописан файл, который нужно загрузить.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение dhsilabs@jabber.ru
Амир

Участник тусовки


Зарегистрирован: 21.07.2009
Сообщения: 135

СообщениеДобавлено: Ср Окт 14, 2009 10:11 am    Заголовок сообщения:
Ответить с цитатой

Спасибо! Попробую Confused
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Показать сообщения:   
Начать новую тему Ответить на тему    Список форумов dkws.org.ua -> PHP Часовой пояс: GMT
На страницу Пред.  1, 2
Страница 2 из 2
 Главная страница сайта
 
Перейти:  
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
© Колисниченко Денис