Beim ersten Einloggen umleiten auf Seite "Meine Daten&q

Hier können Sie Fragen bezüglich der Kundenverwaltung stellen.
tompetti

Beim ersten Einloggen umleiten auf Seite "Meine Daten&q

Beitragvon tompetti » Mo 22. Nov 2004, 16:02

Hallo,

ich würde gerne bei ersten Anmelden eines Kunden diesen auf eine Seite umleiten, auf der er sein Passwort und seine email-Adresse eintragen soll. Quasi die Seite meine Daten. Das müsste sich doch machen lassen indem man prüft ob das Feld "Letztes Login" leer ist? Nur wie kann ich denn mit einer SQL Anfrage einen Seitenaufruf starten?

Ich benutze dieses php, um das letzte Login auf der Webseite auszugeben:

<?php
$LastLogin = $webuser["LastLogin"];
$LastLogin = date("d.M.Y, H:i:s", $LastLogin);
echo $LastLogin;
?>

Kann man das vielleicht erweitern?

Danke schon mal für Tips, Thomas

tompetti

Beitragvon tompetti » Mo 29. Nov 2004, 16:52

Ich habe mal das da versucht:

Header("Location: daten.php");

aber das gibt eine Warnung:

Warning: Cannot modify header information - headers already sent by (output started at //webEdition/we/templates/index_Erste_Seite.tmpl:31) in //webEdition/we/templates/index_Erste_Seite.tmpl on line 528

Gibt es noch eine andere Möglichkeit?

Beim ersten Login auf der Seite andere Dinge anzeigen zu lassen klappt bereits:

Code: Alles auswählen

<?php if($webuser["LastLogin"] == '') {
echo <<<ERSTLOGIN

<font color="red">[b]Bitte ändern Sie jetzt Ihr Passwort![/b]</font>Klicken Sie dazu oben auf "<a href="/userdaten.php" border="0">Meine Daten</a>" und speichern Sie auch eine eMail-Adresse oder Ihre Handynummer. Nur dann können Sie sich Ihr Passwort zuschicken lassen, wenn Sie es einmal vergessen sollten!

ERSTLOGIN;
}
else {
$LastLogin = $webuser["LastLogin"]; 
$LastLogin = date("d.M.Y, H:i:s", $LastLogin); 
echo <<<LOGIN

Ihr letzter Login war am: 

$LastLogin 
LOGIN;
};

?>
Beste Grüße, Thomas

lumi

Beitragvon lumi » Mo 29. Nov 2004, 17:00

Hallo!

Ihr Lösungsansatz mit header() war schon mal nicht schlecht, allerdings ist dabei zu achten keinerlei Ausgaben vor diesem Befehl zu haben.

So würde es zu Ihrer Fehlermeldung kommen:

Code: Alles auswählen

 <?php
header("Location: ...");
?>
(beachten Sie das Leerzeichen vor dem öffnenden "<?php")

So funktioniert's auch nicht:

Code: Alles auswählen

<we:ifNotEditmode>
<?php
header("Location: ...");
?>
(hier ist der Zeilenumbruch die Fehlerquelle)


So müsste es funktionieren:

Code: Alles auswählen

<?php
header("Location: ...");
?>
und beim zweiten Beispiel:

Code: Alles auswählen

<we:ifNotEditmode><?php
header("Location: ...");
?>
Hoffe das hilft Ihnen weiter :-)

(Alternativ zum header() ließen sich natürlich noch meta-refresh tags und Javascripts mit window.location verwenden)

tompetti

Beitragvon tompetti » Mo 29. Nov 2004, 17:13

Hallo lumi,

danke für die Hinweise, ich habe in meinen obigen Beitrag den Quelltext meiner if Abfrage kopiert, die zur Zeit gut funktioniert. Ich will den Aufruf der Seite "Meine Daten" aber erzwingen.

Ich habe daher in die Zeile nach der ersten geschwungenen Klammer den Befehl header() geschrieben, das ging nicht. Auch wenn ich es direkt hinter die Klammer schreibe:

Code: Alles auswählen

<?php if($webuser["LastLogin"] == '') {header("Location: ../userdaten.php");
geht das nicht, es kommt die gleiche Warnung: Warning: "Cannot modify header information - headers already sent by"

Beste Grüße, Thomas


Zurück zu „Kundenverwaltung“

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 12 Gäste