Seite 1 von 1

Ein kniffliges Problem mit Autologin .....

Verfasst: 23.01.2006 22:46
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

Verfasst: 23.01.2006 23:20
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

Verfasst: 23.01.2006 23:52
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

Verfasst: 24.01.2006 09:09
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