php & jquery post - Форум администраторов игровых серверов
Форум администраторов игровых серверов StormWall - Защита от DDos атак
Регистрация Мнения Справка Пользователи Календарь Все разделы прочитаны
Вернуться   Форум администраторов игровых серверов > Полезное / Common > Программирование / Programming > PHP

PHP Форум как для начинающих программистов на PHP так и для профессионалов этого дела. Если нужно создать скрипт, функцию и т.д, но не знаете как, спросите у нас и мы вам подскажем. Здесь вы найдете примеры скриптов которые вы сможете использовать на сайтах своих серверов (онлайн, регистрация, семь печатей, топ игроков). Так же много книг и статей.

Ответ
Опции темы
Непрочитано 21.02.2016, 20:31   #1
Пользователь

Автор темы (Топик Стартер) php & jquery post

Хай.

Есть форма передающая данные логин,пароль. Так же в этом скрипте происходит проверка доступных символов. Вот только с ней что то не так. Подскажите пж.

PHP код:
<form name="reg"UserID: <input type="text" id="name" name="name" size=20><br><brPassword: <input type="password" id="pass" name="pass" size=20><br><brConfirm Password: <input type="password" id="confirm" name="confirm" size=20><br><br> <button id="submit_form">Отправить</button> </form> <div id="result"></div>
<
script type="text/javascript">

$(
document).ready(function(){
$(
"#submit_form").click(function(){ //при клике на кнопку <button id="submit_form">Отправить</button> выполняем функцию
$.post("account.php", $("#name","#pass","#confirm").serialize(), function(response) { //здесь #form_id - это ID формы, которая будет отправляться
$("#result").html(response); //вывод ответа от php-скрипта в <div id="result"></div>
});
return 
false;
});
});

</script> 
PHP код:
<? $dbselect mysql_select_db("$dbname") or die ('Could not select database'); $user mysql_real_escape_string($_POST["name"]); $pass mysql_real_escape_string($_POST["pass"]); $confirm mysql_real_escape_string($_POST["confirm"]); if(!preg_match("/^[\.A-z0-9_\-\+]+[@][A-z0-9_\-]+([.][A-z0-9_\-]:-)+[A-z]{1,4}$/",$user)) { die ('Ошибка: Имя пользователя может содержать только алфавитно-цифровые символы и должны быть между 5 и 20 символов в длину.'); } if(!preg_match('/^[a-zA-Z0-9]{5,20}$/',$pass)) { die ('Ошибка: Пароль пользователя может содержать только алфавитно-цифровые символы и должны быть между 5 и 20 символов в длину.'); } if($pass != $confirm) { die ('Ошибка: Пароли не совпадают.'); } $result mysql_query("SELECT login FROM accounts WHERE login='$user'"); if(mysql_num_rows($result)>0) { die ('Ошибка: Имя пользователя уже существует.'); }else{ mysql_query("INSERT INTO accounts (login, password, accessLevel) VALUES ('".$_POST['name']."', '".base64_encode(pack('H*'sha1($_POST['pass'])))."', 0)") or die ('Error: ' mysql_error()); } echo "Account created successfully."mysql_close();
ccc вне форума Ответить с цитированием
Непрочитано 21.02.2016, 21:43   #2
Аватар для PROGRAMMATOR
Администратор

По умолчанию Re: php & jquery post

Код:
$("#submit_form").click(function()
Наверное так:

$(document).on('submit', '#submit_form', function(e) {
	e.preventDefault();
 
	$.post('account.php', $(this).serialize(), function(response) {
		$('#result').html(response);
	});
});
 
Code: Javascript
А что там с регуляркой я не знаю, не описали, как должно быть, а что получаете.
__________________
composer require laravel/framework
yarn add vue
PROGRAMMATOR вне форума Отправить сообщение для PROGRAMMATOR с помощью ICQ Отправить сообщение для PROGRAMMATOR с помощью Skype™ Ответить с цитированием
Непрочитано 21.02.2016, 22:05   #3
Пользователь

Автор темы (Топик Стартер) Re: php & jquery post

Должно быть так: открывается бок - > юзер вводит данные -> жмет кнопку отправить -> в этом же боксе виден результат о ходе операции.

Если убрать проверку на вводимые символы оно работает, с проверкой нет. я хз.

PHP код:
//get username and password info from the form, protecting against SQL injection 
$user mysql_real_escape_string($_POST["name"]);
$pass mysql_real_escape_string($_POST["pass"]); 
$confirm mysql_real_escape_string($_POST["confirm"]); 

//validate user input 
if(!preg_match("/^[\.A-z0-9_\-\+]+[@][A-z0-9_\-]+([.][A-z0-9_\-]+)+[A-z]{1,4}$/",$user)) { 
die (
'Ошибка: Имя пользователя может содержать только алфавитно-цифровые символы и должны быть между 5 и 20 символов в длину.'); 

  
if(!
preg_match("/^[a-zA-Z0-9]{5,20}$/",$pass)) { 
die (
'Ошибка: Пароль пользователя может содержать только алфавитно-цифровые символы и должны быть между 5 и 20 символов в длину.'); 

  
if(
$pass != $confirm) { 
die (
'Ошибка: Пароли не совпадают.'); 

  
//make sure user doesn't already exist and if it doesn't, add new record to the database 
$result mysql_query("SELECT login FROM accounts WHERE login='$user'"); 
  
if(
mysql_num_rows($result)>0) { 
die (
'Ошибка: Имя пользователя уже существует.'); 
p.s.

Под боксом имею ввиду всплывающее окно.
ccc вне форума Ответить с цитированием
Непрочитано 21.02.2016, 22:11   #4
Аватар для PROGRAMMATOR
Администратор

По умолчанию Re: php & jquery post

Цитата:
Сообщение от wasd Посмотреть сообщение
Если убрать проверку на вводимые символы оно работает, с проверкой нет. я хз.
Можете описать, что разрешено для вводимого? По виду там вообще в name только email должен был быть вписан. Но она не рабочая для определения email.
__________________
composer require laravel/framework
yarn add vue
PROGRAMMATOR вне форума Отправить сообщение для PROGRAMMATOR с помощью ICQ Отправить сообщение для PROGRAMMATOR с помощью Skype™ Ответить с цитированием
Непрочитано 21.02.2016, 22:14   #5
Пользователь

Автор темы (Топик Стартер) Re: php & jquery post

Цитата:
Сообщение от PROGRAMMATOR Посмотреть сообщение
Можете описать, что разрешено для вводимого? По виду там вообще в name только email должен был быть вписан. Но она не рабочая для определения email.
Проверял другие значения.

Допустим тоже самое = [a-zA-Z0-9]{5,20}
ccc вне форума Ответить с цитированием
Непрочитано 21.02.2016, 22:23   #6
Аватар для PROGRAMMATOR
Администратор

По умолчанию Re: php & jquery post



А вообще, если проверяете юникод, то добавьте модификатор U.
И пароли проверять можно на сложность, на длину, но не на вводимые символы. Сохранять вам все равно его хеш.
__________________
composer require laravel/framework
yarn add vue
PROGRAMMATOR вне форума Отправить сообщение для PROGRAMMATOR с помощью ICQ Отправить сообщение для PROGRAMMATOR с помощью Skype™ Ответить с цитированием
Сказали спасибо:
Непрочитано 21.02.2016, 23:31   #7
Пользователь

Автор темы (Топик Стартер) Re: php & jquery post

Сложна ...
ccc вне форума Ответить с цитированием
Непрочитано 22.02.2016, 17:13   #8
Заинтересовавшийся

По умолчанию Re: php & jquery post

Цитата:
Сообщение от wasd Посмотреть сообщение
Хай.

Есть форма передающая данные логин,пароль. Так же в этом скрипте происходит проверка доступных символов. Вот только с ней что то не так. Подскажите пж.

PHP код:
<form name="reg"UserID: <input type="text" id="name" name="name" size=20><br><brPassword: <input type="password" id="pass" name="pass" size=20><br><brConfirm Password: <input type="password" id="confirm" name="confirm" size=20><br><br> <button id="submit_form">Отправить</button> </form> <div id="result"></div>
<
script type="text/javascript">

$(
document).ready(function(){
$(
"#submit_form").click(function(){ //при клике на кнопку <button id="submit_form">Отправить</button> выполняем функцию
$.post("account.php", $("#name","#pass","#confirm").serialize(), function(response) { //здесь #form_id - это ID формы, которая будет отправляться
$("#result").html(response); //вывод ответа от php-скрипта в <div id="result"></div>
});
return 
false;
});
});

</script> 
PHP код:
<form id="reg" action="action" method="post"UserID: <input type="text" id="name" name="name" size=20><br><brPassword: <input type="password" id="pass" name="pass" size=20><br><brConfirm Password: <input type="password" id="confirm" name="confirm" size=20><br><br> <button id="submit_form">Отправить</button> </form> <div id="result"></div>
<
script type="text/javascript">
$(function() {
    $(
'#reg').submit(function(e) {
        
e.preventDefault();
        var 
m_method = $(this).attr('method');
        var 
m_action = $(this).attr('action');
        var 
m_data = $(this).serialize();
        $.
ajax({
            
typem_method,
            
urlm_action,
            
datam_data,
            
success: function(result) {

                $(
'#result').html(result);
            
console.log(result);
            
            }
        });
    });
});
</script> 
попробуй так.
Dambenok вне форума Отправить сообщение для Dambenok с помощью ICQ Отправить сообщение для Dambenok с помощью Skype™ Ответить с цитированием
Сказали спасибо:
Непрочитано 22.02.2016, 17:51   #9
Аватар для PROGRAMMATOR
Администратор

По умолчанию Re: php & jquery post

Dambenok, форма не отправится. У кнопки не проставлен тип submit.
__________________
composer require laravel/framework
yarn add vue
PROGRAMMATOR вне форума Отправить сообщение для PROGRAMMATOR с помощью ICQ Отправить сообщение для PROGRAMMATOR с помощью Skype™ Ответить с цитированием
Непрочитано 22.02.2016, 18:42   #10
Пользователь

Автор темы (Топик Стартер) Re: php & jquery post

Dambenok, йоу, воркает .
ccc вне форума Ответить с цитированием
Ответ


Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 
Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
c#, Webrequest, proxy и post data AleBrider Программирование / Programming 4 02.05.2014 00:39
Header POST запроса sednka Программирование / Programming 1 18.05.2013 01:53
php POST Blast PHP 8 18.11.2011 18:01


© 2007–2024 «Форум администраторов игровых серверов»
Защита сайта от DDoS атак — StormWall
Работает на Булке неизвестной версии с переводом от zCarot
Текущее время: 14:56. Часовой пояс GMT +3.

Вверх