php.de

Zurück   php.de > Webentwicklung > PHP-Fortgeschrittene

PHP-Fortgeschrittene Arbeiten mit PHP ohne Einschränkungen

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 01.07.2005, 11:25  
Gast
 
Beiträge: n/a
Standard [Erledigt] Geteilte Ausgabe an den Browser...

Hallo
Folgende Situation bereitet mir Kopfschmerzen.

Es geht um die Initialisierung einer Statistik.
Beim ersten Aufruf einer Webseite lade ich in der Seite ein Javascript, welches statistisch wichtige Daten des Clients ausliest (z.B. Flashversion).
Sind alle Daten gesammelt erzeugt dieses Javascript ein IMG mit der SRC auf eine PHP-Datei die diese Daten auswertet und in einer MySQL-DB ablegt und ein Clear.gif erzeugt.
Bis hier hin alles ganz normal.
Um diese Daten zu erhalten würde ich nun eine reload dieser Seite benötigen um über die session_id diese Daten wieder zu erhalten.
Diesen refresh zu vermeiden ist mein anliegen.
Meine Überlegung war folgendermaßen.

Schritt 1:
Das Script speichert die Ausgabe bis zum <body...> und übergibt den Ausgabespeicher an den Browser.
Ab da wartet das Script bei Schritt 2. Während dessen das Javascript im <head> ausgeführt wird die Daten sammelt, das img erzeugt und anschließend die Daten in der anderen PHP (statinit.php) verarbeitet werden.

Schritt 2:
Das Script wird in eine Schleife gelegt, in der die Datenbank abgerufen und nach der aktuellen session_id gefragt wird. Das passiert solange bis die Daten gefunden werden, die statinit.php eintragen soll (bitte keine bedenken, die Struktur wird natürlich so angelegt, das es keine Endlosschleife wird, oder die DB mit anfragen bombardiert wird).
Danach stehen mir die Informationen des Clients in diesem Script zur Verfügung und kann danach gehend die restliche Ausgabe steuern.

Leider tue ich mich mit dem Ausgabespeicher etwas schwer und ich bekomme nicht das gewünschte Resultat.
Bei einem test mit der zeitversetzten Ausgabe erzeugt das JS zwar das IMG doch Eingetragen in die DB ist nicht geschehen.

Geht dieser Gehdanke von mir überhaupt in die richtige Richtung, oder bin ich völlig auf dem falschen Weg. Kann mir einer bei diesem Problem weiterhelfen, oder hat so was selber schon mal gemacht?

Hoffe auf Antwort
  Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 01.07.2005, 11:40  
Moderator
 
Benutzerbild von robo47
 
Registriert seit: 03.09.2004
Beiträge: 11.798
PHP-Kenntnisse:
Fortgeschritten
robo47 ist ein wunderbarer Anblickrobo47 ist ein wunderbarer Anblickrobo47 ist ein wunderbarer Anblickrobo47 ist ein wunderbarer Anblickrobo47 ist ein wunderbarer Anblickrobo47 ist ein wunderbarer Anblickrobo47 ist ein wunderbarer Anblickrobo47 ist ein wunderbarer Anblick
Standard

1) Wird JavaScript im Kopf überhaupt ausgeführt ? Muss nicht zumindest im Body ein onload attribut ausgegeben werden ?
2) Wenn du eh auf Javascript Setzt, dann lass doch das mit dem Bild und arbeite mit nem unsichtbaren Iframe, aus dem du sämtliche Daten via Javascript an das Hauptfenster zurückgibst, dann kannst du im frame machen was du willst und kommst an die daten ran, weil du hier ja wenn du es brauchst / willst reloaden kannst wie du willst.

Imho würde ich mir Überlegen ob es unbedingt nötig ist und was gegen einen Reload spricht, ausserdem, was machen User ohne JS ? Gibts die möglichkeit der Nutzung dann auch ? Fallback oder so ?

Profifrage ist das nicht, ich verschiebs mal nach Fortgeschrittene

Der Beitrag wurde verschoben, wegen...
... Postings im falschen Forum. Bitte beim nächsten Mal darauf achten..

Bemerkung:
Die gestellte Frage entspricht nicht dem Wissensstand eines Profis. Dazu: http://www.phpfriend.de/forum/viewtopic.php?t=21431
Bei Einspruch oder weiteren Fragen bitte an mich wenden.

moved to PHP - Fortgeschrittene
robo47 ist offline   Mit Zitat antworten
Alt 01.07.2005, 12:03  
Gast
 
Beiträge: n/a
Standard Schonmal danke für die Antwort

zu 1)
Ja das Script wird umgehend nach schreiben des Body-Tags ausgeführt. Das JS gibt mir auch eine Ausgabe, ob das IMG tazächlich erzeugt wurde.

zu 2)
Ich habe das IMG gewählt, da es in allen Browser (ausser Text-Browsern, o.ä.) wirklich dagestellt wird. Mit Iframes ist das so eine Sache, da ich hier leider noch immer auf N 4.x achten muß oder ähnliche Browser.

Aufgrund bereits bestehender Script und Funktionen, benötige ich die ausgelesenen Informationen auf dem Server und nicht auf dem Client über Javascript .

Ich würde ja auch den Reload verwenden, sofern ein unangekündigter Refresh einer Webseite nicht als stark negetiv im Thema Barierefreiheit gegolten wird.

Sofern der nutzer kein JS activiert hat oder nicht existier wird das natürlich dementsprechend behandelt. Dafür habe ich schon vorkehrungen getroffen.

Das Problem ist es nicht, die Daten auszulesen und wieder abzurufen. Sondern die Daten die das JS gesammelt hat in die ausgeführte PHP-Datei zu bekommen.

Deinen Vorschlag mit dem Iframe, werde ich mir denoch einmal gründlich durchdenken.

Weitere Ideen / Vorschläge sind gern gesehen.
  Mit Zitat antworten
Alt 01.07.2005, 12:16  
Moderator
 
Benutzerbild von robo47
 
Registriert seit: 03.09.2004
Beiträge: 11.798
PHP-Kenntnisse:
Fortgeschritten
robo47 ist ein wunderbarer Anblickrobo47 ist ein wunderbarer Anblickrobo47 ist ein wunderbarer Anblickrobo47 ist ein wunderbarer Anblickrobo47 ist ein wunderbarer Anblickrobo47 ist ein wunderbarer Anblickrobo47 ist ein wunderbarer Anblickrobo47 ist ein wunderbarer Anblick
Standard

hmm ist JS so barrierefrei ? würde mal sagen ein textbrowser hat mit javascript genausoviele probleme wie mit iframes,

bin da auch nicht so auf dem laufenden, aber wie siehts mit dem NS 4.0 und JS aus ? funktioniert das da denn alles sauber? oder muss auch dort unterschieden werden ?

Kannst du vieleicht mal genauer beschreiben wozu das ganze genutzt wird? ich mein wenn du keine weiterleitung willst, dann mach halt einen link hin -> klicken sie hier um ihre daten zu sehen und dann übergibst du halt die werte via einem formular und hiddenfields (die du mit JS füllen kannst) oder halt einfach in der url, jenachdem was dir lieber ist.

mfg
robo47
robo47 ist offline   Mit Zitat antworten
Alt 01.07.2005, 13:07  
Gast
 
Beiträge: n/a
Standard

JS ist natürlich genausowenig barrierefrei. Doch in diesem fall wird JS auch nicht gebraucht um dem besucher daten zukommen zu lassen, sondern nur intern zu verwendet. Der besuche wird davon garnichts mitbekommen.
Ich verwende in diesem fall document.write und was auch von allen Browser auch verwendet werden kann. Natürlich mit ausnahme der Text-Browser. Jedoch können die Text-Browser (o.ä.) mit <noscript> umgehen. In diesem Fall wird die Sache anders verarbeitet.

Um mal genau zu werden.
Folgende situation.
Die Inhalte einer Webseite werden über ein entsprechendes CMS gesteuert.
Nun möchte der Besitzer auf seiner Startseite ein Flash unterbringen. Dies ist ohne größere schwirigkeiten auch zu händeln.

Jetzt kommt ein besucher ohne Flash-Plugin auf die Seite. Nun müßte das system entscheiden, ob das Flash angezeigt werden soll, oder ein allgemeines noflash an desen stelle, mit dem hinweise das er das fehlende plugin installieren müßte.

auf allen folge-seiten hätte ich ja diese information, da ich sie z.B. aus der DB auslesen und in der session ablegen könnte.

nun will der besitzer aber keinen refresh beim ersmaligen aufruf der seite und er will auch keine vorschaltseite, mit desen hilfe man die nötigen informationen erhalten könnte.
er möchte gleich auf der jeweiligen seite sofort das ergebniss sehen ob nun flash existiert oder nicht.

das ist nun auch nur ein beispiel für flash. das ganze geht noch weiter in spezielen fällen der bildschirmauflösung, weitere javascriptfunktionen usw.

reicht dieses beispiel?
  Mit Zitat antworten
Antwort


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine 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
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
browser compressions, nur gzip ausgabe brian johnson PHP Tipps 2008 10 26.01.2008 23:02
PHP Script als Browser ausgeben drieling PHP-Fortgeschrittene 12 22.10.2007 15:52
Problem mit Ausgabe bzw. Abfrage mit ORDER BY mayer Datenbanken 7 02.07.2006 21:45
[Erledigt] T-Online Browser schaltet sich ständig in den Vordergrund Off-Topic Diskussionen 6 08.05.2006 17:03
PHP-Ausgabe gepuffert an Browser senden sponer PHP Tipps 2006 2 24.04.2006 00:08
Style: Cursor für Browser definieren SvenLittkowski HTML, Usability und Barrierefreiheit 2 15.04.2006 14:02
Browser warten 15 s nach Ausgabe von FPDF->Output() tapferesschneiderlein Server, Hosting und Workstations 1 28.03.2006 09:26
varible im header gültig für alle browser PHP Tipps 2007 5 29.11.2005 12:03
Wie kann ich verhindern das der Browser encodete axelnes HTML, Usability und Barrierefreiheit 15 18.11.2005 18:37
Ausgabe einer Datei in Variable speichern Madden PHP Tipps 2007 11 16.11.2005 01:33
Ausgabe der Auswahlliste PHP Tipps 2005-2 6 21.09.2005 13:43
3 Tabellen verbunden -- Ausgabe in einer Spalte Datenbanken 4 06.09.2005 10:43
Welche Browser habt ihr? themonk Off-Topic Diskussionen 71 22.04.2005 08:47
Ausgabe nur dann, wenn htmlspecialchars() verwendet PHP Tipps 2004 1 27.10.2004 21:17
[Erledigt] Sortierung der Ausgabe PHP-Fortgeschrittene 3 08.10.2004 09:22

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
geteilte startseite, php ausgabe browser, geteilte php website, php geteilte ausgabe, zend framework browser ausgabe steuern, nach fpdf ausgabe weiterleitung, seiten refresh bei t-online browser, php ausgabe vor an browser schicken, javascript ausgabe browser, \noscript umgehen\

Alle Zeitangaben in WEZ +1. Es ist jetzt 13:35 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.