jquery benutze ich nicht, denke ich^^
Wie gesagt bin relativ neu in der Materie und hab alles nur durch ausprobieren hinbekommen mehr oder weniger
Ich schreib ma bisschen code:
index
<div class="lpanel">
<div class="lpanel_register"><a href="registrieren.php">Registrieren</a></div>
<div class="lpanel_btn">
<a href="#" onClick="javascript:ajax_login('members/ajax_login');javascript:document.getElementById('ersetzen').style.display='block';javascript:setzeNullDetail(1)"><img src="http://t2.gstatic.com/images?q=tbn:ANd9GcSUfP3AxabhmPf2T6z1Jkmo_im_2FgvHV9FmWqRHgoSWpNhY-hu"></a>
</div>
<div id="ersetzen"></div>
</div>
ajax_login.js
function ajax_login(quelle)
{
http_request = false;
if (window.XMLHttpRequest) {
http_request = new XMLHttpRequest();
if (http_request.overrideMimeType) {
http_request.overrideMimeType('text/xml');
}
} else if (window.ActiveXObject) { // IE
try {
http_request = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
try {
http_request = new ActiveXObject("Microsoft.XMLHTTP");
} catch (e) {}
}
}
if (!http_request) {
alert('Das Request Objekt konnte nicht erzeugt werden! Bitte ueberpruefen Sie Ihre JAVA Einstellungen!');
return false;
}
http_request.onreadystatechange = show;
http_request.open('GET', quelle+'.php', true);
http_request.send(null);
}
function show() {
if (http_request.readyState == 4) {
document.getElementById("ersetzen").innerHTML = http_request.responseText;
}
}
Alles anzeigen
In members/ajax_login.php wird dann per session geguckt, wenn user nicht eingeloggt ist wird das login form angezeigt und entsprechend bearbeitet:
<form id="logit" method="POST" action="members/process.php" onsubmit="macheRequest('members/process.php'); return false;" name="logit">
<script type="text/javascript">
function macheRequest(src) {
var user = encodeURIComponent(document.getElementById('logit').elements['user'].value);
var pass = encodeURIComponent(document.getElementById('logit').elements['pass'].value);
var sublogin = encodeURIComponent(document.getElementById('logit').elements['sublogin'].value);
document.getElementById("warten").innerHTML = "<br><br><center><img src='http://www.ow.nordwind-ev.de/images/warten.gif' /></center>";
http_request = false;
if (window.XMLHttpRequest) {
http_request = new XMLHttpRequest();
if (http_request.overrideMimeType) {
http_request.overrideMimeType('text/xml');
}
} else if (window.ActiveXObject) { // IE
try {
http_request = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
try {
http_request = new ActiveXObject("Microsoft.XMLHTTP");
} catch (e) {}
}
}
if (!http_request) {
alert('Das Request Objekt konnte nicht erzeugt werden! Bitte ueberpruefen Sie Ihre JAVA Einstellungen!');
return false;
}
http_request.open('POST', src, true);
http_request.onreadystatechange = show;
http_request.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded; charset=UTF-8');
http_request.send('user='+user+'&pass='+pass+'&sublogin='+sublogin);
//http_request.send('pass='+pass);
}
function show() {
if (http_request.readyState == 4) {
document.getElementById("inhalt").innerHTML = http_request.responseText;
}
}
</script>
Alles anzeigen
wenn er schon eingeloggt ist wird das entsprechende user panel angezeigt [das klappt mittlerweile auch (hab einfach ein div über das div mit dem login button gelegt)]:
[Blockierte Grafik: http://img851.imageshack.us/img851/4963/fourd.jpg]
Jetzt müsste ich wie gesagt nur noch das weiße div zukriegen nachdem das login form bearbeitet wurde...