
Tak więc szukałem tego wszędzie i nic nie znalazłem. Tak więc mam sobie pliczek token.php, który generuje mi obrazek z kodem.
Ten obrazek jest umieszczany w formularzu (przy pierwszym załadowaniu kodu). Ktoś się loguje, robi co swoje i chce się wylogować. Tak więc po wylogowaniu trzeba dać szanse zalogowania się ponownie. Dlatego umieszczam tam formularz. I tu jest problem. Kod na obrazku jest taki sam. (cały kod formularza jest ładowany ajaxem jeszcze raz). Próbowałem już chyba wszystkiego:
<?php function logout() { oXml = zXmlHttp.createRequest(); oXml.open('GET', 'file.php?file=acc_login.php&logout=1', true); oXml.onreadystatechange = function () { if (oXml.readyState == 4 && oXml.status == 200) { document.getElementById('acc_menu_links').innerHTML = ""; document.getElementById('acc_login').innerHTML = oXml.responseText; document.getElementById('acc_login_load').innerHTML = ""; document.getElementById('acc_login_load').style.display = "none"; oXml.abort(); oXml.open("get","file.php?file=news.php", true); oXml.onreadystatechange = function () { if (oXml.readyState == 4 && oXml.status == 200) { document.getElementById('content').innerHTML = oXml.responseText; } } oXml.send(null); oXml.abort(); oXml.open("get","token.php", true); oXml.onreadystatechange = function () { if (oXml.readyState == 4 && oXml.status == 200) { //nie działa to: document.getElementById('Token_Img').src = token.php"; //ani to: document.getElementById('Token_Img').src = oXml.RespondeText"; } } oXml.send(null); } } oXml.send(null); } ?>
token.php:
<?php //***********************************************// $sText=$_SESSION['token']; (tu wpisywanie kodu itd) imagejpeg($oImg,NULL,100); ?>
acc_login.php:
<? require_once(CMS_DIR . 'CMS.php'); require_once(SMARTY_DIR . 'CMS_Smarty.php'); try{ $oCms = new CMS(); $oConfig = new CMS_Config(); $oLang = new CMS_Language(); if(!get_class($this)) $oSmarty = new CMS_Smarty($oConfig->DefultTemplate); else $oSmarty =& $this; if($blnLogout==1) { $_SESSION['access'] = -1; $oCms->lossToken(); } $oLang->loadLanguageForFile('acc_login'); $arrLangTemp['acc_num'] = $oLang->acc_num; $arrLangTemp['password'] = $oLang->password; $arrLangTemp['acc_lost'] = $oLang->acc_lost; $arrLangTemp['register'] = $oLang->register; $arrLangTemp['token'] = $oLang->token; $oSmarty->assign('template', $oConfig->DefultTemplate); $oSmarty->assign('language', $oLang->getUserLanguage()); $oSmarty->assign('lang',$arrLangTemp); $oSmarty->assign('template', "defult"); $oSmarty->assign('language', "polish"); $oSmarty->assign('lang',$arrLangTemp); $oSmarty->display('acc_login.tpl'); } catch(E_CMS_FileLoad $e) { } ?>
i acc_login.tpl:
Kod
{assign var=template value=$smarty.session.template}
{assign var=language value=$smarty.session.language}
{assign var=token value=$smarty.session.token}
<div id="acc_login">
<table width="100%" border="0" cellpadding="0" cellspacing="0">
<tr>
<td>
<img src="images/{$template}/spacer.gif" alt="" width="100" height="11">
</td>
</tr>
<tr>
<td>
<img src="images/{$template}/{$language}/account_login.jpg" alt="" width="166" height="50">
</td>
</tr>
<tr>
<td class="acc_login_bg" id="acc_login_form">
<form name="form1" method="post" action="#" onsubmit='login_into_account(document.form1.accnumber.value,document.form1.password.value,document.form1.
oken.value); return false;'>
<table width="142" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td class="text1">
{$lang.acc_num}:
</td>
</tr>
<tr>
<td>
<input name="accnumber" type="text" class="input1">
</td>
</tr>
<tr>
<td class="text1" >
{$lang.password}:
</td>
</tr>
<tr>
<td>
<input name="password" type="password" class="input1">
</td>
</tr>
<tr>
<td class="text1">
</td>
</tr>
<tr>
<td align="center">
<img id="Token_Img" src="token.php" alt="" onClick="">
</td>
</tr>
<tr>
<td class="text1">
{$lang.token}:
</td>
</tr>
<tr>
<td>
<input name="token" type="text" class="input1" autocomplete = "off" maxlength="5">
</td>
</tr>
<tr>
<td>
<img src="images/{$template}/spacer.gif" alt="" width="100" height="8">
</td>
</tr>
<tr>
<td>
<table width="142" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="85">
<p>
<a href="#" class="link1">{$lang.acc_lost}</a><br>
<a href="#" class="link1">{$lang.register}</a>
</p>
</td>
<td width="57">
<input type="image" name="imageField" src="images/{$template}/{$language}/login.jpg">
</td>
</tr>
</table>
</td>
</tr>
</table>
</form>
</td>
<td class="acc_login_bg" id="acc_login_load"></td>
</tr>
</table>
</div>
{assign var=language value=$smarty.session.language}
{assign var=token value=$smarty.session.token}
<div id="acc_login">
<table width="100%" border="0" cellpadding="0" cellspacing="0">
<tr>
<td>
<img src="images/{$template}/spacer.gif" alt="" width="100" height="11">
</td>
</tr>
<tr>
<td>
<img src="images/{$template}/{$language}/account_login.jpg" alt="" width="166" height="50">
</td>
</tr>
<tr>
<td class="acc_login_bg" id="acc_login_form">
<form name="form1" method="post" action="#" onsubmit='login_into_account(document.form1.accnumber.value,document.form1.password.value,document.form1.
oken.value); return false;'>
<table width="142" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td class="text1">
{$lang.acc_num}:
</td>
</tr>
<tr>
<td>
<input name="accnumber" type="text" class="input1">
</td>
</tr>
<tr>
<td class="text1" >
{$lang.password}:
</td>
</tr>
<tr>
<td>
<input name="password" type="password" class="input1">
</td>
</tr>
<tr>
<td class="text1">
</td>
</tr>
<tr>
<td align="center">
<img id="Token_Img" src="token.php" alt="" onClick="">
</td>
</tr>
<tr>
<td class="text1">
{$lang.token}:
</td>
</tr>
<tr>
<td>
<input name="token" type="text" class="input1" autocomplete = "off" maxlength="5">
</td>
</tr>
<tr>
<td>
<img src="images/{$template}/spacer.gif" alt="" width="100" height="8">
</td>
</tr>
<tr>
<td>
<table width="142" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="85">
<p>
<a href="#" class="link1">{$lang.acc_lost}</a><br>
<a href="#" class="link1">{$lang.register}</a>
</p>
</td>
<td width="57">
<input type="image" name="imageField" src="images/{$template}/{$language}/login.jpg">
</td>
</tr>
</table>
</td>
</tr>
</table>
</form>
</td>
<td class="acc_login_bg" id="acc_login_load"></td>
</tr>
</table>
</div>
Pozdr,
Valker
PS: Cała strona jest zrobiona w Ajaxie.