Mam coś takiego, konkretnie panel logowania
<?php
define('ERROR_LOGIN_USERNAME','nie podano nazwy użytkownika<br />'); define('ERROR_LOGIN_PASSWORD','nie podano hasła<br />');
require_once ("xajax_core/xajax.inc.php");
function checkLogin($aFormValues)
{
{
return processAccountData($aFormValues);
}
}
function processAccountData($aFormValues)
{
$objResponse = new xajaxResponse();
$bError = false;
if (trim($aFormValues['loginUsername']) == "") {
$bError = ERROR_LOGIN_USERNAME;
}
if (trim($aFormValues['loginPassword']) == "") {
$bError .= ERROR_LOGIN_PASSWORD;
}
function sessionGet($getSession)
{
foreach($getSession as $value)
{
$sessionOut = $sessionOut.$value.' ';
}
return $sessionOut;
}
if (!$bError)
{
$u = $aFormValues['loginUsername'];
$p = $aFormValues['loginPassword'];
require_once ("connect.php");
$query = "SELECT user_id, first_name, last_name FROM users WHERE username='$u' AND PASSWORD=PASSWORD('$p')";
if ($row)
{
$_SESSION['login']['firstName'] = $row[1];
$_SESSION['login']['lastName'] = $row[2];
$objResponse->assign("LoginBox1","style.backgroundColor", "#D4FFE3");
$objResponse->assign("loginBlackMsg","innerHTML", sessionGet($_SESSION['login'])." ");
}
else
{
$objResponse->assign("LoginBox1","style.backgroundColor", "#FFB1B1");
$objResponse->assign("loginBlackMsg","innerHTML", "niepoprawne dane");
}
}
else
{
$objResponse->assign("LoginBox1","style.backgroundColor", "#FFB1B1");
$objResponse->assign("loginBlackMsg","innerHTML", $bError);
}
return $objResponse;
}
$xajax = new xajax();
$xajax->registerFunction("checkLogin");
$xajax->processRequest();
$xajax->printJavascript();
include ('tpl_files/login.tpl');
?>
niestety nie działa mi ten kawałek kodu pod IE tylko nie bardzo rozumiem dlaczego czy ktoś mógłby przybliżyć mi ten problem ?
<?php
else
{
$objResponse->assign("LoginBox1","style.backgroundColor", "#FFB1B1");
$objResponse->assign("loginBlackMsg","innerHTML", $bError);
}
?>
Chodzi o to że jeśli sprawdzone dane są poprawne nie poprawne ale oba pola są wypełnione to jest OK natomiast nie ma żadnej akcji pod IE jeśli któreś z pól jest puste.
niżej podaje zawartość login.tpl
body { font-family: Verdana; font-size: 9pt }
label { display: block; float: left; width: 60px; margin-top: 3px }
.loginInput { margin-bottom: 2px }
.LoginBox1 { margin: 2em auto 0 auto; text-align: center; width: 300px; height: 150px; border: 1px solid #000 }
.LoginInsideBox{align-text: center;}
.errorMsg { color: #FF6B6B; font-weight: bold; }
.loginBlackMsg {color: #000000; font-weight: none; }
.loginColorMsg {color: #00B900; font-weight: bold; }
<div id="LoginBox1" class="LoginBox1"><br /> <div class="LoginInsideBox" > <form id="loginBox" method="post" onsubmit="xajax_checkLogin(xajax.getFormValues('loginBox')); return false">
<input autocomplete="off" type="text" name="loginUsername" id="loginUsername" /><br />
<input autocomplete="off" type="password" name="loginPassword" id="loginPassword" /><br />
<input type="submit" class="LoginButton" value="Wyślij"/>
<div id="theform" class="errorMsg"> <span id="loginBlackMsg" class="loginBlackMsg"></span> <span id="loginColorMsg" class="loginColorMsg"></span>
Ten post edytował SaMi 31.01.2008, 17:35:35