Помощник
|
Как запросить из бд проверку emaila |
tigertrash
|
Сообщение
#1
|
||
|
|
||
|
|||
Arks |
18.4.2012, 23:54;
Ответить: Arks
Сообщение
#2
|
|
Да никак лучше не запрашивать - повесить на email и на логин уникальный индекс и если при вставке ошибка на уникальность значит занято. Это будет быстрее чем каждый раз сначала проверять отдельным запросом можно ли делать вставку.
|
|
|
tigertrash
|
Сообщение
#3
|
|
хм... логично. А как вешать "индекс" можешь подсказать?
|
|
|
tigertrash
|
Сообщение
#4
|
|
форум мертвый...
|
|
|
Arks |
20.4.2012, 22:59;
Ответить: Arks
Сообщение
#5
|
|
так ведь пятниццо!
http://dev.mysql.com/doc/refman/5.1/de/create-index.html CREATE [UNIQUE|FULLTEXT|SPATIAL] INDEX index_name [USING index_type] ON tbl_name (index_col_name,...) [WITH PARSER parser_name] index_col_name: col_name [(length)] [ASC | DESC] читать это так - SQL пишем: CREATE + выбираем из необязательных параметров UNIQUE + пишем INDEX + пишем любое название(желательное уникальное для всей БД) + пишем USING BTREE(например) + пишем ON + пишем название таблицы(например `users`) + пишем ( + пишем через запятую email, login + пишем ) Либо если нужен уникальный email и уникальный login а не связка email+login Повторяем операцию отдельно для полей login и email |
|
|
Bugnet |
20.4.2012, 23:25;
Ответить: Bugnet
Сообщение
#6
|
|
Проверку можно делать после события .change (jQuery) поля логина и выводить информацию рядом с полем в span c id="infologin". То есть ввели логин и начинаем вводить пароль в это время идёт запрос к БД для проверки занятости логина. Работает $.ajax и PHP- скрипт с именем phpscriptchecklogin2.php(например)
Код где-то такой: [JS]$('#login').change(function(){ var loginReg = $(this).val(); $.ajax({ type: "POST", data: "login=" + loginReg, url : 'phpscriptchecklogin2.php', dataType: "json", success: function(data) { var result2 = data.key; if (result2!='true'){ // если логин занят $('#login').val(''); //очищаем поле логина $('#infologin').html('Это имя занято'); setTimeout("$('#infologin').html('');", 3000);//убираем информацию о занятости } } }); //END $.ajax });// END change[/JS] phpscriptchecklogin2.php (подключение к БД и таблица Ваши) [PHP]<?php if (isset($_POST['login'])) { $login = $_POST['login']; $db = mysql_connect ("localhost","root",""); mysql_select_db ("mysql",$db); $q = mysql_query("SELECT id FROM users WHERE login='$login'"); $res = mysql_fetch_assoc($q); $id1=$res['id']; if ($id1==''){$id1='true';$res['key']=$id1;} else{$id1='false';$res['key']=$id1;} } echo json_encode($res);[/PHP] Ну как-то так. |
|
|
Arks |
21.4.2012, 0:18;
Ответить: Arks
Сообщение
#7
|
|
Bugnet, в любом случае подвешивание ajax-ов на keyup признак дурного тона, все постепенно от него отказываются в пользу проверки beforeSubmit. Да и потом, как я уже писал вставка с потенциальной ошибкой уникальности будет в сумме гораздо быстрее чем предварительная проверка на уникальность.
|
|
|
tigertrash
|
Сообщение
#8
|
|
Arks,спасибо bugnet переходить на пароль потом возвращатся если занят тыркать пользователя мне кажется глупо...
|
|
|
James Raynor |
24.4.2012, 6:26;
Ответить: James Raynor
Сообщение
#9
|
|
|
форум мертвый... Сам ты мертвый. Форум камерный.
|
|
|
||
|
Похожие темы
Тема | Ответов | Автор | Просмотров | Последний ответ | |
---|---|---|---|---|---|
Большие ставки для кликов в Я.Директ. Как удешевить? | 2 | rownong27 | 1119 | 26.3.2024, 14:13 автор: knezevolk |
|
Как вы бросили работу и перешли на заработок с сайтов? | 12 | uahomka | 2289 | 25.3.2024, 6:52 автор: Skyworker |
|
Как отозвать банковский платеж фрилансеру? | 28 | metvekot | 3912 | 25.3.2024, 6:34 автор: Skyworker |
|
Как вывести деньги в Украине с заблокированного Юмани ? | 23 | freeax | 3638 | 24.3.2024, 20:55 автор: Liudmila |
|
Через какой браузер и как можно найти в кэшэ браузера видео | 10 | Room | 1929 | 23.3.2024, 7:41 автор: Room |
Текстовая версия | Сейчас: 28.3.2024, 22:31 |