screamfine Geschrieben 22. Januar 2003 Geschrieben 22. Januar 2003 Hallo!!! Ich habe ein Skript entwickelt, dass wenn gewünscht ne eMail verschickt etc. Ich binde nun mittels include-Befehl ein weiteres PHP-Skript (2) in mein vorhandenes PHP-Skript (1) ein. Dieses soll mir beispielsweise die Variable $daten vom PHP-Skript (1) mit einem 'echo'-Befehl ausgeben. Wie mache ich das? Was hat es mit den globalen Variablen auf sich? Er gibt mir nämlich nichts aus wenn ich im PHP-Skript (2) einfach nur "echo $daten;" schreibe ... und wenn ich globale Variablen brauche, wie definiere ich die???? Danke für eure Hilfe im Voraus! Ihr seid die Besten !!! Zitieren
kathi008 Geschrieben 22. Januar 2003 Geschrieben 22. Januar 2003 hallo, wenn du den 2. Skript per include() einbindest, brauchst du eigentlich nichts dazu. es wird dann als ein Script behandelt. Einfach echo $variable; schreiben. Zitieren
screamfine Geschrieben 23. Januar 2003 Autor Geschrieben 23. Januar 2003 nööööööööööö. das funzt nicht ... Zitieren
kathi008 Geschrieben 23. Januar 2003 Geschrieben 23. Januar 2003 Hi, oh doch, es funktioniert, ich arbeite die ganze Zeit damit! haste villeicht die haederinformationen in dem Script, den du per include() einbindest? Es könnte nämlich daran liegen, wobei ich mir auch nicht vorstellen kann! Zitieren
kathi008 Geschrieben 23. Januar 2003 Geschrieben 23. Januar 2003 Aber wenn du mehr zu Globalen Variablen wissen willst, villeicht hilft dir das: PHP Manual Zitieren
screamfine Geschrieben 23. Januar 2003 Autor Geschrieben 23. Januar 2003 ok, habs soweit hinbekommen wie ich's möchte DANKE SCHONMAL ... nur jetzt hab ich noch ein Problem: diese php-datei (2) die ich einbinde ganz am anfang von php-skript (1) enthält funktionen, wie z.Bsp. AUSZUG AUS PHP-SKRIPT (2): ------------------------------------ function einlesen() { $test = "$key:$val"; } -------------------------------------- im PHP-Skript (1) folgt direkt nachdem include dann eine while-schleife, in welcher dann logischerweise meine in php-skript (2) defninierte funktion aufgerufen werden soll und alle $key und $val sammeln soll, die später mit ner anderen funktion (ausgabe()) wieder ausgegeben werden sollen: AUSZUG AUS PHP-SKRIPT (1): ------------------------------------ while (list($key,$val) = each($HTTP_POST_VARS)) { einlesen(); } ------------------------------------ ABER ich bekomme IMMER den Fehler: Fatal error: Call to undefined function: einlesen() in /var/data/kunden/kasyx.de/www/pdf/generic.php on line 10 Obwohl die Funktion existiert!!! Woran kann das liegen? BENÖTIGE ICH EINE KLASSE um auf ausgelagerte Funktionen zugreifen zu können? BESTEN DANK!!!!!!! IM VORAUS!!!! Zitieren
kathi008 Geschrieben 23. Januar 2003 Geschrieben 23. Januar 2003 ok, villeicht rufst du die anders, als die definiert ist? Aber, du benutzt die Variablen aus dem Script in einer Funktion! In der Funktion sind diese Variablen local, das heist die existieren nur in der Funktion, und da du die in der Funktion nicht belegst, sind die logischerweise mit NULL belegt. Entweder, du definierst die global: function einlesen() { global $key,$val; $test = "$key:$val"; } [/PHP] Was aber bei each villeicht nicht so sinnvoll ist. Oder du übergibst diese als Parameter an die Funktion und wieder zurück: [PHP] function einlesen($key,$val){ $test = "$key:$val"; return $test; } //Der aufruf der Funktion würde so heißen: $test = eilesen($key,$val); ausgabe($test); Zitieren
screamfine Geschrieben 23. Januar 2003 Autor Geschrieben 23. Januar 2003 HUi.... danke für deine Hilfe .. aber nach wie vor kommt dieser Fehler: Fatal error: Call to undefined function: einlesen() in /var/data/kunden/kasyx.de/www/pdf/generic.php on line 10 also hier mal jeweils der anfang der quelltexte beider skripte: PHP-SKRIPT 1 (Zeile 10-16): ------------------- ... if ($result["scriptname"]!="") { $skriptpfad="http://www.meinserver.de/"; $skript_to_inc=$skriptpfad.$pdfform_scriptname.".php"; include($skript_to_inc); //sammel(); } [/PHP] ... PHP-SKRIPT 2 (komplett, nur mal mit der 1ten Funktion, die andre hab ich ma gelöscht,vorerst.): --------------------------------- [PHP] <? function einlesen($key,$val){ $test = "$key:$val"; return $test; } ?> Übrigens: Ich include die RICHTIGE Datei, denn wenn vor die Funktion einlesen ein "echo 'INCLUDE ERFOLGREICH'" schreibe, bekomme ich das auch angezeigt ... nur die Funktionen mag er irgendwie nicht PLEASE HELP ME Zitieren
kathi008 Geschrieben 23. Januar 2003 Geschrieben 23. Januar 2003 Die Felermeldung heißt, das die Funktion, die du aufrufst, nicht bekannt ist. Wenn die Funktion richtig eingebunden wird, dann stimmt etwas mit dem Aufruf nicht. Kannst mal kurz testen. Lokal mal onhe Schleife die Funktion und ein echo befehl dazu in eine Datei speichern und schauen, wenn es ausgeführt wird, dann ist mit der Funktion alles in Ordung, dann liegt es an etwas anderem. Zitieren
screamfine Geschrieben 23. Januar 2003 Autor Geschrieben 23. Januar 2003 boaaaaaaaahhhhhhhhh ... kathi .. du bist ein schatz :bimei ich hab den fehler (glaub ich) entdteckt. Und zwar hab ich bei include ne komplette URL angegeben (http://www.usw.de/sblabla/) , und das hat PHP nicht gemocht - irgendwie. Seltsamerweise aber nur in Zusammenhang mit FUnktionen .... tzzz tzz. Ich hab jetzt den relativen(?!) Pfad genommen, also: /funktionen/phpskript2.php und es funzt! Nur eine klitzekleine Frage hab ich jetztz noch: Wie muss die Ausgabe-Funktion aussehen? Du hast mir jo die einlese-Funktion hingeschrieben, aber die Ausgabe Funktion net .. wär kewl wenn DU das machen könntest, denn ich krieg's einfach net hin NOCHMALS TAUSEND ... ach quatsch ... millionenfachen Dank!!! Vielleicht werd ich heute doch noch mit dem Projekt fertig (is nämlich für mien cheffe) und kann heute abend pünktlich nach hause danke danke danke ... du bist die Beste :p :bimei Zitieren
kathi008 Geschrieben 23. Januar 2003 Geschrieben 23. Januar 2003 Bitte, bitte, keine Ursache also das ist doch einfach, mensch! anzeigen($test) { echo "Test: "$test."<br>"; } [/PHP] In etwa so, ich weiß ja nicht was du anzeigen willst. Wegen einem echo lohnt sich aber die Funktion nicht! Zitieren
screamfine Geschrieben 23. Januar 2003 Autor Geschrieben 23. Januar 2003 Ja, das funktioniert. Das ist nicht schwer, aber manchmal hab ich solche Tage, da fällt mir nix ein ... echt gar nix mehr. Dann bin ich froh, dass es solche Leute gibt wie DIch!!! Nun ja, mal schauen ob ich das packe heute mit dem Projekt fertig zu werden ... auf jedenfall DANKE DANKE DANKE gib bescheid wenn ich dir mal helfen kann ... aber wahrscheinlich wird das nie der Fall sein, da du ja Profi bist Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.