php-resource



Zurück   PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr > Entwicklung > PHP Developer Forum
 

Login

 
eingeloggt bleiben
star Jetzt registrieren   star Passwort vergessen
 

 

 


PHP Developer Forum Hier habt ihr die Möglichkeit, eure Skriptprobleme mit anderen Anwendern zu diskutieren. Seid so fair und beantwortet auch Fragen von anderen Anwendern. Dieses Forum ist sowohl für ANFÄNGER als auch für PHP-Profis! Fragen zu Laravel, YII oder anderen PHP-Frameworks.

Antwort
 
LinkBack Themen-Optionen Thema bewerten
  #1 (permalink)  
Alt 15-09-2006, 11:40
Hans Bauer
 Newbie
Links : Onlinestatus : Hans Bauer ist offline
Registriert seit: Sep 2006
Ort: BW
Beiträge: 6
Hans Bauer ist zur Zeit noch ein unbeschriebenes Blatt
Standard DOM-Datei in anderen Frame laden

Hallo an alle,

ich habe das Problem, dass ich mit php den Inhalt eines anderen Frames aktualisieren möchte.

Es geht darum, dass ich in einem Frame (F2) ein Suchformular habe, in diesem Frame die komplette Suche durchführe, kontrolliere und mit php die Ergebnisse in ein DOM-Dokument einfüge ($xmldok = domxml_new_doc(..)). Dieses DOM-Dokument mit den Suchergebnissen soll im Erfolgsfall in einem anderen Frame (F5) dargestellt werden (z.B. mit $xmldok->dump_file(..) oder dump_mem(..)). Wie kriege ich aber das DOM-Dokument mit php in den anderen Frame? Entschuldigung, wenn die Frage vielleicht zu blöd ist, aber ich komme dabei einfach nicht weiter.

Zur Verdeutlichung meines beabsichtigten Seitenaufbaus (www dot h-bauer dot de):
Frames auf der linken Seite:
- F1: Seitennavigation
- F2: Suchformular (geplant)
- F3: Verstecker Frame für Sounds
- F4: Statistik und noch ein paar Kleinigkeiten
Frame auf der rechten Seite:
- F5: Hauptframe zur Seitendarstellung und für die Suchergebnisse

Für jedwede Hinweise bin ich sehr dankbar.
Mit den besten Wünschen
Hans Bauer


P.S.: Der Vorschlag, im Form-Tag des Suchformulars einfach den Frame F5 als Target vorzugeben ist leider nicht sinnvoll, da dabei bei jedem Suchlauf - unabhängig davon ob Ergebnisse gefunden wurden oder nicht, der Frame F5 aufgefrufen und neu geladen werden würde. Das ist aber nicht erwünscht!

Die php-Suche habe ich die letzten Wochen programmiert und sie funktioniert bereits auf framelosen Seiten. Jetzt muss die Suche nur noch auf Seiten mit Frames laufen, dann werde ich das Programmm unter der GPL zum kostenfreien Download anbieten.

Geändert von Hans Bauer (15-09-2006 um 12:08 Uhr)
Mit Zitat antworten
  #2 (permalink)  
Alt 15-09-2006, 14:28
wahsaga
  Moderator
Links : Onlinestatus : wahsaga ist offline
Registriert seit: Sep 2001
Beiträge: 25.236
wahsaga befindet sich auf einem aufstrebenden Ast
Standard Re: DOM-Datei in anderen Frame laden

Zitat:
Original geschrieben von Hans Bauer
Wie kriege ich aber das DOM-Dokument mit php in den anderen Frame?
In dem du entweder direkt auf _top zielst, und das komplette Frameset ersetzt - oder gar nicht.

PHP interessiert sich nicht für irgendwelche Konstrukte wie Frames, die es auf dem Client vielleicht gibt.
__________________
I don't believe in rebirth. Actually, I never did in my whole lives.
Mit Zitat antworten
  #3 (permalink)  
Alt 15-09-2006, 14:46
Hans Bauer
 Newbie
Links : Onlinestatus : Hans Bauer ist offline
Registriert seit: Sep 2006
Ort: BW
Beiträge: 6
Hans Bauer ist zur Zeit noch ein unbeschriebenes Blatt
Standard Danke

Vielen Dank wahsaga,

das erklärt mir dann auch, warum ich dazu trotz ausgiebiger Suche in der php Dokumentation keine Antwort gefunden habe.

Auf _top zu zielen (meinst du damit den Verweis target="_top" im form-Tag?) und dann damit alle Frames neu einrichten zu müssen, erscheint mir in Anbetracht der Fülle doch etwas mühselig und vor allem nicht ohne weiteres übertragbar auf den allgemeinen Fall. Das Script soll schließlich unter der gpl freigegeben werden.

Gibt es aber vielleicht alternativ dazu die Möglichkeit das mit php erzeugte DOM-Dokument via Javascript an einen anderen Frame zu übergeben? Unter Javascript kenne ich bislang nur die Möglichkeit eine bestehende Datei über parent.frame_name.location.href=".." einzulesen. Ich möchte hier aber nicht das DOM-Dokument zunächst abspeichern müssen (eventuelle Konflikte bei Mehrfachzugriff), sondern nur den Datenstream (z.B.: $xmldok->dump_mem(..)) an das Dokument des Frames weiterleiten.

Nochmals vielen Dank und vielleicht hat zu obiger Fragestellung jemand eine Antwort parat.

Vielen Dank für eure Hilfsbereitschaft
Hans Bauer
Mit Zitat antworten
  #4 (permalink)  
Alt 15-09-2006, 15:05
wahsaga
  Moderator
Links : Onlinestatus : wahsaga ist offline
Registriert seit: Sep 2001
Beiträge: 25.236
wahsaga befindet sich auf einem aufstrebenden Ast
Standard Re: Danke

Zitat:
Original geschrieben von Hans Bauer
Auf _top zu zielen (meinst du damit den Verweis target="_top" im form-Tag?) und dann damit alle Frames neu einrichten zu müssen, erscheint mir in Anbetracht der Fülle doch etwas mühselig und vor allem nicht ohne weiteres übertragbar auf den allgemeinen Fall. Das Script soll schließlich unter der gpl freigegeben werden.
Und dann verwendet es immer noch Frames ...?
Zitat:
Gibt es aber vielleicht alternativ dazu die Möglichkeit das mit php erzeugte DOM-Dokument via Javascript an einen anderen Frame zu übergeben? Unter Javascript kenne ich bislang nur die Möglichkeit eine bestehende Datei über parent.frame_name.location.href=".." einzulesen. Ich möchte hier aber nicht das DOM-Dokument zunächst abspeichern müssen (eventuelle Konflikte bei Mehrfachzugriff), sondern nur den Datenstream (z.B.: $xmldok->dump_mem(..)) an das Dokument des Frames weiterleiten.
Du musst es nicht speichern - du brauchst nur eine Ressource, die dieses Dokument ausliefert, und die du per JS in den Frame laden kannst.

Also bspw. Formulardaten in Session speichern, per JS Script XY in Frame laden - und Script XY mit den Daten aus der Session on-thy-fly das Dokument erzeugen lassen.
__________________
I don't believe in rebirth. Actually, I never did in my whole lives.
Mit Zitat antworten
  #5 (permalink)  
Alt 15-09-2006, 15:14
Hans Bauer
 Newbie
Links : Onlinestatus : Hans Bauer ist offline
Registriert seit: Sep 2006
Ort: BW
Beiträge: 6
Hans Bauer ist zur Zeit noch ein unbeschriebenes Blatt
Standard Vielen Dank

Vielen Dank für die rasche Antwort.

So wie es aussieht kommt doch noch mehr Arbeit auf mich zu als ich zunächst befürchtet hatte. Na dann mal frisch an die Arbeit... Das Ergebnis werde ich gerne in diesem Forum bekanntgeben. Vielleicht kann es ja dann auch anderen als Hilfestellung dienen.

Nochmals vielen Dank für die rasche Hilfe.
Hans Bauer
Mit Zitat antworten
  #6 (permalink)  
Alt 15-09-2006, 17:08
Hans Bauer
 Newbie
Links : Onlinestatus : Hans Bauer ist offline
Registriert seit: Sep 2006
Ort: BW
Beiträge: 6
Hans Bauer ist zur Zeit noch ein unbeschriebenes Blatt
Standard Sorry für mein begrenztes Javawissen

Hallo wahsaga und der Rest des Forums.

Sorry für die erneute Störung. Ich habe bis jetzt versucht, die vorstehenden Vorschläge umzusetzen. Mir ist inzwischen klar, wie ich Informationen in Sessions speichere und wie ich mit Javascript den Inhalt eines Dokuments ändern kann. Ich habe es auch geschafft aus dem Suchframe (F2) eine Javascript-Routine im Ergebnisframe (F5) aufzurufen.

Aber wie schaffe ich es, im Ergebnisframe (F5) per Javascript auf die Sessiondaten des Suchframes (F2) zuzugreifen? Ich habe hier einen fürchterlichen Hänger.

Die Übergabe des kompletten html-codes des Suchergebnisses via Argument von (F2) nach (F5) an eine Javascriptfunktion scheint leider nicht zu funktionieren, oder habe ich im nachfolgenden Beispiel einen Fehler gemacht?
Code:
Im Frame (F2):
--------------
<?php
$text = "Der html-code des Suchergebnisses ist hier drin";
print "<script type=\"text/javascript\">\n";
print  "parent.F5.location.href = 'F5.html';";
print  "parent.F5.includeResults(\"" . $text . "\")";
print "</script>";
?>

Im Frame (F5) ist die Datei 'F5.html':
--------------------------------------
<html><head></head>
<body bgcolor="#EEEEEE">
<script type="text/javascript">
 function includeResults(html_text) {
   document.getElementById("content").firstChild.nodeValue = html_text; }
</script>
<span id="content">...</span>
</body></html>
Nochmals herzlichen Dank für die Hilfsbereitschaft
Hans Bauer

Geändert von Hans Bauer (15-09-2006 um 17:28 Uhr)
Mit Zitat antworten
  #7 (permalink)  
Alt 15-09-2006, 18:15
wahsaga
  Moderator
Links : Onlinestatus : wahsaga ist offline
Registriert seit: Sep 2001
Beiträge: 25.236
wahsaga befindet sich auf einem aufstrebenden Ast
Standard Re: Sorry für mein begrenztes Javawissen

Zitat:
Original geschrieben von Hans Bauer
Aber wie schaffe ich es, im Ergebnisframe (F5) per Javascript auf die Sessiondaten des Suchframes (F2) zuzugreifen?
Javascript greift gar nicht auf Sessiondaten zu - Sessiondaten werden serverseitig gespeichert, und darauf hat JS keinen Zugriff.

Wenn ich mich dann nochmal selbst zitieren darf:
Zitat:
Also bspw. Formulardaten in Session speichern, per JS Script XY in Frame laden - und Script XY mit den Daten aus der Session on-thy-fly das Dokument erzeugen lassen.
Mit dem fett markierten ist natürlich ein serverseitiges Script gemeint, welches du in den Frame hineinlädst.
__________________
I don't believe in rebirth. Actually, I never did in my whole lives.
Mit Zitat antworten
  #8 (permalink)  
Alt 15-09-2006, 21:21
Hans Bauer
 Newbie
Links : Onlinestatus : Hans Bauer ist offline
Registriert seit: Sep 2006
Ort: BW
Beiträge: 6
Hans Bauer ist zur Zeit noch ein unbeschriebenes Blatt
Standard Bin wohl zu dusselig

Servus wahsaga,

herzlichen Dank für die rasche Antwort. Aber ich bin wahrscheinlich zu dusselig - oder zu verbohrt - um Deine Antwort deuten zu können. Auch ich vermutete, dass Javascript als clientseitige Lösung nicht auf die Serverseite von php zugreifen kann. Mit meinem Versuch den html-code via Javascript auf den Zielframe (F5) zu übertragen habe ich doch schon einen kleinen Teil geschafft, oder bin ich vielleicht auf dem falschen Dampfer mit meinem Code-Beispiel?

Nur wie schaffe ich es, damit ein Html-Dokument zu bauen? Ich ging (und gehe noch) davon aus, dass das auch nur über Javascript geht, da ja außer dem Laden des nackten Dokuments (via parent.F5.location.href = 'F5.html') keine serverseitigen Informationen dazugefügt werden. Wenn ich den Inhalt des <span>-tags mit den übermittelten Daten des '$text' aktualisiere (in der Folgezeile des Beispiels), dann blitzt zwar teilweise kurz der eingefügte Text auf, wird dann aber gleich wieder vom Ursprungstext ersetzt. Ich vermute, der Zielframe wird dann - aus irgendwelchem Grund - ein zweites Mal nachgeladen und überschreibt damit wieder die übermittelten Änderungen.

Wie gesagt, ich sitze vielleicht auch nur auf der Leitung und hoffe auf einen kleinen Schupps, so hoffe ich wenigstens. Könntest Du vielleicht einen kleinen Tip geben, wie ich die Informationen, die ich via Javascript (clientseitig) in den Zielframe lade dort 'on-the-fly' übernehmen und weiterverarbeiten kann?

Hoffentlich ist Dir die Frage nicht zu dumm, ich würde mich jedenfalls über Deine Antwort sehr freuen. Ich finde im übrigen Deinen Einsatz in diesem Forum sehr vorbildlich, es zeigt mir, dass es doch noch Leute gibt, die nicht nur auf den Profit aussind, sondern aus Überzeugung gerne helfen. Darum auch ein ganz besonderer Dank an Dich und dieses Forum.

Mit den besten Wünschen und Grüßen
Hans Bauer
Mit Zitat antworten
  #9 (permalink)  
Alt 16-09-2006, 11:00
Hans Bauer
 Newbie
Links : Onlinestatus : Hans Bauer ist offline
Registriert seit: Sep 2006
Ort: BW
Beiträge: 6
Hans Bauer ist zur Zeit noch ein unbeschriebenes Blatt
Standard Stand auf der Leitung

Sorry wahsaga,

ich stand wohl mehr als nur auf der Leitung und glaube jetzt verstanden zu haben wie es funktionieren kann:
1.) Im Frame (F2) starte ich eine php-session.
2.) Der zu übertragende Content wird in (F2) nach der Durchführung der Suche in einer Session-Variable gespeichert
3.) Mit Javascript lade ich im Erfolgsfall eine php-Datei in den Ergebnisframe (F5). Dabei übergebe ich die Session-ID beim Aufruf.
4.) Jetzt kann ich in der php-Datei in (F5) auf die Session-Variable zugreifen und die entsprechende Ergebnisdatei mit php on-the-fly aufbauen.

Nochmals vielen Dank und Entschuldigung für meine lange Leitung.
Beste Grüße
Hans Bauer
Mit Zitat antworten
  #10 (permalink)  
Alt 16-09-2006, 16:40
wahsaga
  Moderator
Links : Onlinestatus : wahsaga ist offline
Registriert seit: Sep 2001
Beiträge: 25.236
wahsaga befindet sich auf einem aufstrebenden Ast
Standard Re: Stand auf der Leitung

Jepp, genau so war's gemeint.
__________________
I don't believe in rebirth. Actually, I never did in my whole lives.
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an


PHP News

ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlicht
ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlichtDie bekannte Marktplatzsoftware ebiz-trader ist in der Version 7.5.0 veröffentlicht worden.

28.05.2018 | Berni

Wissensbestand in Unternehmen
Wissensbestand in UnternehmenLebenslanges Lernen und Weiterbilden sichert Wissensbestand in Unternehmen

25.05.2018 | Berni


 

Aktuelle PHP Scripte

ADSMAN V3 - Werbe-Manager ansehen ADSMAN V3 - Werbe-Manager

ADSMAN V3 - mehr als nur ein Bannermanager! Banner, Textanzeigen und PagePeel Manager! Mit ADSMAN PRO haben Sie die Marketinglösung für eine effektive und effiziente Werbeschaltung mit messbaren Ergebnissen. Unterstützt werden Bannerformate in beliebi

25.10.2018 virtualsystem | Kategorie: PHP/ Bannerverwaltung
PHP News und Artikel Script V2

News schreiben, verwalten, veröffentlichen. Dies ist jetzt mit dem neuen PHP News & Artikel System von virtualsystem.de noch einfacher. Die integrierte Multi-User-Funktion und der WYSIWYG-Editor (MS-Office ähnliche Bedienung) ermöglichen...

25.10.2018 virtualsystem | Kategorie: PHP/ News
Top-Side Guestbook

Gästebuch auf Textbasis (kein MySQL nötig) mit Smilies, Ip Sperre (Zeit selbst einstellbar), Spamschutz, Captcha (Code-Eingabe), BB-Code, Hitcounter, Löschfunktion, Editierfunktion, Kommentarfunktion, Kürzung langer Wörter, Seiten- bzw. Blätterfunktion, V

22.10.2018 webmaster10 | Kategorie: PHP/ Gaestebuch
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 06:30 Uhr.