la chiamata ajax non ritorna alcun dato

chiara1992

Nuovo Utente
7 Mar 2020
1
0
1
Buongiorno,
ho il seguente problema che purtroppo non riesco a risolvere.
Ho bisogno di recuperare l'ID utente da passare a un file php. Ho quindi provato a fare questo utilizzando Jquery e ajax.
Con il codice postato sotto vorrei passare i dati della password e del nome utente (recuperati da una form con serialize) al file di php (controllo_pw.php) che deve controllare se i dati sono giusti e ritornare l'ID utente.
Il problema è che, nonostante i dati inseriti nella form siano giusti e già presenti nel database, il programma va alla funzione di errore e visualizza sempre la finestra di alert "Email o password sbagliate o inesistenti si prega di riprovare.......".
sicuramente commetto un errore nello script jquery oppure nel codice PHP, errore che comunque non riesco ad individuare.
Ringrazio anticipatamente per il cortese aiuto che qualcuno mi vorrà dare.

Codice:
<script>
       $(document).ready(function() {
             $('#inviaa1').on("click", function () {
                 var dati = $("#pw_Accesso").serialize();     
                    $.ajax({
                        url: "controllo_pw.php",
                        type: "POST",
                        data: "dati",
                        dataType: "json",
                        success:function(msg){
                            $("#contenitore_generale").fadeOut("slow", function(){
                            $('#fr_dati_var').show();
                            $('#fr_dati_var').append("<p><a href='menu_principale.php?ID="+msg+"'>Utente riconosciuto, cliccare per proseguire</p>");
                                            
                            });
                        },
                        error: function(){
                            alert("Email o password sbagliate o inesistenti si prega di riprovare.......");
                            $('#pw_Accesso')[0].reset();
                            }   
                    });
                });       
        });           
 </script>

PHP:
<?php
require_once("db_config.php");

$anag_email = trim($_POST["email_pw"]);
$passw = trim($_POST["pw_utente"]);


$strsql = "SELECT * FROM soggetti WHERE annu_ana='' and pw_soggetti='$passw' and email='$anag_email' and scelt='S'"; 
$rows = array();

$rs = mysqli_query($link, $strsql) or die("errore....:".__LINE__);


while ($row=mysqli_fetch_array($rs)) {
    $codid= $row['id_soggetti'];
    $coid= $row['pw_soggetti'];
    $email= $row['email'];
    $rows[]= $codid;
    
}

session_start();
$_SESSION['pw_email']= $email;
$_SESSION['pw_soggetti']= $coid;
$rows1 = json_encode ($rows[0]); 


?>
 
data: "dati",
forse che gli passi la stringa "dati" invece dei dati ….

poi potresti modificare così, in modo da leggere nel log di php, quali dati vengono passati
PHP:
error_reporting(-1);
ini_set('display_errors', FALSE);
ini_set('log_errors'    , TRUE);

$anag_email = trim($_POST["email_pw"]);
$passw      = trim($_POST["pw_utente"]);

error_log("anag_email : ".$anag_email, 0);
error_log("passw      : ".$passw, 0);
 
Ultima modifica:

Discussioni simili