Antwort
 
LinkBack Themen-Optionen Thema bewerten Ansicht
  #1  
Alt 05.06.08, 11:55
Forum Newbie
 
Registriert seit: 05.06.08
Beiträge: 19
Frage

Problem mit $GLOBALS! Kann teilweise verschiedene Indizes nicht auslesen


Hallo leute.

Ich habe folgendes Problem:

ich versuche über ein PHP Script Globale Variablen auszulesen. Das PHP Script liegt einfach irgendwo in 'fileadmin' (es handelt sich um ein eigenes fileupload-Script) und es läuft auch ok, Dateien werden hochgeladen etc..


Das Problem:
ich habe die Extension sg_showdoku installiert. Diese zeigt im FE (wie ihr vll schon kennt) alle globalen Variablen und so (also etwa diese '$GLOBALS' mit der Tabelle).

Daraus lese ich einfach die Sachen ab, und füge die wie folgend in meine PHP Datei ein (bzw ich will die erstmal ausgeben lassen, nur so zum testen) :

PHP-Code:
echo "variable: ".$GLOBALS['XXXX']; 
nun passiert mir folgendes (ich werde es versuchen so gut wie möglich zu beschreiben) :

falls ihr diese Tabelle kennt, links steht immer das Element (nenne ich jetzt mal so) auf das man greifen möchte, die nächste Spalte enthält den Inhalt der ausgegeben wird,
und rechts ist/ist nicht immer so ein link "Anzeigen" und daneben "Debug" (bei manchen Elementen steht das nicht, bei manchen ja!!).

Wenn ich nun im Script:

PHP-Code:
echo "variable: ".$GLOBALS['_POST']; 
oder:
PHP-Code:
echo "variable: ".$GLOBALS['HTTP_HOST']; 
stehen habe, dann kommt auch raus was raus kommen muss.
(Diese Elemente haben KEINEN link "Anzeigen" bzw. "Debug"!!!)

wenn ich aber zB.:

PHP-Code:
echo "variable: ".$GLOBALS['TSFE']->fe_user->id
stehen habe (im Script), dann bekomme ich folgende drei PHP-Fehlermeldungen:

Notice: Undefined index: TSFE in /.../.../.../.../.../.../upload.php on line 57

Notice: Trying to get property of non-object in /.../.../.../.../.../.../upload.php on line 57

Notice: Trying to get property of non-object in /.../.../.../.../.../.../upload.php on line 57

Ich habe es mit jedem Index von $GLOBALS ausprobiert, den man in der Tabelle "Anzeigen" bzw. "Debugen" kann.
Alle diese Indizes geben mir diese Fehlermeldungen aus. Alle anderen, die -ich sag mal dazu: auf erster Ebene von $GLOBALS- sind, werden ausgegeben.

Meine Frage:
Ist den die Syntax in PHP Script falsch? Soweit ich (wie ein bekloppter) 2 Tage in Netz gesucht und gesehen habe, ist das so richtig.
Sind irgendwelche Einstellungen vorzunehmen?
Das Ganze passiert sowohl bei "php.ini: register_globals ON" als auch wenn es Off ist (ok wenn Off dann bekomm ich ja gar nichts).
Muss ich was mit Typo3 machen? Also Einstellungen ect?
Was muss ich überhaupt machen?

Für jede Antwort würde ich sehr dankbar sein und ich hoffe ich habe mein Problem klar und ausführlich ausgedrückt

Gruss
rohamis
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Wong this Post!Spurl this Post!Reddit! Diesen Post bei linksilo.de bookmarken!
Mit Zitat antworten
  #2  
Alt 05.06.08, 12:06
Forum Stammgast
 
Registriert seit: 13.05.06
Alter: 31
Beiträge: 286

Zitat:
Zitat von rohamis Beitrag anzeigen
... wenn ich aber zB.:

PHP-Code:
echo "variable: ".$GLOBALS['TSFE']->fe_user->id
stehen habe (im Script), dann bekomme ich folgende drei PHP-Fehlermeldungen:

Notice: Undefined index: TSFE in /.../.../.../.../.../.../upload.php on line 57

Notice: Trying to get property of non-object in /.../.../.../.../.../.../upload.php on line 57

Notice: Trying to get property of non-object in /.../.../.../.../.../.../upload.php on line 57

...

Das Ganze passiert sowohl bei "php.ini: register_globals ON" als auch wenn es Off ist (ok wenn Off dann bekomm ich ja gar nichts).
Was ist das für eine Datei "upload.php"? Wie rufst Du denn Dein Skript auf? Dir sollte klar sein, dass Du diese globalen Variablen nur nutzen kannst, wenn auf Dein Skript über TYPO3 zugegriffen wird.

register_globals hat mit dem Verhalten nichts zu tun.
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Wong this Post!Spurl this Post!Reddit! Diesen Post bei linksilo.de bookmarken!
Mit Zitat antworten
  #3  
Alt 05.06.08, 12:23
Forum Newbie
 
Registriert seit: 05.06.08
Beiträge: 19

das nenne ich "schnell sein"

danke dir erst mal für die super schnelle Antwort.

Also:

ich habe einfach ein HTML-Plugin auf die bestimmte Seite gelegt. Darin ist ein Formular, wo man einen Upload durchführen kann.
mit "action=upload.php" führe ich das Skript aus. Das ist ja ein selbstgeschriegebes PHP-Skript, das auf fileadmin liegt. Und in diesem Skript versuche ich jetzt diese globalen Variablen auszulesen.
Ich habe nichts mehr als das gemacht. Kein TS-Script auf dieser bestimmten Seite (ist ja nicht die Startseite, sondern eine Unterseite davon) kein gar nichts.

Deswegen fragte ich ob ich noch was einstellen muss, oder überhaupt was machen muss.
Mache ich den etwas falsch mit den Pfaden? Hat das etwas mit "einegen PHP-Scripte in Typo3 einbinden" zu tun?

Danke nochmal deiner schnellen Antwort.

Gruss
rohamis
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Wong this Post!Spurl this Post!Reddit! Diesen Post bei linksilo.de bookmarken!
Mit Zitat antworten
  #4  
Alt 05.06.08, 12:27
Forum Stammgast
 
Registriert seit: 13.05.06
Alter: 31
Beiträge: 286

Also für den Mailversand eines Formulars gibt es Boardmittel in TYPO3. (Das nur mal zur Info). Alle anderen Dinge, die Du anstellen willst, solltest Du mit einer Extension realisieren. "Eigene PHP-Scripte in Typo3 einbinden" ist meistens murks. In einer Extension (Stichwort: Kickstarter) stehen Dir dann auch alle Möglichenkeiten des TYPO3-Frameworks (wie z.B. auch das $GLOBALS-array) zur Verfügung.
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Wong this Post!Spurl this Post!Reddit! Diesen Post bei linksilo.de bookmarken!
Mit Zitat antworten
  #5  
Alt 05.06.08, 12:48
Forum Newbie
 
Registriert seit: 05.06.08
Beiträge: 19

ja über diese "Kickstarter" lese ich immer wieder...

und ich habe so 2 Extensions mal gefunden, die mit Upload zu tun hatten, und ich war nicht so ganz zu frieden damit.
Deswegen dachte ich mir ich mach das mal selbst. Und wenn ich überhaupt mein Problem mit einer Extension lösen sollte am Ende, trotzdem interessiert mich warum das mit dem $GLOBALS nicht geht (falls du mein Problem richtig verstanden hast ).
Und eigene Extension schreiben wollte ich erst mal nicht, das ist eine ganz einfache Seite erst mal, meine erste mit Typo3.

Unter quickposter!de
kannst ja mal nachschauen was ich genau meine (weil mir das seehr wichtig ist).
Wenn du auf "Posterdruck" gehst dann siehst du unten diese Tabelle die ich meinte.
Und dadrüber das selbst erstellte Formular zum Upload.

Daraus würde ich nähmlich gerne die $GLOBALS["TSFE"]->fe_user->id in meiner PHP Datei ausgeben. Was ja halt noch nicht geht

Ich danke dir vielmals für deine Antworten

Gruss
rohamis
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Wong this Post!Spurl this Post!Reddit! Diesen Post bei linksilo.de bookmarken!
Mit Zitat antworten
  #6  
Alt 05.06.08, 12:58
Forum Stammgast
 
Registriert seit: 13.05.06
Alter: 31
Beiträge: 286

Das was Du vorhast, geht nicht, weil das $GLOBALS - array von TYPO3 angelegt wird. Dein Skript ist ja in keinster Weise mit TYPO3 verbunden (außer das aus TYPO3 heraus Daten an das Skript geschickt werden, diese Daten sind aber auch das einzige). Das TYPO3-Framework ist nicht dafür vorgesehen, einzelne spezielle Aspekte anderen Skripten zugänglich zu machen. Da die TYPO3-Klassen eng verwoben sind, ist es relativ schwierig, spezielle Aspekte isoliert zum Laufen in externen Skripten zu bekommen. Ob das im Falle des GLOBALS-array vollständig überhaupt möglich ist, bin ich mir nicht so sicher.
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Wong this Post!Spurl this Post!Reddit! Diesen Post bei linksilo.de bookmarken!
Mit Zitat antworten
  #7  
Alt 05.06.08, 13:23
Forum Newbie
 
Registriert seit: 05.06.08
Beiträge: 19

oh ok..
ja dann muss ich vielleicht doch mit einer fertigen Extension auskommen..
obwohl ich letztens schon gar nicht damit klar kam, also welche genau ich benutzen soll und wie..
weisst du ich hab überall im Netz gelesen "ich benutze das" .. "ich lese aus so.."(also das mit $GLOBALS) etc..

Auf die Frage "wie lese ich sowas aus bzw wie bekomme ich das?" gab es antworten wie:
"einfach: in PHP mit $GLOBALS[XXX][YYY]->ww->zz" ..
und da ich auch ein paar davon auslesen konnte dachte ich mir ja ok das geht einfach so..
komisch dass ich $GLOBALS[XX] auslesen kann aber $GLOBALS[XX][YY] nicht..

thanks für die Hilfe

Gruss
rohamis
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Wong this Post!Spurl this Post!Reddit! Diesen Post bei linksilo.de bookmarken!
Mit Zitat antworten
  #8  
Alt 05.06.08, 17:40
Benutzerbild von david
TYPO3 Forum Team
Moderator
 
Registriert seit: 17.07.06
Ort: München
Beiträge: 770
david eine Nachricht über Skype™ schicken

Zitat:
Zitat von ThBodi Beitrag anzeigen
Das was Du vorhast, geht nicht, weil das $GLOBALS - array von TYPO3 angelegt wird. Dein Skript ist ja in keinster Weise mit TYPO3 verbunden (außer das aus TYPO3 heraus Daten an das Skript geschickt werden, diese Daten sind aber auch das einzige). Das TYPO3-Framework ist nicht dafür vorgesehen, einzelne spezielle Aspekte anderen Skripten zugänglich zu machen. Da die TYPO3-Klassen eng verwoben sind, ist es relativ schwierig, spezielle Aspekte isoliert zum Laufen in externen Skripten zu bekommen. Ob das im Falle des GLOBALS-array vollständig überhaupt möglich ist, bin ich mir nicht so sicher.
Jede Erweiterung includiert bestimmte Klassen und die Klasse in der entsprechenden Erweiterung erweitert wiederum Basisklassen mit "extends". Im Frontend ist die erweiterte Klasse üblicherweise tslib_pibase.
Damit hat man auf die globalen Variablen Zugriff.
Generell ist mit TYPO3 fast alles möglich ausser Kaffe kochen. Man muss nur wissen bzw. rausfinden wie.
__________________
Viele Grüße
David

TYPO3 4.1.6 | Win XP | Apache 2.0.52 | MySQL 4.0.23 | PHP 5.0.3

David Bruchmann - Mediengestaltung
www.bruchmann-web.de
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Wong this Post!Spurl this Post!Reddit! Diesen Post bei linksilo.de bookmarken!
Mit Zitat antworten
  #9  
Alt 12.06.08, 07:45
Forum Newbie
 
Registriert seit: 05.06.08
Beiträge: 19

hey danke liebe Leute für eure Antworten.

Also ich weiss auch nicht was in meinem Kopf passiert ist aber, ich hatte die Sache die ganze Zeit vor mir nur ohne die ein bisschen zu erforschen

Die Extension "File Upload" hatte ich runter geladen und ein Mal ausprobiert jedoch gefiel mir da etwas nicht und ich legte los mein eigenes PHP-Script für einen Upload zu schreiben.
Wie auch immer es klappt jetzt, da ich auch die schon vorhandene PHP Datei nach meine Bedürfnisse geändert habe etc und ich jetzt weiter machen kann.

Thnx nochmal
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Wong this Post!Spurl this Post!Reddit! Diesen Post bei linksilo.de bookmarken!
Mit Zitat antworten
Antwort

Lesezeichen

Themen-Optionen
Ansicht 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


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Ich kann ImageMagick nicht installieren, was kann ich jetzt machen? Junior FAQ - Installation & Updates 3 20.07.08 02:04
$GLOBALS['BE_USER'] im FE nicht verfügbar PranKe01 Alle anderen Extensions 0 27.05.08 14:44
Verwendung von Indizes maxhb TYPO3 Server Performance Tuning 7 01.08.07 16:51
Kann Wert aus BE Flexform nicht auslesen? typonewbe Extension modifizieren oder neu erstellen 2 09.08.06 16:08
Zugriffsgeschützte Seite - ID über GLOBALS auslesen milhouse TYPO3 3.x Fragen und Probleme 0 31.01.06 10:37


Alle Zeitangaben in WEZ +1. Es ist jetzt 05:34 Uhr.


Powered by vBulletin® Version 3.7.3 (Deutsch)
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
Search Engine Friendly URLs by vBSEO 3.1.0