Txt Chat Probleme

d4k4

Erfahrenes Mitglied
Also ich hab eine Chat in PHP geschrieben der mit Iframes arbeitet.
der user sieht wenn er eingeloggt ist nur das chatfenster und ein eine option wo er sich einloggen kann mit einem namen. nachrichten schreiben kann er nicht. erst wenn er einen namen eingegeben hat, kann er nachrichten schreiben.
ich möchte jetzt folgendes wissen:
wie schaff ich es, dass die variable name, die der user eingegeben hat behalten wird. mit session geht nicht, da alles auf einer seite ist und der die form action für die message PHP_SELF ist.
weiss wer rat?
 
mach ein hidden feld...

oder schreib das in eine datei mit der ip als namen, aber das mit dem hidden feld sollte doch gehen..
 
aber wenn ich die seite mit PHP_SELF ansteuer dann geht die hidden feld information doch genauso verloren wie die normale variable $name
 
ich post mal den code ;)
gekürzt, hab nur das relevante drin

chat1.php

PHP:
<HTML>
 <body>
 <form method="post" action="chat2.php">
<input name="name" type="text" size="20" maxlength="20">
<input type="submit"  value="Chat betreten">
</form>	
<IFRAME SRC="chatview.php" NORESIZE ALIGN="center" SCROLLING="yes" HEIGHT="200" WIDTH="500" BORDER="0"></IFRAME> 
<BODY><center><table width=135>
</body>
</html>

<?
session_start();
session_register("name");
?>

chat2.php

PHP:
<?

session_start();

....in txt eintragen....

?>

<HTML>
 <body>
<IFRAME SRC="chatview.php" NORESIZE ALIGN="center" SCROLLING="yes" HEIGHT="200" WIDTH="500" BORDER="0"></IFRAME> 
<BODY  bgcolor="#FFFFFF" border="0" bgproperties="fixed"><center><table width=135>
<form action="<? $PHP_SELF ?>" method="post">
Nachricht:<br><input type="text" name="message" size="20" maxlength="100"><br><br>
<input type="submit" value="Chat">
</form>
</body>
</html>

so wenn ich jetzt chat2.php abschick geht doch die variable $name verloren
 
zu 1:

das geht so nicht, duz kannst nicht die session _nach_ der html-ausgabe starten!

zu 2: entweder name war nie registriert (wegen 1) oder die session geht nach dem post verloren .. lass dir mal die session id's vor und nach dem post ausgeben.
 
also der name wird registriert. ich kann ihn mir beim ersten mal mir echo ausgeben lassen
 
echo $name wird klappen, d.h. aber noch lange nicht, dass dieser auch in der session registriert ist!

$HTTP_SESSION_VARS['name'] oder $_SESSION['name'], dort sollte der name drinstehen, dann isser auch registriert.
 
ok
ist ja schön dass du mir erzählst, dass es so nicht geht :-)
aber das weiß ich auch schon

wenn du mir sagen könntest, wie ichs besser machen kann... ;)
 
wiegesagt, in chat1.php solltest du am ende der datei einige fehlermeldungen erhalten, da du die session nunmal nicht _nach_ einer ausgabe starten kannst. session_start in die allererste zeile der datei!
 
Zurück