Suche im Forum:
Suchen


Autor Nachricht
Beitrag12.11.2011 um 15:16 (UTC)    
Titel: Gibt es eine Login-Variable?

Hallo!

Meine Frage: Gibt es eine Art 'Login-Variable' für das Extra 'Versteckte Seiten'?

Ich möchte nämlich gerne so etwas realisieren, dass wenn sich jemand auf meiner seite anmeldet, dass dann z.b. oben rechts in der ecke steht "Du bist eingeloggt als [Name des Logins], ausloggen" und wenn man auf 'ausloggen' klickt wird man wieder ausgeloggt und das fenster oben rechts verschwindet wieder...gibt es eine Möglichkeit das zu realisieren?

EDIT: Mir geht es nur um den Javascript code oder was man da halt braucht. Das Fenster könnte ich schon selbst mit CSS erstellen...müsste sozusagen nur mit inhalt gefüllt werden Very Happy

Danke im Voraus!
______________


Zuletzt bearbeitet von penner-items am 12.11.2011, 16:18, insgesamt einmal bearbeitet
Beitrag12.11.2011 um 18:35 (UTC)    
Titel:

Weiß nicht ob dir das hilft, aber mit [login] kannst du deinen Login überall platzieren Wink
______________
Gruß Pexxi
Beitrag14.11.2011 um 14:21 (UTC)    
Titel:

Nein das hilft mir nicht, aber danke trotzdem! Ich will halt einfach nur, dass das fenster nur dann angezeigt wird, wenn man eingeloggt ist und wieder verschwindet, wenn man 'ausloggen' klickt.

PS: Gibt es im übrigen eine Möglichkeit zu verhindern, dass bei einem klick auf 'ausloggen' die Login-Seite aufgerufen wird?
______________
Beitrag14.11.2011 um 14:40 (UTC)    
Titel:

Meines Wissens nach gibt es nur die Variablen, die man auch unter den Einstellungen finden kann.

Da das ganze dann wohl nur per Javascript umgesetzt werden kann und du jemanden suchst, der dir das Skript schreibt, verschiebe ich es mal zu Ich Suche.
-VERSCHOBEN-

Zum PS: Ich glaube o-4-n hat einmal ein Skript geschrieben, mit dem man die Logout-Seite bearbeiten kann.
Einfach mal mit der Forensuche suchen.

mfg Philipp
______________
Forenregeln, FAQ, Suchfunktion
Beitrag14.11.2011 um 15:19 (UTC)    
Titel:

philipp7 hat Folgendes geschrieben:

Zum PS: Ich glaube o-4-n hat einmal ein Skript geschrieben, mit dem man die Logout-Seite bearbeiten kann.
mfg Philipp

Ne das war für die Loginseite Wink
______________
Gruß Pexxi
Beitrag14.11.2011 um 21:34 (UTC)    
Titel:

Das PS ist leicht umzusetzen:
Zitat:
<script type="text/javascript">
var newLogOutPage = 'Hier wird die neue Seite gestaltet';
var e = document.getElementsByName('logindata[kennwort]')[0];
var c;
var i;
var done = false;

if(e) {
e = e.parentNode.parentNode.parentNode.parentNode.parentNode.parentNode.parentNode;
c = e.childNodes;

for(i = 0; (i < c.length) && (!done); i++) {
if((c[i].nodeName == '#text') && (c[i].nodeValue.indexOf('erfolgreich ausgeloggt ;') != -1) && (c[i + 2]) && (c[i + 2].nodeName == '#text') && (c[i + 2].nodeValue.indexOf('Die versteckten Menüpunkte verschwinden beim nächsten Klick') != -1)) {

while(e.childNodes.length > 0) {
e.removeChild(e.firstChild);
}

e.innerHTML = newLogOutPage;
done = true;
}
}
}
</script>


Das andere habe ich auch mal gemacht. Ist nur ein erster Versuch und noch ausbaufähig. Vermutlich gibt es auch noch den ein oder anderen Bug. Falls du einen findest, darfst du ihn behalten oder du sagst mir bescheid.

Ich nutze die neue localStorage API und habe bewusst auf Fallbacks in Form von cookies verzichtet. Dadurch klappt das ganze natürlich nur in Browsern, die das localStorage Objekt auch kennen. Das sind aber von den gängigsten Browsern alle in halbwegs aktuellen Versionen. Bei den anderen passiert einfach gar nichts, also auch kein Laufzeitfehler.
Wenn du Lust und die Kenntnisse hast, kannst dir den cookie Fallback gerne selbst einbauen. Ich sehe es in diesem Fall nicht ein auf alte Browser Rücksicht zu nehmen. Wink
Zitat:
<script type="text/javascript">
var name = 'Name deiner Loginseite, wie er in der URL steht';

function verify() {
if((window.location.href.toLowerCase().indexOf('/' + name.toLowerCase() + '.htm') != -1) && (!document.getElementsByName('logindata[checklogin]')[0]))
{
window.sessionStorage.setItem('o4nverifyed', 'true');
window.sessionStorage.removeItem('o4nset');
}
}

function removeUser() {
window.sessionStorage.clear();
}


function setUserName() {
var ln, inp, i, done = false;

this.parentNode.id = 'o4ntempid';
inp = document.querySelectorAll('#o4ntempid input');

for(i = 0; (i < inp.length) && (!done); i++) {
if(inp[i].name.indexOf('logindata[name]') != -1) {
ln = inp[i].value;
done = true;
}
}

window.sessionStorage.setItem('o4nloginname', ln);
window.sessionStorage.setItem('o4nset', 'true');
}

if(('sessionStorage' in window) && (window['sessionStorage'] != null)) {
var i, temp, temp2, form = document.getElementsByName('logindata[kennwort]')[0];

if(form) {
form = form.parentNode.parentNode.parentNode.parentNode.parentNode;
temp = form.childNodes;

for(i = 0; (i < temp.length) && (!done); i++) {
if((temp[i].nodeName == 'INPUT') && (temp[i].type == 'submit')) {
temp[i].onclick = setUserName;
done = true;
}
}
}

if((temp = document.getElementsByName('logindata[checklogin]')[0]) && ((temp2 = document.getElementsByName('mode')[0])) && (temp2.value == '2'))
temp.nextSibling.nextSibling.onclick = removeUser;

if(window.sessionStorage.getItem('o4nset') == 'true')
verify();

if((temp = window.sessionStorage.getItem('o4nloginname')) && (temp2 = document.getElementById('o4nloginname')) && (window.sessionStorage.getItem('o4nverifyed') == 'true')) {
temp2.appendChild(document.createTextNode('Du bist eingeloggt als: ' + temp));
temp2.style.display = 'block';
}
}
</script>


Das folgende div Element, fügst du dann da ein wo du den Text haben möchtest:
Zitat:
<div id="o4nloginname" style="display:none;">

</div>


Beides müsste übrigens Design unabhängig klappen. Einfügen, bei Text unter dem Design.
______________
mfg
o-4-n

"If you’re incompetent, you can’t know you’re incompetent." - [David Dunning]

*** Die Suchfunktion ist KEINE tödliche Krankheit! ***

Eventplanung, Equipment, Zeltverleih, Catering


Zuletzt bearbeitet von o-4-n am 15.11.2011, 20:05, insgesamt 4-mal bearbeitet
Beitrag15.11.2011 um 17:13 (UTC)    
Titel:

Erstmal danke für die mühe o-4-n!

ich habe jetzt deinen ersten u d den zweiten script unter dem design eingefügt. und das div-tag erstmal an eine stelle um zu testen. aber was genau muss jetzt bei deinem ersten script bei

var newLogOutPage = 'Hier wird die neue Seite gestaltet';

eingefügt werden? also ich hab da jetzt die seite eingefügt, wo der div-tag ist, aber so klappt es nicht.

PS: Wieso ist beim div-tag display auf 'none' gesetzt?
______________
Beitrag15.11.2011 um 17:22 (UTC)    
Titel:

penner-items hat Folgendes geschrieben:
aber was genau muss jetzt bei deinem ersten script bei

var newLogOutPage = 'Hier wird die neue Seite gestaltet';

eingefügt werden?

Das, was angezeigt werden soll. Du kannst die Seite per Html gestalten, wie du lustig bist.

Zitat:
Wieso ist beim div-tag display auf 'none' gesetzt?

Weil ich es dynamisch wieder einblende, sobald du eingeloggt bist. Ich fände es ziemlich doof, wenn da ein leeres dvi Element in der Landschaft rumsteht und platz weg nimmt. Wink
Du kannst es aber auch einblenden, das sollte keine Auswirkungen haben.
______________
mfg
o-4-n

"If you’re incompetent, you can’t know you’re incompetent." - [David Dunning]

*** Die Suchfunktion ist KEINE tödliche Krankheit! ***

Eventplanung, Equipment, Zeltverleih, Catering
Beitrag15.11.2011 um 18:49 (UTC)    
Titel:

Es klappt immer noch nicht Sad

Ich hab jetzt unter dem design folgendes:

Code:
<script type="text/javascript">
var newLogOutPage = 'bitte ausloggen!';
var e = document.getElementsByName('logindata[kennwort]')[0];
var c;
var i;
var done = false;

if(e) {
e = e.parentNode.parentNode.parentNode.parentNode.parentNode.parentNode.parentNode;
c = e.childNodes;

for(i = 0; (i < c.length) && (!done); i++) {
if((c[i].nodeName == '#text') && (c[i].nodeValue.indexOf('erfolgreich ausgeloggt Wink') != -1) && (c[i + 2]) && (c[i + 2].nodeName == '#text') && (c[i + 2].nodeValue.indexOf('Die versteckten Menüpunkte verschwinden beim nächsten Klick') != -1)) {

while(e.childNodes.length > 0) {
e.removeChild(e.firstChild);
}

e.innerHTML = newLogOutPage;
done = true;
}
}
}
</script>

<script type="text/javascript">
var name = 'http://penner-items.de.tl/Premium_Login.htm';

function verify() {
if((window.location.href.toLowerCase().indexOf('/' + name.toLowerCase() + '.htm') != -1) && (!document.getElementsByName('logindata[checklogin]')[0]))
{
window.sessionStorage.setItem('o4nverifyed', 'true');
window.sessionStorage.removeItem('o4nset');
}
}

function removeUser() {
window.sessionStorage.clear();
}


function setUserName() {
var ln, inp, i, done = false;

this.parentNode.id = 'o4ntempid';
inp = document.querySelectorAll('#o4ntempid input');

for(i = 0; (i < inp.length) && (!done); i++) {
if(inp[i].name.indexOf('logindata[name]') != -1) {
ln = inp[i].value;
done = true;
}
}

window.sessionStorage.setItem('o4nloginname', ln);
window.sessionStorage.setItem('o4nset', 'true');
}

if(('sessionStorage' in window) && (window['sessionStorage'] != null)) {
var i, temp, temp2, form = document.getElementsByName('logindata[kennwort]')[0];

if(form) {
form = form.parentNode.parentNode.parentNode.parentNode.parentNode;
temp = form.childNodes;

for(i = 0; (i < temp.length) && (!done); i++) {
if((temp[i].nodeName == 'INPUT') && (temp[i].type == 'submit')) {
temp[i].onclick = setUserName;
done = true;
}
}
}

if((temp = document.getElementsByName('logindata[checklogin]')[0]) && ((temp2 = document.getElementsByName('mode')[0])) && (temp2.value == '2'))
temp.nextSibling.nextSibling.onclick = removeUser;

if(window.sessionStorage.getItem('o4nset') == 'true')
verify();

if((temp = window.sessionStorage.getItem('o4nloginname')) && (temp2 = document.getElementById('o4nloginname')) && (window.sessionStorage.getItem('o4nverifyed') == 'true')) {
temp2.appendChild(document.createTextNode('Du bist eingeloggt als: ' + temp));
temp2.style.display = 'block';
}
}
</script>


und auf meiner seite Spezial-Events (Nur zum Testen) folgendes:

Code:
<div id="o4nloginname" style="display:none;">

</div>


was hab ich falsch gemacht?
______________
Beitrag15.11.2011 um 19:14 (UTC)    
Titel:

Beim ersten, war im code eine Zeichenfolge, die hier im Forum als Smiley erkannt wird. Das das keinem aufgefallen ist, dass mitten im Code ein Smiley ist...
Ich habe es oben abgeändert.

Beim anderen solltest du, nicht die komplette URL einfügen sondern nur den Namen der Seite. Schau mal hier:
http://www.homepage-baukasten.de/forum/viewtopic.php?t=134055
Das Prinzip ist das gleiche.
______________
mfg
o-4-n

"If you’re incompetent, you can’t know you’re incompetent." - [David Dunning]

*** Die Suchfunktion ist KEINE tödliche Krankheit! ***

Eventplanung, Equipment, Zeltverleih, Catering


Zuletzt bearbeitet von o-4-n am 15.11.2011, 20:15, insgesamt einmal bearbeitet
Beitrag15.11.2011 um 19:28 (UTC)    
Titel:

TAUSEND DANK! Es funktioniert!
Und ganz nebenbei: Das mit den Grußkarten werd ich auch mal probieren Wink

Vielen Dank für deine Hilfe Wink
______________
Beitrag15.11.2011 um 19:41 (UTC)    
Titel:

Dann Danke für die Rückmeldung.

- CLOSED -
______________
mfg
o-4-n

"If you’re incompetent, you can’t know you’re incompetent." - [David Dunning]

*** Die Suchfunktion ist KEINE tödliche Krankheit! ***

Eventplanung, Equipment, Zeltverleih, Catering
Beiträge der letzten Zeit anzeigen:   


Powered by phpBB © 2001, 2005 phpBB Group
Deutsche Übersetzung von phpBB.de