Salve a tutti,
sto cercando di fare un login, inviando richieste AJAX attraverso il metodo statico $.ajax() (JQUERY)
questo è il codice HTML
codice:
HTML
<script type="text/javascript" src="http://code.jquery.com/jquery-1.6.2.min.js"></script>
<script type="text/javascript">
$(document).ready(function() {
//al click sul bottone del form
$("#logbtn").submit(function(){
//associo variabili
var user = $("#uname").val();
var pwd = $("#upass").val();
//chiamata ajax
$.ajax({
//imposto il tipo di invio dati
type: "POST",
//Dove devo inviare i dati recuperati dal form?
url: "inc/login.inc.php",
//Quali dati devo inviare?
data: "username=" + user + "&password=" + pwd,
dataType: "html",
//Inizio visualizzazione errori
success: function(msg)
{
$("#risultato").html(msg);
alert("fatto!");
// messaggio di avvenuta aggiunta valori al db
//(preso dal file inc/login.inc.php)
},
error: function()
{
alert("Chiamata fallita, si prega di riprovare...");
}
});
});
});
</script>
</head>
<body>
<div id="container">
<div id="header">
<form id="login" >
<label for="uname">User name</label>
<input id="uname" type="text" name='username' value="user" />
<label for="upass">User password</label>
<input id="upass" type="password" name='password' value="password" />
<label for="logbtn">Login button</label>
<input id="logbtn" type="submit" value="login" />
</form>
<div id="risultato"></div>
</div>
</div>
Questo è lo scritto in php a cui mando i valori. Funziona (testata con il metodo post)
Codice PHP:
inc/login.inc.php
<?php
session_start(); // Faccio partire l'azione delle sessioni
$username = $_POST['username']; // Prendo l'username ricevuto da jQuery
$password = $_POST['password']; // Prendo la password ricevuta da jQuery
mysql_connect("localhost","user","password")or die("Connessione IMPOSSIBILE al DBMS TIPO ERRORE:".mysql_error());
mysql_select_db("dbprotciv")or die("IMPOSSIBILE selezionare il DataBase");
$sql = "SELECT * FROM utenti WHERE username = '$username' and password='$password'";
$dati=mysql_query($sql);
$numero_righe=mysql_num_rows($dati);
if($numero_righe>0){// Controllo se la password corrisponde a quella dell'utente
while($array=mysql_fetch_array($dati)){
if (($array[1]) == $password){ //Si ritiene che ci sia un unico user con quel nome
$_SESSION['username'] = $username; // Salvo la sessione dell'username
$_SESSION['password'] = $password; // Salvo la sessione della password
die($username); // Chiudo il caricamento della pagina rilasciando il messaggio
}else{
die("Password è errata"); // Chiudo il caricamento della pagina rilasciando il messaggio
}
}
}else{
die("Utente inesistente"); // Chiudo il caricamento della pagina rilasciando il messaggio
}
?>
Quando eseguo il tutto, la pagina non fa nulla
però nell'url compare il seguente indirizzo
codice:
http://127.0.0.1/test/?username=admin&password=admin
come mai?
username=admin
password=admin
sono le variabili post che passo alla pagina php
dove sta il problema??