PHP Forum

PHP Forum (http://www.selfphp.de/forum/index.php)
-   PHP Grundlagen (http://www.selfphp.de/forum/forumdisplay.php?f=12)
-   -   [FRAGE] Formulardaten an einen Unterframe senden?? (http://www.selfphp.de/forum/showthread.php?t=25244)

grandmaster 28.04.2014 15:35:02

[FRAGE] Formulardaten an einen Unterframe senden??
 
Hi Leute,

ich bin gerade daran für meine Prüfung in Informatik einen Chat zu erstellen.
Die erste Seite (der Index) begrüßt den User und fordert ihn auf einen Usernamen einzugeben. Mit Enter wird das Formular abgeschickt und die nächste Datei wird geöffnet.

Die nächste Datei (x_chatfenster.php) besteht aus 2 Frames:
HTML-Code:

HTML-Code:

<html>
<frameset rows="3*,*">
        <frame src="x_ausgabe.php" name="ausgabe" noresize>
        <frame src="x_eingabe.php" name="eingabe" noresize>       
</frameset>
</html>

Der obere Frame (x_ausgabe.php) ist für die ausgabe der Nachrichten zuständig, während der untere Frame (x_eingabe.php) für das Eintippen des Textes und das Senden der Nachricht zuständig ist.

Die bereits vorhandenen Nachrichten speichere und rufe ich nicht mittels einer Datenbank auf sondern mit einer Textdatei. (Ja ich weiß nicht wirklich klasse aber darum gehts nicht)

Mein Problem ist jetzt folgendes:
Ich übergebe den einzugebenden Usernamen von der ersten Seite (x_index.htm) an die zweite Seite (x_chatfenster.php) welche aus den beiden Dateien x_ausgabe.php und x_eingabe.php besteht.
Wenn ich nun aber versuche in x_eingabe.php den Usernamen aufzurufen mithilfe $_POST["username"] bekomm ich einen Error weil mein Programm die Variable nicht kennt.

Wie kann ich den Usernamen von meiner ersten Seite an einen Frame des Dokuments x_chatfenster.php senden um mit ihm arbeiten zu können?

Ich hoffe ich konnte mein Problem möglichst genau schildern und hoffe auf hilfreiche Antworten!

vt1816 28.04.2014 23:17:12

AW: [FRAGE] Formulardaten an einen Unterframe senden??
 
Hallo und willkommen hier im Forum.


Hast Du schon mal etwas von SESSION gehört/gelesen?

meikel (†) 29.04.2014 19:50:04

AW: [FRAGE] Formulardaten an einen Unterframe senden??
 
Zitat:

Zitat von vt1816 (Beitrag 146291)
Hast Du schon mal etwas von SESSION gehört/gelesen?

Das wird ihm nicht helfen, weil sein Problem die Frames sind.

KA, wie sein Script aussieht, aber Chat mit Browser und PHP wird eh nur Krampf werden. Der Client weiß nich, obs was neues gibt, und der Server darf nix ungefragt schicken.

Spwas erledigt man mit IRC und nicht mit HTTP.

Ckaos 30.04.2014 07:29:50

AW: [FRAGE] Formulardaten an einen Unterframe senden??
 
Hi,

Zitat:

bekomm ich einen Error weil mein Programm die Variable nicht kennt
Ist ja auch klar.
PHP = Serverseitig, HTML = Clientseitig
Du schickst POST an x_chatfenster.php welches HTML zusammenbaut, welches dann wieder
PHP Dateien aufruft die nunmal kein POST mehr sehen.

Du solltest in x_chatfenster.php entweder wie vt1816 schrieb eine SESSION starten welche die beiden PHP Dateien dann lesen oder du rufst Sie mit einem GET Parameter auf, den x_chatfenster.php setzt.

z.B. x_chatfenster.php
PHP-Code:

<?php
   $ext 
'';
   if(isset(
$_POST) && isset($_POST['username'])){
      
$ext "?username=".$_POST['username'];
   }
?>
<html>
<frameset rows="3*,*">
    <frame src="x_ausgabe.php<?=$ext?>" name="ausgabe" noresize>
    <frame src="x_eingabe.php<?=$ext?>" name="eingabe" noresize>    
</frameset>
</html>


MfG

CKaos

meikel (†) 30.04.2014 11:12:52

AW: [FRAGE] Formulardaten an einen Unterframe senden??
 
Zitat:

Zitat von Ckaos (Beitrag 146297)
Ist ja auch klar.
PHP = Serverseitig, HTML = Clientseitig
Du schickst POST an x_chatfenster.php welches HTML zusammenbaut, welches dann wieder PHP Dateien aufruft die nunmal kein POST mehr sehen.

Das ist etwas ungenau. Bei HTTP "geht alle Macht vom Client aus". Wenn das HTML (was anderes als HTML, Lavascript und Java versteht der Browser ja nicht) ein Framekonstrukt ist, dann sind das (in dem Falle) drei unterschiedliche Ereignisse, die sich untereinander nicht kennen. Man kann sowas mittels Javascript miteinander verhäkeln, aber Javascript ist
1. kein PHP und
2. werden solche Fragen drei Türen weiter gestellt und ggf. auch beantwortet.

Zitat:

Du solltest in x_chatfenster.php entweder wie vt1816 schrieb eine SESSION starten welche die beiden PHP Dateien dann lesen oder du rufst Sie mit einem GET Parameter auf, den x_chatfenster.php setzt.
Das triffts leider auch nicht, weil einzig der Browser entscheidet, welche externe Resourcen er wann und ob abruft. Völlig Wurscht, ob der User klickt oder Javascript den Klick simuliert.

Sessions können da nur dann etwas helfen, wenn grundsätzlich ne Keks-Session eingerichtet wird. Den Fallback (wenn der Client den Keks nich fressen will) einzuflicken, wäre noch übler: möglich, aber sehr viel überflüssige Arbeit.

Aber eben wie gesagt: man kann mit nem Uhrmacherhämmerchen ne Cheops-Pyramide basteln, aber wer würde sich sowas antun. Für Chat gibts IRC - Internet Relay Chat. Da verteilt der Server alle neuen Texte automatisch an die angeschlossenen Clients. Aber eben per IRC Protokoll und nicht per HTTP. Deshalb nicht, weil HTTP genau das nicht kann, was ein Chat können muß.

Btw: Du weißt das natürlich, aber der Fragesteller kennt das offensichtlich noch nicht.


Alle Zeitangaben in WEZ +2. Es ist jetzt 21:18:08 Uhr.

Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.