Login von Forumsseite auf der Homeseite einbetten?

In diesem Forum kann man Fragen zur Programmierung stellen, die bei der Entwicklung von Mods für phpBB 3.0.x oder dem Modifizieren des eigenen Forums auftauchen.
Forumsregeln
phpBB 3.0 hat das Ende seiner Lebenszeit überschritten
phpBB 3.0 wird nicht mehr aktiv unterstützt. Insbesondere werden - auch bei Sicherheitslücken - keine Patches mehr bereitgestellt. Der Einsatz von phpBB 3.0 erfolgt daher auf eigene Gefahr. Wir empfehlen einen Umstieg auf die neuste phpBB-Version, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
Antworten
Mynoriem
Mitglied
Beiträge: 4
Registriert: 12.05.2011 18:39

Login von Forumsseite auf der Homeseite einbetten?

Beitrag von Mynoriem »

Hallo

Ich habe folgendes problem.....

Der Login zum Forum soll auf die Homeseite der website mit folgendem code...

Code: Alles auswählen

<center>
    <form action="hp/forum/ucp.php?mode=login" method="post" >
        <h3><a href="./ucp.php?mode=register">Registrieren</a></h3>
        <fieldset>
            <label for="username">Benutzername:</label> 
            <input type="text" name="username" id="username" size="10" title="Benutzername" />
            <label for="password">Passwort:</label> 
            <input type="password" name="password" id="password" size="10" title="Passwort" />
            <input type="submit" name="login" value="Anmelden"/>
	    <label for="autologin">Mich bei jedem Besuch automatisch anmelden <input type="checkbox" name="autologin" id="autologin" /></label>
        </fieldset>
    </form>
</center>
das ganze wird in einem popup dargestellt wenn man auf eine grafik klickt...

Code: Alles auswählen

<?php include('script/loginfenster.js')?>
<a href="home.php" onclick="popUp();"><img src='images/login.jpg' alt='Login' title='Login'>
das javascript sieht so aus...

Code: Alles auswählen

<script language="javascript" type="text/javascript">
var win=null;
onerror = stopError;
function stopError(){
	return true;
}

function popUp(){
	myleft=20;
	mytop=20;
	settings="width=500,height=200,top=" + mytop + ",left=" + myleft + ",scrollbars=no,location=no,directories=no,status=no,menubar=no,toolbar=no,resizable=no,dependent=no";
	win=window.open("include/loginfenster.php","Login",settings);
	win.focus();
}
</script>
so das problem ist das ich das popup nicht geschlossen bekomme bzw. das wenn ich es mit self.close() schliesse die daten nicht gesendet werden und recht unelegant mit setTimeout("self.close(), 3000) garnichts passiert.

js hab ich leider ne glatte 6 und finde keinen lösungsansatz.

meine idee ist eigentlich das ich in einer abfrage prüfe ob die daten gesendet wurden und dann erst self.close() ausführe, habe aber keine idee wie ich das umsetzten soll.

bitte helft mir :oops:
Benutzeravatar
Elsensee
Ehemaliges Teammitglied
Beiträge: 832
Registriert: 19.05.2010 15:14
Wohnort: Hamburg
Kontaktdaten:

Re: Login von Forumsseite auf der Homeseite einbetten?

Beitrag von Elsensee »

Das Fenster solltest du mit

Code: Alles auswählen

window.close();
schließen.
Posts mostly powered by GitHub and phpBB.de Cross-Reference

2015-03-20 - Never forget 8)
Mynoriem
Mitglied
Beiträge: 4
Registriert: 12.05.2011 18:39

Re: Login von Forumsseite auf der Homeseite einbetten?

Beitrag von Mynoriem »

mit window.close() ist es das selbe wie mit self.close().
Fenster schliesst aber daten werden nicht gesendet "ist das prinzip wer zuerst kommt malt zuerst" und window.close() ist halt schneller als das daten senden.

Im phpbb code in der datei ucp.php müssten die daten ja aufgefangen werden und da kann ich wiederum einsteigen und nach erfolgreichem empfang das fenster dort schliessen lassen mit pfadangabe. ich habe aber im code bis jetzt nichts gefunden.

Oder sollte ich nen anderen lösungsweg wählen? (am popup geht kein weg vorbei. es muss zwingend im popup angemeldet werden)
Benutzeravatar
Elsensee
Ehemaliges Teammitglied
Beiträge: 832
Registriert: 19.05.2010 15:14
Wohnort: Hamburg
Kontaktdaten:

Re: Login von Forumsseite auf der Homeseite einbetten?

Beitrag von Elsensee »

Da du ja (ich hoffe) nach dem Login auf ucp.php?mode=login umgeleitet wirst (und es davor eine andere Seite ist) könntest du doch z.B. ein Intervall setzten.
Wie wärs so:

Code: Alles auswählen

var pruef_intervall = setInterval("pruefen()", 500);
Der ruft "pruefen()" alle halbe Sekunde auf.
Code für prüfen:

Code: Alles auswählen

function pruefen() {
  if (window.location.href == "http://www.deinedomain.tld/ucp.php?mode=login")
  {
    clearInterval(pruef_intervall);
    window.close();
  }
}
Beides muss in der selben Datei sein.
Z.B. würde es dann so aussehen:

Code: Alles auswählen

<script language="javascript" type="text/javascript">
var pruef_intervall = null; //<-- neu
var alte_adresse = null; //<-- neu
var win=null;
onerror = stopError;
function stopError(){
   return true;
}

function popUp(){
   myleft=20;
   mytop=20;
   settings="width=500,height=200,top=" + mytop + ",left=" + myleft + ",scrollbars=no,location=no,directories=no,status=no,menubar=no,toolbar=no,resizable=no,dependent=no";
   win=window.open("include/loginfenster.php","Login",settings);
   win.focus();
   alte_adresse = "http://www.deinedomain.tld/include/loginfenster.php"; //<-- domain und adresse ggf. anpassen
   pruef_intervall = setInterval("pruefen()", 500);
}

function pruefen() { // <-- neu
   if (window.location.href == "http://www.deinedomain.tld/ucp.php?mode=login") // <-- domain ändern
   {
      clearInterval(pruef_intervall);
      window.close();
   }
   else if (window.location.href != alte_adresse)
   {
      clearInterval(pruef_intervall);
   }
}</script>
Hab die Stellen, wo du noch was ändern musst auskommentiert.
Das ist alles nicht getestet, habe es gerade aus meinem Ärmel geschüttelt. Hoffe du blickst durch. :wink:
Posts mostly powered by GitHub and phpBB.de Cross-Reference

2015-03-20 - Never forget 8)
Antworten

Zurück zu „[3.0.x] Mod Bastelstube“