 |
| Hinweise |
Willkommen im TP-Hilfe-Forum!Dies ist ein Forum zu den Themen Photoshop, Dreamweaver, Flash, Selbständigkeit und mehr, in dem Du Hilfe, Anleitung oder eine Lösung zu Deinen Problemen erhältst. Aktuell bist Du in unseren Foren als Gast mit reinen Leserechten unterwegs. Wenn Du Dich registrierst, kannst Du eigene Themen verfassen, Deine Frage stellen und privat mit anderen TPlern kommunizieren. Weitere Foren werden zugänglich, und Du wirst – falls gewünscht – per Mail über neue Beiträge informiert. Die Registrierung ist schnell und kostenlos. Sollten bei der Registrierung Fragen auftauchen, reicht ein Klick in unsere Hilfe - Häufig gestellte Fragen oder eine kurze Mitteilung an das Support-Team. Viel Spaß bei Traum-Projekt.com |
24.05.2005, 15:31
|
#46
|
|
TP-Insider
Registriert seit: Dec 2001
Ort: Oberfranken
|
Wenn ich den Code
echo $session_variable;
eingebe, dann spuckt mir das System 123456 aus.
Benutzer ich aber diese Anweisung
if (!isset($session_variable) OR $session_variable!=123456)
{
header("Location: login.php");
}
dann springt das System auf login.php zurück. Das ist doch total unlogisch!
|
|
|
24.05.2005, 15:39
|
#47
|
|
TP-Supporter
Registriert seit: May 2004
Ort: Wien
|
würd sagen kosmische krümmung
nö keine ahnung leider, aber probier mal
(ich weiß unglaublich umständlich und haarsträubend aber ein versuch ists wert):
PHP-Code:
$i = 0;
if (!isset($session_variable) {
$i++;
}
if ($session_variable != 123456) {
$i++;
}
if ($i != 0) {
header("Location:login.php");
}
|
|
|
24.05.2005, 15:51
|
#48
|
|
TP-Special Mod
Registriert seit: Feb 2005
Ort: Haan / NRW
|
was passiert denn bei
if (!isset($session_variable) || $session_variable!="123456")
{
header("Location: login.php");
}
?
|
|
|
24.05.2005, 16:05
|
#49
|
|
TP-Insider
Registriert seit: Dec 2001
Ort: Oberfranken
|
Zitat:
|
Zitat von St@eff.en
was passiert denn bei
if (!isset($session_variable) || $session_variable!="123456")
{
header("Location: login.php");
}
?
|
geht auch nicht :-(
ebenso funktioniert nicht:
if (!isset($session_variable))
{
header("Location: login.php");
}
oder
if ($session_variable!="123456")
{
header("Location: login.php");
}
|
|
|
24.05.2005, 16:06
|
#50
|
|
TP-Insider
Registriert seit: Dec 2001
Ort: Oberfranken
|
nochmal: das Problem tritt nur im Frame auf
|
|
|
24.05.2005, 16:06
|
#51
|
|
TP-Supporter
Registriert seit: May 2004
Ort: Wien
|
aber nur im frame gerüst nicht?!
|
|
|
24.05.2005, 16:21
|
#52
|
|
TP-Special Mod
Registriert seit: Feb 2005
Ort: Haan / NRW
|
Das kann ja nur mit Deiner $session_variable zusammenhängen. Zeig uns, wie Du die setzt.
Insgesamt zieht sich der Thread schon über 4 Seiten, andere werden hier kaum einsteigen, da immer nur Fragmente da sind.
Du erhälst sofort hilfreiche Antworten, wenn Du uns Dein komplettes Script postest, ansonsten wird das zum Ratespiel 
|
|
|
24.05.2005, 17:15
|
#53
|
|
TP-Insider
Registriert seit: Dec 2001
Ort: Oberfranken
|
Der Quellcode von login.php sieht ungefahr so aus:
Zitat:
<?
session_start();
$name1=$_SESSION['name1'];
$name2=$_SESSION['name2'];
$gruppe=$_SESSION['gruppe'];
$code=$_SESSION['code'];
if (isset($code) AND $code==30304041)
{
header("Location: login2.php");
break;
}
$benutzername=$_POST[benutzername];
$passwort=$_POST[passwort];
session_register(code);
session_destroy();
if (isset($_POST[submit]))
{
include "../verbindung.php";
//logbuch schreiben
$timestamp = time();
$result0 = mysql_query("INSERT INTO logbuch (zeit, benutzername, passwort) VALUES ('$timestamp','$benutzername', '$passwort')");
//logbuch schreiben ENDE
$result=mysql_query("SELECT * FROM benutzer WHERE benutzername='$benutzername'");
$row = mysql_affected_rows();
if ($row<=0)
{
$fehlermeldung = "Der Benutzername existiert nicht!";
}
else
{
$result2=mysql_query("SELECT * FROM benutzer WHERE benutzername='$benutzername' AND benutzerpasswort='$passwort'");
while($daten3=mysql_fetch_array($result2))
{
$name1=$daten3[3];
$verein=$daten3[5];
$gruppe=$daten3[6];
$code=$daten3[7];
}
$row2 = mysql_affected_rows();
if ($row2<=0)
{
$fehlermeldung = "Falsches Passwort!";
}
else
{
session_start();
session_register(name1);
session_register(verein);
session_register(gruppe);
session_register(code);
header("Location: login2.php");
}
}
}
...
...
...
<body bgcolor="#666666" link="#0000FF" vlink="#0000FF" alink="#0000FF">
<table width="100%" border="0" height="100%">
<tr>
<td>
<div align="center" class="weiss10">
<p class="Roman_blau14"><span class="gruen16"><img src="key.gif" width="60" height="85"><br>
<br>
Bitte geben Sie Benutzername und Passwort ein um sich anzumelden.</span><b class="gruen24"><a href="index2.htm" class="gruen24"></a></b></p>
<form method="POST" action="login.php">
<p class="Roman_blau14">
<input type="text" name="benutzername" size="20">
<br>
<input type="password" name="passwort" size="20">
<br>
<br>
<input type="submit" value="Anmelden" name="submit">
</p>
</form>
<p class="Roman_blau14"><span class="gelb10"> <?echo $fehlermeldung;?></span></p>
</div>
</td>
</tr>
</table>
</noscript>
</body>
</html>
|
Der Quellcode von login2.php:
Zitat:
<?php
session_start();
$name1=$_SESSION['name1'];
$name2=$_SESSION['name2'];
$gruppe=$_SESSION['gruppe'];
$code=$_SESSION['code'];
if (!isset($code) || $code!=30304041)
{
header("Location: login.php");
}
switch($name2)
{
case "user1": header("Location: auswahl_1.php");break;
case "user2": header("Location: auswahl_2.php");break;
case "user3": header("Location: auswahl_3.php");break;
}
?>
|
|
|
|
24.05.2005, 17:32
|
#54
|
|
TP-Greis
Registriert seit: Mar 2001
Ort: Berlin, Germany
|
header("Location: login.php")
Das ist im übrigen auch falsch - dass Dich darauf noch keiner hingewiesen hat ... siehe:
Zitat:
|
RFC 2616 schreibt im Abschnitt 14.30 Location eine sog. absoluteURI vor, d.h. die Adresse muss mit http:// beginnen, relative Anweisungen à la "Location: index.html" sind nicht standardkonform! Manche Browser sind zwar so tolerant, relative Angaben zu verstehen und in der Lage, selbständig die absolute Adresse zu ermitteln, aber verlassen kann man sich darauf nicht; die PHP-Funktion fopen() z.B. scheitert an derart ungültigen Location-Angaben.
|
Quelle: http://www.php-faq.de/q/q-http-redirect.html
__________________
“My software never has bugs. It just develops random features ...”
» DevShack - die Website des freien Webentwicklers Boris
|
|
|
24.05.2005, 17:45
|
#55
|
|
TP-Special Mod
Registriert seit: Feb 2005
Ort: Haan / NRW
|
@boris - seltsam, das meine ganzen Weiterleitungen funktionieren - und das ohne absoluter Adressierung
@dieter99 - session_register() ist veraltet, vielleicht liegt es daran.
nimm statt dessen
$_SESSION['code']="wert";
session_destroy reich auch nicht ganz, mach zusätzlich
$_SESSION=Array();
Geändert von steffenk (24.05.2005 um 17:56 Uhr).
|
|
|
24.05.2005, 17:50
|
#56
|
|
TP-Greis
Registriert seit: Mar 2001
Ort: Berlin, Germany
|
Da steht ja auch "Manche Browser sind zwar so tolerant" ... aber falsch ist es dennoch und man sollte nicht darauf vertrauen.
Eine PHP-Weiterleitung mit header() ist schon was anderes als ein meta-refresh ...
__________________
“My software never has bugs. It just develops random features ...”
» DevShack - die Website des freien Webentwicklers Boris
|
|
|
24.05.2005, 17:58
|
#57
|
|
TP-Special Mod
Registriert seit: Feb 2005
Ort: Haan / NRW
|
ok, werds mir merken - Aber das Problem hier ist nicht die fehlerhafte Weiterleitung sondern die Nichtkenntnisnahme der Session-Vars
|
|
|
|
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
|
|
|
| Themen-Optionen |
Thema durchsuchen |
|
|
|
| Thema bewerten |
|
|
Forumregeln
|
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.
HTML-Code ist aus.
|
|
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:00 Uhr.
|
 |