Sie befinden sich hier im Forenarchiv von phpforum.de wenn Sie direkt ins Forum möchten, klicken Sie bitte hier. Zur Startseite kommen Sie hier.

Include Problem

Hallo Leute habe folgendes Problem

wenn ich in den Befehl include direkt den pfad eingebe führt er auch die Datei aus. Wenn ich aber dem Include eine Variable mit dem richtigen Pfad übergebe passiert nichts.

Kann mir jemand helfen benötige dies unbedingt danke für eure hilfe.

lg

Hier gehts zum Orginal Eintrag "Include Problem" im Forum

Antworten

Der Übergabemechanismus ist defekt. Denk mal drüber nach, wie die Dateien heißen und wie er die Dateien finden soll, wenn Du irgendwelches zeug mit in den Dateinamen schreibst.


2.

???

welches Zeug sollte ich zb reinschreiben???

in der variable steht aber richtige pfad von daher gesehen steht kein müll drinnen.

Gibt es sonst einen Möglichkeit wie ich eine Datei öffnen kann in php ???!??


3.

Du schreibst doch irgendwelche Variablen mit rein in den Pfad sagst Du.


4.

der Code schaut folgender maßen aus:

Code:                   In Zwischenablage kopieren (nur IE)
1">

in der variablen $datei steht aber immer der richtige pfad rein. Nur wie gesagt das funzt nicht. Wenn ich es so wie folgt:

Code:                   In Zwischenablage kopieren (nur IE)
2">

geht es. Ich brauch so eine Lösung wie beim oben beschrieben Problem. Danke


5.

mit include öffnest du keine Datei, sondern bindest sie ein.

Statt include "text.php" könntest Du also auch den Inhalt von test.php
direkt in die Datei schreiben.


6.

Dann schreib halt einfach:
Code:                   In Zwischenablage kopieren (nur IE)
3">




7.

Ob einbinden oder öffnen sei jetzt so dahingestellt.

ich brauche aber nicht das direkte das direkte eingeben des pfades sondern das übergeben.

Bezüglich kannst du gleich den Code reinschreiben. Wenn ich 100 Zeilen habe werde ich diesen nicht reinschreiben sondern extra lagern.


8.

Schon ok - teste mal was Gary schreibt.


9.

Danke habe ich bereits probiert. haut auch nicht hin.

gleich wie include $datei; oder require $datei; require("$datei"); etc....

Ich weiß nicht mehr weiter.


10.

Zitat:
Danke habe ich bereits probiert. haut auch nicht hin.
Glaub ich nicht... Geht bei mir einwandfrei. Du machst da scheinbar was falsch....


11.

Ist es vl. eine Einstellung in der INI???

bz.w sag mir mal deine version in PHP. Bitte danke


12.

in der Doku steht folgendes Beispiel:

Code:                   In Zwischenablage kopieren (nur IE)
4">




13.

danke auch mit einem neuen block habe ich es getestet aber es funktioniert auch nicht.

Bitte sag mir mal deine php version


14.

PHP Version 5.1.1 aus der aktuellen XAMPP-Version (ohne Änderungen). Lade dir das Paket mal runter und teste dein Skript mal damit. Funktioniert es damit immer noch nicht, hat dein Skript wohl ein Problem, funktioniert es, hab ich leider keinen Schimmer wo man da was einstellen müsste :)

BTW:
Warum postest du nicht einfach mal deinen Code (und ich meine nicht das Testskript von oben)??


15.

Zeig doch mal etwas Quelltext, damit man sich das mal anschauen kann.


16.

ok ich habe die 5.0.4 lade mir gerade die neuerste herunter mal schauen ob des funzt


17.

Code:                   In Zwischenablage kopieren (nur IE)
5">

wie gesagt habe es mit einen neuen block auch probiert haut auch nicht hin.


18.

Danke habe das Probelm gefunden. Es lag an meiner VFersion, in der 5.0.4 dürfte ein Bug sein in der 5.1.2 geht es ohne Probleme könnte durchdrehen danke danke danke


19.

Code:                   In Zwischenablage kopieren (nur IE)
6">

So jetzt habe ich das Problem das wenn ich oben das include einbinde das es nicht funktioniert. Wenn ich aber das include weggebe könnt ihr sehen das in den variablen der pfad drinnen steht.


20.

OT: warum schreibst du eigentlich include("$datei"); das ist mir in letzter zeit sehr häufig begegnet, und ich wüsste gerne die beweggründe dafür. danke.


21.

Gewohnheit du kannst es so oder so machen wie du willst. PHP kann von "" die Variablen ebenfalls auslesen. Nur wie gesagt ich habe jetzt das problem eben oben. Weißt du warum die datei nicht geöffnet / eingebunden wird.


22.

vielleicht ganz einfach, weil das kein php-code ist??? wie Bernd456 in beitrag #005 schrieb, wirkt include so, als wenn du den inhalt der eingebundene datei in die einbindende datei kopierst. meinst du, da kommt dann in deinem falle gültiger php-code raus? ich denke nein. du musst also vor <script blablabla> das php-tag schließen.


23.

Im Prinzip werden auch nur html dateien geladen mehr nicht. wie gesagt wenn ich den pfad direkt reinschreibe geht es nur wie oben eben nicht.


24.

Zitat:
Gewohnheit du kannst es so oder so machen wie du willst

etwas in der art habe ich erwartet.
Zitat:
PHP kann von "" die Variablen ebenfalls auslesen

richtig, aber dafür muss der string ausgewertet werden, und das ist in so einem fall doch wohl resourcen-verschwendung, oder?! es ist ja nicht falsch, aber eben einfach unnötig.


25.

Deine Antwort mag zwar jemanden anderen helfen, aber mir gerade nicht, sry. Schlussendlich geht es mir jetzt nicht wie man was schreibt sondern warum die Datei eingebunden wird wenn der Pffad direkt eingegeben wird aber wenn ich sie per Variable übergebe eben nicht. Danke.


26.

das war ja auch als off-topic gekennzeichnet.

zu deinem problem. wenn du schreibst, dass der include nicht funktioniert, dann ist das keine fehlermeldung, mit der ich etwas anfangen kann. gibt es eine echte fehlermeldung? funktioniert das js nicht? ist die html ausgabe "kaputt"?

ansonsten müsste ich mein glaskugel wieder unterm bett hervorholen, und dazu habe ich momentan keine lust ;-)


27.

Du wechselst ja hier zwei mal zwischen Javascript und php:

Code:                   In Zwischenablage kopieren (nur IE)
7">

Vielleicht stimmt da die Variablenübergabe nicht oder es ist die Syntax nicht in Ordnung
(Leerzeichen zu viel oder die Pluszeichen oder Ähnliches).

------

mir fällt gerade auf, daß das Highlighting im Code oben ja auch nicht stimmt.


28.

Oder es fehlt einfach:
[doc]htmlentities[/doc]


29.

Zum Beitrag #026: Nein es kommt keine Meldung, Ja die Html geht hab sie mir ausgeben lassen. Es geht alles du kannst Berechnungen drinnen machen etc... nur wenn ich das include mit der jeweiligen Dateinamen übergebe passiert nichts. Ich bekomme keine Meldung rein gar nichts.
Zum Beitrag #027: Die Variablen Übergabe haut hin, wenn ich es oben mit echo ausgebe steht genau das richtige drinnen.
Zum Beitrag #028: Welche Sonderzeichen sollte er zum Beispiel nicht umwandeln können ???

Danke für eure Hilfe.


30.

Zitat:
nur wenn ich das include mit der jeweiligen Dateinamen übergebe passiert nichts

und genau dieses "passiert nichts" ist ein weiter begriff. heisst das, dass die datei gar nicht erst eingebunden wird, oder was?

schreibe an den anfang des skriptes einmal folgende zeile:
Code:                   In Zwischenablage kopieren (nur IE)
8">

und dann zeige uns genau den code, der bei dir steht (kein stellvertretercode) und ggf. die herkunft verwendeter variablen sofern sie nicht ersichtlich ist. sind die verwendeten variablen mit den erwarteten werten belegt? falls variablen per post oder get übergeben werden: wie greifst du auf sie zu (stichwort register_globals)?


31.

Bei diesem Teil Deines Codes erhalte ich schon Parse-Errors.
Kann nicht sein, daß bei Dir dieser Teil funktioniert.

Code:                   In Zwischenablage kopieren (nur IE)
9">




32.

Ich hab bei Deinem Beispiel jetzt noch die Parse-Errors beseitigt,
die Dateien alle in den gleichen Ordner hochgeladen und erhalte
im Sourcecode des Browsers:

Code:                   In Zwischenablage kopieren (nur IE)
10">

Also hängt es offensichtlich an "+datei+":
php ist +datei+ nicht als Variable bekannt.

Aber ich bastle mal weiter... vielleicht wirds noch was.


33.

ich habs:

kann gar nicht funktionieren:

Der php-Teil innerhalb des Javascript wird auf dem Server VOR dem Senden an den Client erzeugt.

Erst DANACH wird auf dem Client Javascript ausgeführt und die Variable erzeugt.


Oder anders:

PHP benötigt eine Variable, die noch gar nicht erzeugt wurde.

----------------------

Aber deswegen kann man das Problem ja auch anders lösen:

Jeder Link verweist auf die aufrufende Seite und übergibt einen
Parameter mit GET.
Ausgewertet wird der Parameter am Anfang der Seite mit isset
und switch/case und je nach Ergebnis dann "includet".


34.

Zitat:
<? $datei = '"+datei+"'; include($datei2); ?>"
Was soll denn diese Anweisung bewirken?? Du weist der Variablen $datei einen (sehr seltsamen) Wert zu, nämlich den Wert '+datei+' - ansonsten geschieht *nichts* mehr mit dieser Variablen (also ist das doch für die Katz', oder?).

Dann inkludierst Du den Code aus $datei2 (was auch immer $datei2 für einen Namen enthält). Dadurch wird ggf. irgendein PHP- oder HTML-Code (mehrzeilig?) inkludiert.

Das ganze wird dann an den Browser geschickt und dort interpretiert JavaScript den Inhalt der inkludierten Zeilen - das Resultat der komischen Zuweisung $datei="'+datei+'" ist natürlich vollständig über den Jordan gegangen, von dieser "Aktion" weiß JavaScript gar nichts.

Krumpelig und erklärungsbedürftig!


35.

aber wenn du im javascript teil wo ich php mache dir $datei ausgeben lässt, sry tipp fehler von mir dort sollte $datei stehen und nicht $datei2, dann steht in der variablen $datei der richtige wert. Und das verstehe ich nicht

Code:                   In Zwischenablage kopieren (nur IE)
11">

in der variablen $datei steht aber das richtige. Ich bekomme keinen JavaScript Fehler oder sonst was.

Ich verstehe nicht warum ich es mit echo ausgeben kann aber wenn ich es im Include verwende funktioniert es nicht.

Nicht funktionnieren heißt: Es kommt kein Meldung, die Datei die übergeben wird nicht aufgerufen / geöffnet. Wenn ich den Pfad direkt eingebe funktioniert es aber wieder. Dann öffnet er mir die HTML Datei und bekomme den Inhalt heraus.

Hoffe es ist verständlich geschrieben.


36.

Das Problem ist, daß Du mit "+datei+" nichts berechnen kannst.

Wenn Du in dem angegebenen Code nur include xy eingibst dann geht es natürlich,
es wird ja kein javascript-teil verarbeitet.


37.

i schnall was net.

Die obige Zuweisung funktioniert. JS Variable datei wird übergeben, Parameter in der Funktion. PHP Variable $datei bekommt diesen Wert von der JS Variable. Laut echo bekommt sie diesen Wert zugewiesen. Weißt was ich meine??


38.

Also erstens KANN es nicht funktionieren
und zweitens includest Du ja ne andere Datei $datei2

Poste mal den Code den Du jetzt hast.

--------

wie erklärst Du Dir denn die Fehlermeldungen in Posting 32 ?


39.

Sorry es geht doch.

Ich lasse mir ja die Datei ausgeben bzw. den Wert der Variable $datei. Und nochmals ich habe mich oben verschrieben es heißt nicht $datei2 sondern nur $datei.

Code:                   In Zwischenablage kopieren (nur IE)
12">




40.

Was soll denn hier funktionieren?

Du hast immer noch Parse-errors in Deinen echo-Zeilen drin.

Oder zeigt Dein Browser irgendwas an?

Wie prüfst Du denn den Inhalt von $datei? mit echo?
und wie kann echo was ausgeben wenn nicht mal die Links angezeigt werden?


41.

Ok fragen wir anders. Gibt es eine Möglichkeit das wenn ich auf einen Link klicke das mir die Datei geladen wird ohne das aber die ganze Datei neu geladen wird. ich brauch keinen Reload. Mit frames möchte ich auch nicht arbeiten gibt es sonst wie eine Möglichkeit?


42.

Sorry aber ich bekomme keine einzige Meldung bei mir werdne Links angezeigt. Mahe mir geht des jetzt scho langsam am Zutz.
I verzweifel scho langsam.

Also wie gesagt ich brauche eingentlich nur folgendes:

Wenn ich auf einen Link klicke soll die Seite nicht neu geladen werden, es soll unter dem Link einfach der Inihalt einer Datei geladen werden. Möchte aber nicht mit Frames arbeiten. Gibt es da eine Möglichkeit?

Kann man mit Javascript Dateien einbinden?


43.

Na Gott sei Dank!

Ja - die Möglichkeit gibts:

Du schriebst in Deine Links ne Variable rein:

Code:                   In Zwischenablage kopieren (nur IE)
13">

Oben in der Datei fragst Du die Variable "test" ab:

Code:                   In Zwischenablage kopieren (nur IE)
14">

weiter unten beim div:

Code:                   In Zwischenablage kopieren (nur IE)
15">

Die Datei wird dann zwar neu geladen, aber es funktioniert
- Du rufst ja dieselbe Datei erneut auf.
Von index.php Links auf index.php.


44.

Danke die Lösung hätte ich auch gewusst. Ich brauche es aber ohne das die Datei neu geladen wird, deswegen habe ich mit JavaScript gearbeitet.


45.

es gibt ne Lösung mit meta refresh und mit ajax

mit javasccript geht das nicht, da ja die zu
includierenden Dateien nicht auf dem Client
sondern auf dem Server liegen.


46.

meta refresh und ajax sagt mir jettzt genau gar nix kannst ma des kurz beschreiben oder einen link geben wo ich da nachschauen kann??? bite danke,

Danke nochmals für eure Hilfe.


47.

und Du kannst mit javascript divs auf visible schalten,
so daß bisher nicht sichtbarer Text sichtbar wird.


Hier gehts zum Orginal Eintrag "Include Problem" im Forum
 
phpforum.de | Impressum | Handy Bundles