问题
我想将表单从Ajax发送到PHP。我的Ajax到达了PHP,但是最后一个没有找到与输入密码的值相对应的任何索引。 我尝试进行了大量研究,以了解问题是否存在以及在何处,但什么都没有。 另外,我想知道是否以这种方式正确使用了Ajax,将来不仅可以发送其他形式,还可以发送JSON文件。
注意:PHP以JSON格式响应。
HTML
<form action="https://civicsensethecitizen.altervista.org/php/formLogin.php" method="post" id="formLogin">
<div class="form-group">
<input class="form-control" type="password" name="password" required="" placeholder="Password">
</div>
<button class="btn btn-primary btn-block" type="submit">Accedi</button>
</form>
JAVASCRIPT
$(function()
{
$('#formLogin').on('submit', function(event)
{
event.preventDefault();
var items = $('#formLogin').serialize();
$.ajax(
{
type: 'POST',
url: 'https://civicsensethecitizen.altervista.org/php/formLogin.php',
data: items,
contentType: "application/json; charset=utf-8",
//dataType: 'json',
success: function(data)
{
$('#formLogin').trigger("reset");
var result = JSON.stringify(data.flag);
alert(data);
},
error: function()
{
$('#formLogin').trigger("reset");
alert('Connsessione non riuscita');
}
});
});
});
PHP
<?php
$password = $_POST['password'];
$connessione = mysqli_connect('localhost','civicsensethecitizen','') or die (mysqli_errno ($connessione). mysqli_error ($connessione));
$db = mysqli_select_db($connessione, "my_civicsensethecitizen") or die ('Database non trovato!');
$query = "SELECT Password FROM Ente WHERE Password = '$password' ";
$risultato = mysqli_query($connessione,$query) or die ("Error in query: $query. " . mysqli_connect_error());
$countRisultato = mysqli_num_rows($risultato); //conta quante righe con quella password sono state trovate
if($countRisultato == 1)
{
$riga = mysqli_fetch_array($risultato, MYSQLI_ASSOC);
$dataJSON = array(
'url' => 'https://civicsensethecitizen.altervista.org/index.html',
'flag' => 'true',
'password' =>'Password',
'categoria' => $riga["CategoriaAppartenenza"],
'comune' => $riga["ComuneAppartenenza"],
'regione' => $riga["Regione"]
);
echo json_encode($dataJSON);
}
else
{
$dataJSON = array('flag' => 'false');
echo json_encode($countRisultato);
}
mysqli_close($connessione);
?>