X   Сообщение сайта
(Сообщение закроется через 3 секунды)



 

Здравствуйте, гость (

| Вход | Регистрация )

2 страниц V   1 2 >
Открыть тему
Тема закрыта
> Специальный символ
www3_hb
www3_hb
Topic Starter сообщение 13.11.2010, 22:09; Ответить: www3_hb
Сообщение #1


Все никак не могу найти символ $
2 вопрос
както я спрашивал про ajax
ну вот я вроде написал
[PHP]$("#login").focus( function() {
$.ajax({

url: './pr.php?login&text='+$("#login").html()+'', // указываем URL и
dataType : "php", // тип загружаемых данных
success: function (message) { // вешаем свой обработчик на функцию success
$.each(message, function() {
if(this==1){
$('.clear').html("Не верно введен Логин. Доступны символы латинского алфавита, цифры и знак подчеркивания '_'. Длина должна быть от 3 до 25 символов.");
}
}); // обрабатываем полученные данные
}
});
});[/PHP]
pr.php
[PHP]<?
if(isset($_GET['login'])){
if(strlen($_GET['text'])<6){
$message=1;
}else{
$message=0;
}
}

?>[/PHP]
но чтото не работает
Что я не правильно написал
0
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
www3_hb
www3_hb
Topic Starter сообщение 14.11.2010, 18:52; Ответить: www3_hb
Сообщение #2


Может кто нибудь поможет а то никак не как не получается
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
ZhukV
ZhukV
сообщение 14.11.2010, 19:48; Ответить: ZhukV
Сообщение #3


www3, во-первых, я не могу вехать, зачем при фокусировке на форму делать запрос. Фокусировка, событие срабатывает тогда, когда пользоветель устанавливает курсор в текст поле.
Раз хочеш сделать так, то те нужно ставить событие blur на поле.
Что за тип даных?
Получай просто ответ "YES" or "NO";
Что за УРЛ?

[PHP]
<?
if(isset($_GET['login'])){
if(strlen($_GET['text'])<6){
echo "YES";
}else{
echo "NO";
}
}else{ echo "ERROR"; }

?>
[/PHP]

$('input#login').blur(fucntion(){
  var login = $(this).val();
  $.ajax({
    url:'pr.php?login',
    data:'text='+ login,
    error:function(){
       alert('Error conection server');
    },
    success:function(data){
      if(data == 'YES'){ alert("YES"); }
      else if(data == "NO"){ alert("NO"); }
      else if(data == "ERROR"){ alert("ERROR"); }
      else{ alert("QUERY IS NOT SUCCESFUL"); }
    }
  })
})
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
www3_hb
www3_hb
Topic Starter сообщение 14.11.2010, 20:46; Ответить: www3_hb
Сообщение #4


blur вроде обрабатывает любой клик на странице а как можно сделать так чтобы этот скрипт срабатывал когда была нажата клавиша(то есть когда печатает какой либо человек)
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
SOKOJI
SOKOJI
сообщение 14.11.2010, 21:36; Ответить: SOKOJI
Сообщение #5


(www3_hb @ 14.11.2010, 22:46) *
blur вроде обрабатывает любой клик на странице а как можно сделать так чтобы этот скрипт срабатывал когда была нажата клавиша(то есть когда печатает какой либо человек)


onchange. в jquery это событие .change().
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
www3_hb
www3_hb
Topic Starter сообщение 14.11.2010, 21:36; Ответить: www3_hb
Сообщение #6


Я чуть чуть изменил
[PHP]<script>
$(document).ready(function(){
$('#login').keydown(function(){
var login = $(this).val();
$.ajax({
url:'./'+<?=Settings::$url?>+'/pr.php?login',
data:'text='+ login,
error:function(){
alert('Error conection server');
},
success:function(data){
if(data == 'YES'){ alert("Не верно введен Логин. Доступны символы латинского алфавита, цифры и знак подчеркивания '_'. Длина должна быть от 3 до 25 символов."); }
else if(data == "NO"){ alert("Верно!"); }
else if(data == "ERROR"){ alert("ERROR"); }
else{ alert("QUERY IS NOT SUCCESFUL"); }
}
})
})
})
</script>[/PHP]
вот что мне выдает в опере
[PHP]Uncaught exception: ReferenceError: Undefined variable: files

Error thrown at line 6, column 2 in <anonymous function>() in http://um/index.php?registration:
$.ajax({
called from line 55, column 294 in <anonymous function: handle>(a) in http://um/files/jquery.min.js:
i=i.handler.apply(this,arguments);
called via Function.prototype.apply() from line 49, column 569 in <anonymous function: o>() in http://um/files/jquery.min.js:
return typeof c!=="undefined"&&!c.event.triggered?c.event.handle.apply(o.elem,arguments):w[/PHP]
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
www3_hb
www3_hb
Topic Starter сообщение 14.11.2010, 21:40; Ответить: www3_hb
Сообщение #7


ааа все понял просто я в 1 пхп файле записал глобальную переменную и использовал эту переменную [PHP]Settings::$url[/PHP]
как только я изменил просто название на имя файла то сразу заработал
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
ZhukV
ZhukV
сообщение 14.11.2010, 22:06; Ответить: ZhukV
Сообщение #8


www3, я вот одного не могу понять:
Что ты делаеш?
Изучи для начала события, которые есть.
В своем варианте, ты при нажатии клавиши постянно отправляеш запрос. Зачем?
Вот некие события:
click - клик на элементе
dbclick - двойной клик
focus - фокус на элемент
blur - втрата фокуса
change - выбор (для select)
keydown - при нажатии клавиши

В твоем варианте найболее подходит blur!!!
Пользователь ввел даные, кликнул где-то в другом месте, даные отправились.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
MetSerp
MetSerp
сообщение 14.11.2010, 22:14; Ответить: MetSerp
Сообщение #9


вообще отсутствие кнопки "отправить " тобишь submit нарушает юзабилити, а реагировать вполне можно и на сабмит, так как по нажатию клавиши enter в поле инпут, происходит именно это событие.
Мне например как пользователю непонятно было б что мне надо куда то отщелкнуться от формы чтобы ее отправить, ну и если вы вдруг захотите добавить полей то вам придется все равно отказываться от блюр, иначе заполнить форму будет практически нереально.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
www3_hb
www3_hb
Topic Starter сообщение 15.11.2010, 23:04; Ответить: www3_hb
Сообщение #10


Все вроде пашло но вот появились два вопроса
файл функции(не полный)
[PHP]$(document).ready(function(){
$('#login').blur(function(){
var login = $(this).val();
$.ajax({
url:'./files/pr.php?login',
data:'text='+ login,
error:function(){
alert('Error conection server');
},
success:function(data){
if(data == 'YES'){
$('.login').html("<font color=\"#FF0000\">Не верно введен Логин. Доступны символы латинского алфавита, цифры и знак подчеркивания '_'. Длина должна быть от 3 до 25 символов.</font>").fadeIn('normal');
}
else if(data == "NO"){
$('.login').html('<font color="#00CC00">Верно!</font>').fadeIn("normal"); }
else if(data == "ERROR"){ alert("ERROR"); }
else{ alert("QUERY IS NOT SUCCESFUL"); }
}
})
})

$('#email').blur(function(){
var email = $(this).val();
$.ajax({
url:'./files/pr.php?email',
data:'em='+email,
error:function(){
alert('Error conection server');
},
success:function(data){
if(data == 'YES'){
$('.email').html("<font color=\"#FF0000\">Не верно введен E-mail!</font>").fadeIn('normal');
}
else if(data == "NO"){
$('.email').html('<font color="#00CC00">Верно!</font>').fadeIn("normal"); }
else if(data == "ERROR"){ alert("ERROR"); }
else{ alert("QUERY IS NOT SUCCESFUL");}
}
})
})

$('#pass #pass1').blur(function(){
var pass = $('#pass').val();
var pass1 = $('#pass1').val();
$.ajax({
url:'./files/pr.php?pass',
data:'pass='+pass+'&pass1='+pass1,
error:function(){
alert('Error conection server');
},
success:function(data){
if(data == 'YES'){
$('.pass').html("<font color=\"#FF0000\">Длина пароля должна быть не меньше 6 символов!!</font>").fadeIn('normal');
}
else if(data == "NO"){
$('.pass').html('<font color="#00CC00">Верно!</font>').fadeIn("normal"); }
else if(data == "FALSE"){
$('.pass').html('<font color="#00CC00">Пароли не совпадают.</font>').fadeIn('normal');
}else if(data == "ERROR"){ alert("ERROR"); }
else{ alert("QUERY IS NOT SUCCESFUL");}
}
})
})

$('#capcha_new').click(function(){
$.ajax({
url:'./files/pr.php?email',
data:'cap=<?=$_SESSION['uid']?>',
error:function(){
alert('Error conection server');
},
success:function(data){
$('#capcha_img').html("<img src=\"img/capcha.php?sid="+data+"\" >");
}
})
$('#capcha_img').html("<img src=\"img/capcha.php?sid=<?=$_SESSION['sud']=mt_rand(100000,999999)?>\" >");
})

})
</script>
<div id = "form_registration">
<form method="post" action="<?=Settings::$url.'/SUM_Action.php'?>" onsubmit="registration('<?=$referer?>'); return false;">
<input type="hidden" name = "key" value="registration" />

<div class="label">Логин<font color="#FF0000">*</font>:</div>
<div class="element"><input type="text" maxlength="25" name = "login" id="login"/></div>
<div class="login"></div>

<div class="label">E-mail<font color="#FF0000">*</font>:</div>
<div class="element"><input type="text" maxlength="200" name = "email" id="email"/></div>
<div class="email"></div>

<div class="label">Пароль<font color="#FF0000">*</font>:</div>
<div class="element"><input type="password" name = "password" id="pass"/></div>

<div class="label">Еще раз пароль<font color="#FF0000">*</font>:</div>
<div class="element"><input type="password" name = "password1" id="pass1"/></div>
<div class="pass"></div>
<div class="label">Код<font color="#FF0000">*</font>:</div>
<div class="element">

<div id="capcha_img"><img src="img/capcha.php?sid='<?=$_SESSION['uid']?>'" /></div><br /><input type="text" value="" name="s"><br />
Если не видно CAPCHA то нажмите сюда -> <abbr id="capcha_new">Обновить капчу</abbr>
</div>
<div class="clear"></div>
<div class="label"></div>
<div class="element"><input type="submit" name = "submit" value="Регистриция"/></div>
<div class="clear"></div>
<hr style="width:200px; float:left;" /><br /><span style="float:left;">
<font color="#FF0000">*</font>-поля объязательны к заполнению!</span><br />

</form>[/PHP]

а вот pr.php
[PHP]<?

if(isset($_GET['login'])){
if(strlen($_GET['text'])<6){
echo "YES";
}else{
echo "NO";
}
}elseif(isset($_GET['email'])){
if(mb_eregi("^[a-z0-9\._-]+@[a-z0-9\._-]+\.[a-z]{2,4}\$", $_GET['em'])){
echo "NO";
}else{
echo "YES";
}
}elseif(isset($_GET['pass'])){
if(mb_strlen($string)<6){
echo "YES";
}else{
echo "NO";
}
if($_GET['pass'] != $_GET['pass1']){
echo "FALSE";
}
}elseif(isset($_GET['capcha'])){
session_start();
$_SESSION['uid'] = $_GET['cap'];
unset($_SESSION['uid'];
$_SESSION['uid'] = mt_rand(100000,999999);
echo $_SESSION['uid'];
}
?>[/PHP]
У меня появились 2 вопроса
1) не могу проверить логины на длину и совподают ли они
2) у меня есть сессия uid эта сессия содержит рандомное значение используется для капчи. При клике капча обновляется на ту же самую если я не ошибаюсь то unset удаляет сессию а он у меня не удаляет и не рандомит

И чтоб темы не плудить мне нужна теорея строения комментов
Вроде понял как их делать
Например создан материал в этом материале есть свой уникальный id и автор этого материалла чтоб комменты появились мне нужно искать по id я не понял а как кооменты
Все комменты должны быть в бд только в одной ячейке ( и отделяться какимнибудь знаком)?
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
2 страниц V   1 2 >
Открыть тему
Тема закрыта
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


 



RSS Текстовая версия Сейчас: 25.4.2024, 20:47
Дизайн