WCM Forum

WCM Forum (http://www.wcm.at/forum/index.php)
-   Programmierung (http://www.wcm.at/forum/forumdisplay.php?f=17)
-   -   PHP im Framest? (http://www.wcm.at/forum/showthread.php?t=43115)

Nightstalker 16.01.2002 02:21

PHP im Framest?
 
Hab da mal eine kleine Frage...
vielleicht is diese Frage auch sau blöd
aber ich komm nicht drauf und nachlesen ist auch mühsam.

Es ist folgendes, ich hab ein Scrip welches einen Link
zu einer datei (index.php) sendet allerdings mit einer
action dabei. (als Beispiel die Email Benachrichtigung
des WCM Forums http://www.wcm.at/vb2/showthread.php...2&goto=newpost)

Alles schön und gut geht einwandfrei, mein Problem ist
folgendes, der Link http://www.wcm.at/vb2/showthread.php...2&goto=newpost soll in einem FRAMESET
geöffnet werden. Das heisst, die Datei wird im Frameset
frame.html im Mainframe geöffnet bzw. sie SOLLTE da
geöffnet werden. Ist das denn irgendwie möglich???

Kurz gesagt:

http://www.wcm.at/vb2/showthread.php...2&goto=newpost

soll im hauptframe eines Framesets geöffnet werden

Danke im Voraus...
MfG Nighty

kingchaos01 16.01.2002 09:34

Hallo!
Es gibt die Möglichkeit, mittels JavaScript ein "fehlendes" Frameset nachzuladen.
Das JavaScript überprüft also, ob es Teil eines Framesets ist, und wenn nicht, lädt es was nach.

Wie das genau geht, sollte auf den einschlägigen JavaScript-Seiten nachzulesen sein.
Scheint mir die einfachste Möglichkeit zu sein.

Sollte dir eine serverseitige Skriptsprache zur Verfügung stehen, kannst du auch das Frameset selbst mit angehängten Parametern aufrufen, und der Server bastelt dir den entsprechenden Framest zusammen.

hth,
Roland

Who-T 16.01.2002 09:44

hmm, du kannst das frameset als php-datei machen, über ein session_start() eine session initialisieren und alle variablen in die session registern, dann die session in dem main-fenster des frames (der entsprechenden php-datei halt) wieder mit session_start() initialisieren, dann hast du die variablen zur verfügung.

Alex1 16.01.2002 10:22

Wieso setzt Du den Link nicht auf das Frameset und lädst als Hauptframe eben diesen Link mit dem action tag?

Nightstalker 16.01.2002 16:45

Nun also Java halt ich persönlich für keine gute
Lösung, ich mag java nicht und abgesehn davon müsste
ich dan mein Script wieder auf den Kopf stellen.

Was die Sessions angeht muß ich sagen, ich weiß was du
meinst aber ich hab einen totalen hänger wenn ich mir das
im Kopf so durchdenk. Vielleicht kann mir das wer mal
anhand eines Beispiels erklären oder so *g*

@alibert1: Was deinen Vorschlag betrifft, der ist zwar nett
nur ergibt sich dabei daß problem daß dann IMMER dei GLEICHE
Seite geladen wird was aber nicht möglich ist da es ja jedesmal
eine andere ist, also z.B.:
http://www.wcm.at/vb2/showthread.php...9&goto=newpost
http://www.wcm.at/vb2/showthread.php...9&goto=newpost
http://www.wcm.at/vb2/showthread.php...9&goto=newpost

Und es ist technisch nicht (moment mal...)
Naja vielleicht doch... dann müsste aber bei jedem Link der
erzeugt wird eine Variable generiert werden die dann... nein
das geht so nicht...

Also das bereitet mir echt Kopfschmerzen... :(
HILFEEEE

MfG Nighty

Alex1 16.01.2002 17:16

Zitat:

Naja vielleicht doch... dann müsste aber bei jedem Link der erzeugt wird eine Variable generiert werden die dann...
Genau DAS habe ich gemeint...ist gar nicht so schwer, da die Variablen ja dynamisch die Werte zugewiesen bekommen.
Wennst das einmal hinkriegst, funktionierts für alle Seiten.

Nightstalker 16.01.2002 17:33

Hast eine Idee wo ich da anfangen sollte???
Das Script ist eine Email Benachrichtigung und ist eigentlich
genau gleich wie die hier im WCM:

Script mit sendmail funktion die dann folgendes macht:

function MailNotification($forum, $thread, $poster)
{
global $config,$PHP_SELF,$HTTP_SERVER_VARS,$realm;

$result = db_select("SELECT u.* FROM $config[mtable] AS m, $config[utable] AS u WHERE m.fname = '$forum' AND m.threadid = '$thread' AND u.username = m.poster AND u.options & 64 GROUP BY u.username");

while($row = db_getarray($result))
{
if ($row[username] != $poster)
$users[] = $row;
}

$topicname = threadtitle($forum,$thread);

$subj = "Antwort auf das Thema $topicname im $config[title]";

$from = "forum";

$msg = "Forum Nachricht";
$msg .= "\n\n";
$msg .= "$poster hat auf Ihren Beitrag $topicname geantwortet\n";
$msg .= "\n";
$msg .= "Hier gehts zu Ihrem Beitrag:\n";
$msg .= "http://$HTTP_SERVER_VARS[HTTP_HOST]$PHP_SELF?action=displaythread&forum=$forum&id=$th read&realm=$realm";
$msg .= "\n\n";
$msg .= "Sie haben die Email Beanchrichtigung für Antworten auf Ihre Beiträge aktiviert\n";
$msg .= "\n";

if (is_array($users))
foreach ($users as $user)
if ($user[email])
mail($user[email], $subj, $msg, "From: $from\n");

}


Soweit alles klar... jetzt soll der Link (in ROT) aber eben
in besagtem Frameset forum.html geöffnet werden da ja sonst der
Rest der Webseite fehlt :(

Nun ich bin nicht ganz von gestern aber was programmieren betrifft
bin ich leider nicht so fix also wenn mir da wer ein bisserl
Nachhilfe geben könnte *g*

Thanx
MfG Nighty

Alex1 16.01.2002 19:34

Äh...heute bin ich - ehrlich gesagt - schon zu müde...ich antworte gerne morgen, ausserdem kriegst Du eine PM von mir - könnte interessant für Dich sein ;)

Nightstalker 16.01.2002 19:55

Mal sehen... Ich bin jedenfalls dankbar für
jede Hilfe :)

Bin wiegesagt nicht so ganz fit was solche tiefgreifenden
"programmierarbeiten" angeht... naja.

Ich mein ich versteh schon a bisserl was aber irgendwann
endet das zumindest in meinem Kopf wie folgt:

10 print: Wie geht das gleich?
20 x=2
30 y=1
40 for x > y goto 10 else goto 50
50 prein: So gehts!

:lol:

Alex1 16.01.2002 20:37

Ha!
Ich habs!:D
Hat mir keine Ruhe gelassen...
Du rufst statt der eigentlichen Seiten (bzw. gibst sie im Mail an) einfach das Frameset (oder ein speziell dafür gestaltetes Frameset) als php datei auf und übergibst ihm alle Parameter wie Du sie brauchst.
Innerhalb des Framesets verwendest Du die übergebenen Variablen, um die URL
http://$HTTP_SERVER_VARS[HTTP_HOST]$PHP_SELF?action=displaythread&forum=$forum&id=$th read&realm=$realm
im gewünschten Fenster des Framesets aufzurufen...
Dazu wirst Du allerdings statt $PHP_SELF den Scriptnamen angeben müssen.
Geht das?:p

P.S.: Jetzt ist aber meine Freundin schon ziemlich urböse :) Bis morgen!


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

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
© 2009 FSL Verlag