Forum
Tipps
News
Menu-Icon

Weiterleitung?

Hallo allerseits,

ich habe grad mal versucht, in meinem Chat eine Weiterleitung einzubauen, so dass man nach dem Login erst zu einer Seite gelangt, die ausgibt, man werde in 5 sekunden Weitergeleitet, allerdings lande ich dann wieder beim Login, und nicht im Chat.

Hier die Logindatei (login.php ):


<?php    echo "	<html>	<head>	  <title>Chat-Login</title>	  <link rel=\"stylesheet\" type=\"text/css\" href=\"style1.css\">	</head>	<body>	<h4>~ Chat-Login ~</h4>	<form action=\"check.php\" method=\"POST\">	<input type=\"text\" name=\"username\" id=\"username\"><br>	<input type=\"submit\" name=\"submit\" value=\"Chat betreten.\" id=\"submit\" >	</form>	</body>	</html>	";?>



Hier die Weiterleitungsdatei (check.php ):

<?php<?php    if(!isset($_POST[&#39;submit&#39;])) {	Header("Location:login.php");	exit;    } else if(!isset($_POST[&#39;username&#39;])) {	Header("Location:login.php");	exit;    } else if(trim($_POST[&#39;username&#39;]) == "") {	die("Sie müssen einen Namen eingeben, um den Chat betreten zu können. <a href=\"login.php\">Zum Login zurück.</a>");    } else {    session_start();    $_SESSION[&#39;id&#39;] = session_id();    $_SESSION[&#39;username&#39;] = $_POST[&#39;username&#39;];    die ("	<html>	<head>	  <title>Login-Check</title>	  <link rel=\"stylesheet\" type=\"text/css\" href=\"style1.css\">	  <meta http-equiv=\"refresh\" content=\"5\" URL=\"chat.php\" />	</head>	<body>	Sie werden in 5 Sekunden in den Chat eingelassen.<br><b>Ihr Benutzername: </b>".$_SESSION[&#39;username&#39;]."	</body>	</html>	");    }?>



In der datei chat.php steht lediglich ein echo-befehl, also frag ich mich wieso ich wieder beim login lande. es kommt mir so vor, als würde die datei check.php refreshed bevor weitergeleitet würde  ??? was mach ich denn jetzt?

Antworten zu Weiterleitung?:

Nimm dir diese Zeile nochmal vor:

<meta http-equiv=\"refresh\" content=\"5\" URL=\"chat.php\" />

Übrigens: Du kannst in einer PHP-Datei auch reines HTML notieren. In deiner login.php besteht absolut kein Grund, den HTML-Content über ein echo auszugeben ;)

greez 8)
JoSsiF

Ja, ich denk auch mal, dass es an dem meta-tag liegt, allerdings steht in meinem PHP-Buch, dass eine weiterleitung zu einer anderen datei so funtioniert !? was muss ich denn ändern, damit es funktioniert? steh aufm schlauch  :-\

Zum zweiten, joa, haste recht, aber da soll ja später nochwas mysql bezügliches drinnestehen (wen im moment alles chattet)  ;)

Ja, ich denk auch mal, dass es an dem meta-tag liegt, allerdings steht in meinem PHP-Buch, dass eine weiterleitung zu einer anderen datei so funtioniert !? was muss ich denn ändern, damit es funktioniert? steh aufm schlauch  :-\

Sollte mehr ein Denkanstoß sein. Dass es daran liegt, ist sicher. Aber rausfinden kannst du das allein ;)


Zum zweiten, joa, haste recht, aber da soll ja später nochwas mysql bezügliches drinnestehen (wen im moment alles chattet)  ;)

Ist deine Sache. Auch wenn ein paar Brocken PHP mit reinkommen, bietet es sich trotzdem in Templates an, das besser zu trennen, allein wegen der Lesbarkeit.

Also ich möchte wirklich nicht bösartig sein aber irgendwie erinnert mich das an einen Blondinenwitz, in welchem die Dame nicht den Ausweg aus einem Kreisverkehr findet.

Ich weiß, böse, aber ich kanns mir nicht verbeissen...

Aber guckst du mal da:  http://www.planethtml.de/html/120.shtml , vielleicht hilft es!

« Letzte Änderung: 06.10.06, 19:53:55 von andy2005 »

Lol, na danke  ::) aber wenigstens hilft mir das.

übrigens:

Ja, ich denk auch mal, dass es an dem meta-tag liegt, allerdings steht in meinem PHP-Buch, dass eine weiterleitung zu einer anderen datei so funtioniert !?
und ich habs auch so abgeschrieben wie es da stand. naja, wenigstens brauch ich dann nächste woche kein extra klopapier kaufen...

na bitte, dann hast du gleich die passende weiterleitung für dein büchlein!
aber ob der autor das so vorgesehen hatte?

mag sein, sonst würde er ja kaum so nen mist produzieren -.- ich bin davon ausgegangen, dass es so stimmt wie es da steht  :-\ naja, wenigstens funktionierts jetzt... fast  ;D

« Letzte Änderung: 06.10.06, 20:53:31 von Guuul »

...und erfahren wir auch, warum es nur fast funktioniert?

Steht da jetzt: "Sie werden in Kürze fast zum Chat umgeleitet" ?

irgendwie klappt da was mit der session net... wenn ich von der check.php seite mit dem meta-tag auf die chat.php seite  weiterleite, dann übernimmt der die variable $_SESSION['username'] net..ka wieso.

check.php (hier lässt sich die varable problemlos ausgeben.)


<?php    if(!isset($_POST[&#39;submit&#39;])) {	Header("Location:login.php");	exit;    } else if(!isset($_POST[&#39;username&#39;])) {	Header("Location:login.php");	exit;    } else if(trim($_POST[&#39;username&#39;]) == "") {	die("Sie müssen einen Namen eingeben, um den Chat betreten zu können. <a href=\"login.php\">Zum Login zurück.</a>");    } else {    session_start();    $_SESSION[&#39;id&#39;] = session_id();    $_SESSION[&#39;username&#39;] = $_POST[&#39;username&#39;];    echo "	<html>	<head>	  <title>Login-Check</title>	  <link rel=\"stylesheet\" type=\"text/css\" href=\"style1.css\">	  <meta http-equiv=\"refresh\" content=\"5; URL=chat.php\">  	</head>	<body>	Sie werden in 5 Sekunden fast weitergeleitet.<br><b>Ihr Benutzername: </b>".$_SESSION[&#39;username&#39;]."	</body>	</html>	";    }?>



chat.php (hier nicht mehr.)


<?php    include "config.php";    @mysql_connect(MYSQL_HOST, MYSQL_USER, MYSQL_PASS) OR die(mysql_error());    mysql_select_db(MYSQL_DATABASE) OR die(mysql_error());    if(isset($_POST[&#39;submit&#39;])) {	if(trim($_POST[&#39;message&#39;]) != "") {	    $sql = "INSERT INTO chat			(name, text, date, time)		    VALUES			(&#39;".addslashes(htmlspecialchars($_SESSION[&#39;username&#39;]))."&#39;,			&#39;".addslashes(htmlspecialchars($_POST[&#39;message&#39;]))."&#39;,			NOW(), 			NOW())";                	    mysql_query($sql) OR die(mysql_error());	    $sql = "SELECT			ID		    FROM			chat		    ORDER BY			ID ASC";	    $result = mysql_query($sql) OR die(mysql_error());	    $row = mysql_fetch_assoc($result);	    if(mysql_num_rows($result) > 11) {		$data = fopen("log.txt","a");		fwrite($data, $row);		fclose($data);	        $sql = "DELETE FROM			    chat			WHERE			    ID=&#39;".$row."&#39;";	        mysql_query($sql) OR die(mysql_error());	    }	}    }    echo "	<html>	<head>	  <title>Chat</title>	  <link rel=\"stylesheet\" type=\"text/css\" href=\"style2.css\">	</head>	<body>	<h4>~ Chat ~</h4>	<form action=\"chat.php\" method=\"POST\">	<div id=\"main\">		<table border=\"0\" cellpadding=\"0\" cellspacing=\"10\" width=\"100%\" height=\"100%\">			<tr>				<td height=\"400\" width=\"10\" valign=\"top\" align=\"left\">					<iframe src=\"messages.php\" frameborder=\"none\" id=\"chatlog\"></iframe>				</td>			</tr>			<tr>				<td valign=\"top\" align=\"left\">						<input type=\"text\" name=\"message\" id=\"message\" /><br>						<input type=\"submit\" name=\"submit\" value=\"Los!\" id=\"submit\" />						<img src=\"img/smilies/angry.gif\" />						<img src=\"img/smilies/angry.gif\" />						<img src=\"img/smilies/angry.gif\" />						<img src=\"img/smilies/angry.gif\" />						<img src=\"img/smilies/angry.gif\" />						<img src=\"img/smilies/angry.gif\" />						<img src=\"img/smilies/angry.gif\" />						<img src=\"img/smilies/angry.gif\" />						<img src=\"img/smilies/angry.gif\" />						<img src=\"img/smilies/angry.gif\" />						<img src=\"img/smilies/angry.gif\" />						<img src=\"img/smilies/angry.gif\" />						<img src=\"img/smilies/angry.gif\" />						<img src=\"img/smilies/angry.gif\" />				</td>			</tr>		</table>	</div>	</form>	</body>	</html>	";?>


Wird die Session auch ordnungsgemäß gestartet bzw. sind etwa die Cookies ausgeschaltet?
In diesem Falle würden die Sessionvariablen auch im Nirwana verschwinden.

Vielleicht sollten die Infos auf anderem Wege übergeben werden, damit oben angeführtes Session-Problem nicht auftreten kann.

session.use_cookies   On   On
session.use_only_cookies   Off   Off

muss ich das 2. auch auf on stellen?  ???
// edit: hab schon im tpm verzeichnis geguckt, da sid die sessions in dateien angelegt worden.

Vielleicht sollten die Infos auf anderem Wege übergeben werden, damit oben angeführtes Session-Problem nicht auftreten kann.

öhm..ja..wie denn dann?
« Letzte Änderung: 06.10.06, 22:17:51 von Guuul »

« ChatVideofilme auf Website »
 

Fremdwörter? Erklärungen im Lexikon!
Snapchat
SnapChat ist eine kostenlose Messaging-App, mit der - ähnlich wie bei WhatsApp oder dem Facebook Messenger - Nachrichten an andere Personen oder Gruppen gesendet wer...

Login/Logout
Als Login, beziehungsweise Logout wird das An- und Abmeldung vom Zugriff auf geschützte Daten oder Rechner bezeichnet. Diese Methode wird meistens genutzt um private...

Quellcode
Ein Quellcode, auch als Quelltext bekannt, bezeichnet den unkompilierten Programm-Code einer Software. Quell- oder Programm-Code ist der auch für Menschen lesbare Co...