טוב אפשר להגיד שקצת הסתבכתי עם כל הפתרונות.
אני מחפש משהו פשוט שגם יהיה לי קל להבין אותו (רק לפני מספר ימים התחלתי ללמוד AJAX).
הנה הJS שבטופס התחברות עצמו:
HTML קוד:
<script type="text/javascript">
function ajaxFunction()
{
var ajaxRequest;
try
{
// Firefox, Opera 8.0+, Safari
ajaxRequest=new XMLHttpRequest();
}
catch (e)
{
// Internet Explorer
try
{
ajaxRequest=new ActiveXObject("Msxml2.XMLHTTP");
}
catch (e)
{
try
{
ajaxRequest=new ActiveXObject("Microsoft.XMLHTTP");
}
catch (e)
{
alert("Your browser does not support AJAX!");
return false;
}
}
}
// Create a function that will receive data sent from the server
ajaxRequest.onreadystatechange = function(){
if(ajaxRequest.readyState == 4){
var ajaxDisplay = document.getElementById('ajaxDiv');
ajaxDisplay.innerHTML = ajaxRequest.responseText;
}
}
var name = document.getElementById('username').value;
var pass = document.getElementById('password').value;
var queryString = "?username=" + name + "&password=" + pass;
ajaxRequest.open("GET", "ajax.php" + queryString, true);
ajaxRequest.send(null);
}
</script>
זה הטופס:
HTML קוד:
<form method="post" action="">
<table cellpadding="0" cellspacing="0" border="0" align="center">
<tr>
<td><strong>שם משתמש:</strong></td>
<td style="text-align: center;"><input size="16" onblur='ajaxFunction()' name="username" type="text" id="username" value="" style="font-family: Arial;" />
</td>
</tr>
<tr>
<td><strong>סיסמא:</strong></td>
<td style="text-align: center;"><input size="16" onblur='ajaxFunction()' name="password" type="password" id="password" value='' style="font-family: Arial;" /></td>
</tr>
<tr>
<td colspan="2">
<br /><br />
<input type="submit" name="submit" value="התחבר" />
</td>
</tr>
</table>
</form>
וזה הקובץ ajax.php
PHP קוד:
<?
ob_start();
header("Content-type: text/html; charset=windows-1255");
ob_end_clean();
$name = $_GET['username'];
$pass = $_GET['password'];
$ok=1;
require_once('db.php');
if($ok==1)
{
$passhash=md5($pass);
$query = "SELECT username, password FROM `users` WHERE `username` = '$name' AND `password` = '$passhash'";
//$query = "SELECT username FROM `users` WHERE `username` = '$name'";
$result = mysql_query($query , $link);
if(mysql_num_rows($result) == 1) {
echo '<p class="ok">הפרטים שהזנת נכונים =]</p>';
} else {
echo '<p class="error">הפרטים שהזנת שגויים!</p>';
}
}
?>
אני רק רוצה שהשדה username ישנה את הצבע לכחול (או כל צבע אחר, סתם בשביל הדוגמה) ברגע שהפרטים נכונים.
כרגע ההצעה שנראית לי הכי פשוטה זה של DvirCohen, אבל לא הבנתי איך להחזיר תשובה לקובץ login.
תודה על העזרה
