Ein kniffliges Problem mit Autologin .....

Fragen zu allen Themen rund ums Programmieren außerhalb von phpBB können hier gestellt werden - auch zu anderen Programmiersprachen oder Software wie Webservern und Editoren.
Antworten
powerdates
Mitglied
Beiträge: 2
Registriert: 23.01.2006 22:38

Ein kniffliges Problem mit Autologin .....

Beitrag von powerdates »

Hallo Boardies,
ich möchte mich mal mit einem Problem an euch wenden.
Hier der Quellcode
<td>
<form name='frmForum' id='frmForum' action="forum/login.php" method='post' target="_parent">
<input type=hidden name='login' value="Log in">
<input type=hidden name='username' value="{$smarty.session.UserName}">
<input type=hidden name='whatIneed' value="{$smarty.session.whatIneed}">
<input type=hidden name='password' value="{$smarty.session.Password}">
</form>
<td class="panelbox"><a href="" class="panellink" onClick="javascrpt:document.frmForum.submit();" >{$lang.formanmelden}</a><br>
<a class="panellink" href=forum.php>{$lang.formopn}</a>
</td>
Erklärung:
Es passiert folgendes:
- mit dem ersten Befehlssatz wird man im phpbb-Forum eingeloggt.
- mit dem 2.Befehlssatz kann man dann das Forum öffnen.Per dynamischen I-Frame.

Nun mein Problem:
Ich würde es gerne so hinbekommen, das man:
- Per Klick im Board angemeldet wird
- Gleichzeitig sich das Forum im I-frame öffnet.

Ideal wäre ja natürlich, wenn das Forum komplett includiert würde, nur funktioniert das nich ganz......

Wisst Ihr da vielleicht eine Lösung ?
Danke
Benutzeravatar
MagMo
Ehemaliges Teammitglied
Beiträge: 584
Registriert: 30.10.2005 16:06
Wohnort: Köln
Kontaktdaten:

Beitrag von MagMo »

Hi,

zu deinem ersten Problem:
In deinem <form> fehlt irgendie ein <input> vom type submit.
Z.B.: <input type="submit" value="Login" name="submit">

zu deinem zweiten Problem:
verlinke nicht forum.php, sondern die datei xyz.html (oder wie auch immer du die nennen willst). Im Code dieser Datei bindest du dann die Datei forum.php via iFrame ein.
Wie das geht? Schau mal bei Google oder hier: http://de.selfhtml.org/html/frames/eingebettete.htm

Zum Thema iFrame solltest du aber folgendes bedenken:
- es gibt Leute die mögen keine Frames und deaktivieren diese
- es gibt (Werbe-)Blocker die iFrames unterdrücken, da Werbung gerne via iFrames eingebunden wird.
Erstere oder Besucher mit Werbeblocker erreichen dann dein Forum u.U. nicht.

Grüße
MagMo
powerdates
Mitglied
Beiträge: 2
Registriert: 23.01.2006 22:38

Beitrag von powerdates »

<td>
<form name='frmForum' id='frmForum' action="forum/login.php" method='post'>
<input type=hidden name='login' value="Log in">
<input type=hidden name='username' value="{$smarty.session.UserName}">
<input type=hidden name='whatIneed' value="{$smarty.session.whatIneed}">
<input type=hidden name='password' value="{$smarty.session.Password}">
<input type="submit" value="Login" name="submit">
</form>
<td class="panelbox"><a href="" class="panellink" onClick="javascrpt:document.frmForum.submit();" >{$lang.formanmelden}</a><br>

</td>
so müßte es dann eigentlich gehen, oder ?
Wobei, müßte ich dann nicht bei :

a href="forum.php" <<< Eintragen,
weil in dieser Datei dann folgendes eingetragen ist:
<?php

if ( !defined( 'SMARTY_DIR' ) ) {
include_once( 'init.php' );
}

$t->assign('rendered_page', $t->fetch('forum.tpl') );

$t->display ( 'index.tpl' );

exit;

?>
Und die Forum.tpl sähe dann so aus :
{strip}
{literal}
<script language="javascript">
<!--
function iFrameHeight() {
if(document.getElementById && !(document.all)) {
h = document.getElementById('iframename').contentDocument.body.scrollHeight;
document.getElementById('iframename').style.height = h;
}
else if(document.all) {
h = document.frames('iframename').document.body.scrollHeight;
document.all.iframename.style.height = h;
}
}
//-->
</script>
{/literal}
<table width="590" border="0" cellspacing="0" cellpadding="0">
<tr>
<td align="right">
<!-- Anfang Iframe -->
<iframe onLoad="iFrameHeight();"
src="forum/index.php"
scrolling="no" scroll="auto"
id="iframename" name="iframename"
marginwidth="0" marginheight="0" frameborder="0"
style="width:100%;" height="200">
</iframe></td>
</tr>
</table>
{/strip}
Oder denke ich da gerade in eine Falsche Richtung ?

Grüße
Benutzeravatar
MagMo
Ehemaliges Teammitglied
Beiträge: 584
Registriert: 30.10.2005 16:06
Wohnort: Köln
Kontaktdaten:

Beitrag von MagMo »

Hi,
powerdates hat geschrieben:<input type="submit" value="Login" name="submit">
</form>
<td class="panelbox"><a href="" class="panellink" onClick="javascrpt:document.frmForum.submit();" >{$lang.formanmelden}</a><br>

</td>
so müßte es dann eigentlich gehen, oder ?
Der Part

Code: Alles auswählen

<td class="panelbox"><a href="" class="panellink" onClick="javascrpt:document.frmForum.submit();" >{$lang.formanmelden}</a><br> 

</td>
ist überflüssig, da du ja schon einen Button hast der das Form ausführt und vor allem auch ohne JavaScript funktioniert.
Allerdings würde ich

Code: Alles auswählen

<input type="submit" value="Login" name="submit">
in

Code: Alles auswählen

<input type="submit" value="{$lang.formanmelden}" name="submit">
ändern.
powerdates hat geschrieben:Wobei, müßte ich dann nicht bei :

a href="forum.php" <<< Eintragen,
Wie gesagt, der Teil ist überflüssig.
powerdates hat geschrieben:Und die Forum.tpl sähe dann so aus :
...
<iframe onLoad="iFrameHeight();"
src="forum/index.php"
scrolling="no" scroll="auto"
...
Ach in der Datei forum.php hast du das iFrame eingebaut :o
Dann ziehe ich die folgende Aussage zurück:
zu deinem zweiten Problem:
verlinke nicht forum.php, sondern die datei xyz.html (oder wie auch immer du die nennen willst). Im Code dieser Datei bindest du dann die Datei forum.php via iFrame ein.
powerdates hat geschrieben:Oder denke ich da gerade in eine Falsche Richtung ?
Nö, zumindest der iFrame-Bereich sollte eigentlich so funktionieren. Da ich kein JavaScript-Fan bin habe ich mir den Part nicht näher angesehen.

Grüße
MagMo
Antworten

Zurück zu „Coding & Technik“