---
title: "newloginbox & dkd_redirect_at_login in frame-seite"
url: "https://www.typo3.net/d/26158-newloginbox-dkd-redirect-at-login-in-frame-seite"
source: "typo3.net"
tags: ["TYPO3","Template","Frage","felogin"]
created: "2005-06-19"
last_reply: "2005-06-19"
replies: 0
solved: false
page: 1
pages: 1
lang: "de"
---

# newloginbox & dkd_redirect_at_login in frame-seite

TYPO3 › Template · 0 Antworten · gestartet 2005-06-19

## Eröffnungsbeitrag

**planck** · 2005-06-19 · [Beitrag #1](https://www.typo3.net/d/26158-newloginbox-dkd-redirect-at-login-in-frame-seite/1)

hallo!

ich würde gerne die newloginbox im menü-frame einer frame-template verwenden (template: BUSINESS); zusätzlich möchte ich die extension dkd_redirect_at_login benützen, um den user nach dem einloggen umzuleiten. ich habe die newloginbox einfach mit

```typoscript
left.120 =< plugin.tx_newloginbox_pi1
```

in das BUSINESS-template eingebaut. ein- und ausloggen funktioniert damit grundsätzlich, der redirect allerdings nicht. meine php-kenntnisse reichen gerade soweit, die ursache nachzuvollziehen:

- in Zeile 275 von class.tx_newloginbox_pi1.php wird als empfänger der formulardaten die aktuelle seite mit der _top-Frameebene angegeben:

```php
<form action="'.htmlspecialchars($this-">pi_getPageLink($GLOBALS['TSFE']->id,'_top')).'" target="_top" method="post" style="margin: 0 0 0 0;"'.(strlen($onSubmit)?' onSubmit="'.$onSubmit.'"':'').'>
```

d.h. es wird (in meinem fall) zuerst index.php?id=1&type=0 aufgerufen, das ergibt den code für das frameset, erst im zweiten schritt wird nun der inhalt des menü-frames selbst regeneriert und tx_newloginbox_pi1->main() aufgerufen. nun enthält die _POST variable allerdings nicht mehr die abgesendeten formulardaten, insbesondere den parameter logintype='login'. das führt dazu, dass in tx_newloginbox_pi1->main()jener block übersprungen wird, der den hook zu dkd_redirect_at_login enthält:
Ze. 172ff:

```php
if ($logintype=='login')	{
  $outH = $this->getOutputLabel('header_success','s_success','header');
  outC = str_replace('###USER###',$GLOBALS['TSFE']->fe_user->user['username'],$this->getOutputLabel('msg_success','s_success','message'));
  if ($outH)	$content.='<h3>'.$outH.'</h3>';
  if ($outC)	$content.='<p>'.$outC.'</p>';

  // Hook for general actions after after login has been confirmed (by Thomas Danzl thomas@danzl.org>)
  if ($GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['newloginbox']['login_confirmed']) {
    $_params = array();
    foreach($GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['newloginbox']['login_confirmed'] as $_funcRef)    {
      if ($_funcRef) {
        t3lib_div::callUserFunction($_funcRef,$_params,$this);
      }
    }
  }

  // Hook for dkd_redirect_at_login extension (by Ingmar Schlecht <ingmar@typo3.org>)
  if ($GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['newloginbox']['dkd_redirect_at_login'])	{
    $_params = array('redirect_url'=>$redirect_url);
    $redirect_url = t3lib_div::callUserFunction($GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['newloginbox']['dkd_redirect_at_login'],$_params,$this);
  }

  if (!$GLOBALS['TSFE']->fe_user->cookieId)	{
    $content.='<p style="color:red; font-weight:bold;">'.$this->pi_getLL('cookie_warning','',1).'</p>';
    } elseif ($redirect_url)	{
      header('Location: '.t3lib_div::locationHeaderUrl($redirect_url));
      exit;
    }
  } else { ...
```

stattdessen wird der nun folgende code ausgeführt, der einfach das logout-formular ausgibt.

ich habe folgenden lösungsansatz versucht:
- in Zeile 275 von class.tx_newloginbox_pi1.php als empfänger der formulardaten die aktuelle seite mit der LEFT-Frameebene angeben, als target den content-frame ('page'):

```php
<form action="'.htmlspecialchars($this-">pi_getPageLink($GLOBALS['TSFE']->id,'left')).'" target="page" method="post" style="margin: 0 0 0 0;"'.(strlen($onSubmit)?' onSubmit="'.$onSubmit.'"':'').'>
```

das führt zwar zur korrekten umleitung, nun wird aber natürlcih der menü-frame nicht aktualisiert (es bleibt einfach das ausgefüllte login-formular stehen) - auch nicht so toll.

an dieser stelle bin ich mit meinem php/typo3-latein am ende. hat jemand eine idee, wie man das problem lösen könnte? ist das ein bug in der newloginbox, oder bin ich der bug??

besten dank,
tobias

---

Quelle: „newloginbox & dkd_redirect_at_login in frame-seite“, typo3.net, https://www.typo3.net/d/26158-newloginbox-dkd-redirect-at-login-in-frame-seite
Beiträge von Mitgliedern des Forums. Bitte mit Link auf die Diskussion zitieren.
