Новичок в JSON, ищу простой пример с PHP / jquery - PullRequest
0 голосов
/ 09 августа 2011

Я создаю регистрационную форму, используя PHP и jquery с ajax.Каждое поле проверяется с помощью jquery / ajax на серверную часть PHP.Как только форма заполнена, я хотел бы, чтобы все регистрационные данные были отправлены через ajax на серверную часть PHP для отправки в MySQL.

Кто-то рекомендовал использовать JSON, с которым я не знаком.ООП все еще в значительной степени чужды мне, и я знаком с процедурным дизайном.

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

немного jquery:

$('#fullname_field').blur(function(){
        //alert('test');
        var fullname = $('#fullname_field').val();

            $.ajax({
            url: "register_backend.php",
            type: 'POST',
            data: 'fullname=' + fullname,

                success: function(result) {
                //alert("a success");
                //alert(result);
                $('#fullname_status_return').empty();
                $('#fullname_status_return').append(result);

                }
            });

И соответствующий код на бэкэнде PHP:

if (filter_has_var(INPUT_POST, "fullname")) {
    $fullname = mysql_real_escape_string(filter_input(INPUT_POST,'fullname'));
    $testvalue = $fullname;
    $shorttest = $fullname;
    $denychars = stripslashes($fullname);
}
if (strlen($shorttest) < '5')
{
 $echo  "This field is too short.";

} else   {
////////// end short test
////////// if string is not too short, it runs the rest of the code, otherwise this is     all it runs


$result = mysql_query("SELECT * FROM deniednames WHERE deniedname = '$testvalue'",$db);
if (!$result)
die(mysql_error());

$rowcheck = mysql_num_rows($result);
if ($rowcheck > '0') {
    echo "This name is forbidden, please choose another.";
}
}

У меня такой вопрос: Когда пользователь заполнил все поля и нажал кнопку Отправитькнопку, как я могу отправить все поля в PHP, и как PHP может перехватить это и превратить в пригодные для использования данные, которые я могу проверить и затем выбросить в свою базу данных?

Разбить это дальшеЯ не уверен, как использовать JSON для захвата этих значений или, наоборот, чтобы вставить их в JSON, затем передать этот JSON в бэкэнд PHP, а затем получить код PHP для принятия ввода JSON.

Я пролил на JSON вступления и информацию в Интернете, но я просто не понимаю, и был бы очень благодарен за некоторое просвещение.

(вот оно, живите: http://www.dixieandtheninjas.net/dynasties/register.php)

Ответы [ 2 ]

1 голос
/ 09 августа 2011

JSON - это просто способ обозначить объект.В JS вы можете создать литерал объекта, просто объявив его с помощью {и}, например

var user = {name: 'jeremy'}

. Вы можете «отправить» это в PHP с помощью функции $ .ajax jQuery (или любой другой подобной) ив PHP вы можете получить это как обычный массив $ _POST или $ _GET.

Вы можете использовать jQuery, чтобы получить значения из входных данных и поместить их в массив данных.Узнайте больше о jQuery и ajax здесь: http://api.jquery.com/jQuery.ajax/. Если вы хотите отправить ответ в JSON из PHP, вы можете вызвать json_encode для массива и вывести его обратно.

Это помогает?

0 голосов
/ 09 августа 2011

Я бы порекомендовал использовать плагин форм jQuery. Я использовал это: http://malsup.com/jquery/form/.

Отправка формы - это простой вызов, такой как:

$('#uploadForm').ajaxForm({
  function () {
    alert ('Form submitted') ;
  }
});

Он также поддерживает JSON, а также несколько обратных вызовов и параметров конфигурации. Тем не менее, я думаю, что в вашем случае вы можете использовать стандартную кодировку форм.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...