Как отправлять и получать многофакторные переменные в php с помощью json и array - PullRequest
0 голосов
/ 06 февраля 2019

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

<input id="username" type="text" class="inputBox">
<input id="password" type="password" class="inputBox">
<button id="submitLogin" class="submitLogin">login</button>
<div id="test"></div>
<div id="test1"></div>
$(document).ready(function() {
  $("#submitLogin").click(function() {
    var superuser = $("#username").val();
    var superpass = $("#password").val();
    $.ajax({
      type: "POST",
      url: 'http://localhost/mainclinic/controllers/login/login.php',
      dataType: 'application/json',
      data: {
        loginid: superuser,
        loginpass: superpass
      },
      cache: false,
      success: function(result) {
        $('#test').html(result[0]);
        $('#test1').html(result[1]);
      }
    })
  })
})
<?php
  include "../config.php";

  if (!$db) 
  {
    die("Connection failed: " . mysqli_connect_error());
  }

  if ($_SERVER['REQUEST_METHOD'] === 'POST') 
  {
    $username = mysqli_real_escape_string($db, $_POST['loginid']);
    $password = mysqli_real_escape_string($db, $_POST['loginpass']);
    $sql = "SELECT id FROM superusers WHERE docid = '$username' and doccpass = '$password'";
    $result = mysqli_query($db, $sql);
    $row = mysqli_fetch_array($result, MYSQLI_ASSOC);

    if(mysqli_num_rows($result) > 0)
    {
      $array = array(success, $username);
      echo json_encode($array);
    }
    else
    {
      $array = array(failed, nousername);
      echo json_encode($array);
    }
  }
?>

1 Ответ

0 голосов
/ 06 февраля 2019

Изменить этот раздел на этот:

$.ajax
    ({
        type:"POST",
        url:'http://localhost/mainclinic/controllers/login/login.php',
        dataType: "json",
        data:{loginid:superuser,loginpass:superpass},
        cache: false,
        success:function (result) {
            $('#test').html(result.status);
            $('#test1').html(result.result);
        }
    })

И код Php, как это:

if(mysqli_num_rows($result) > 0)
{
    $array = array('status' => 'success', 'result' => $username);
    echo json_encode($array);
}else
{
    $array = array('status' => 'failed', 'result' => 'nousername');
    echo json_encode($array);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...