include Pfadangabe

Ador

Erfahrenes Mitglied
Hallo,

ich brauch mal hilfe für die Pfadangabe eines include. Ich möchte relativ vom jetzigen Filestandort aus, den include aus einen ganz anderen Ordner anwenden. Angaben wie:
PHP:
include '../../../vars.php'
führen immer zum Fehler.

Pfad der von mir angelegten vars
Code:
/vars.php
das ist also der Root der Webseite, dort liegt die vars.php

Include möchte ich in einem File in folgendem Ordner ausführen:
Code:
/components/com_virtuemart/themes/design-shop/templates/pages/account.order_details.tpl.php
Dort möchte ich mit include die vars.php einbinden.

Wie muss ich den Pfad setzen?

vielen Dank,

mfg
 
ich habe mal eine weitere Frage, kann mann Variable (incl. Inhalt) mit in einen anderen PHP-File übernhemen. Bei mir sind Variablen die ich über include 'vars.php' z.B. im nächsten File benutzen möchte, wieder 0.

mfg
 
ich habe mal eine weitere Frage, kann mann Variable (incl. Inhalt) mit in einen anderen PHP-File übernhemen. Bei mir sind Variablen die ich über include 'vars.php' z.B. im nächsten File benutzen möchte, wieder 0.

mfg
mh wusste garnicht dass das nicht geht, denn include führt ja das script an der stelle aus. Vielleicht ein unterschied zwischen include und require?

Naja ein paar Workarounds:

1. Möglichkeit:
In das $GLOBALS Array speichern und dann wieder rauslesen.

2. Möglichkeit:
Als Konstante übergeben.

3. Möglichkeit:
PHP:
include("index.php?key=var");
PHP:
echo $_REQUEST["key"];

Allerdings bin ich mir bei der letzten nicht sicher und hab Sie auch nicht getestet ob es geht.
Letzteres allerdings ohne Gewähr und ungetestet!
 
Zuletzt bearbeitet:
Die Variablen bleiben gleich, egal was du machst. Kann mir jetzt nur schwer vorstellen was da schief gelaufen ist. Vielleicht das benutzen von externen Variablen in einer Funktion oder gar umgekehrt ?
 
Das hat leider alles nicht so funktioniert wie ich mir das gedacht hab, daher bin ich nun beim cookie gelandet...

lg
ad0r
 
Was bitte!? Ach komm, lass das doch mal eben vernünftig machen - her mit dem Source =)
( kannst mir auch gern mailen )
 
das ist sehr nett von dir, allerdings ist das ein komplettes Shopsystem.
Also das ist seeeeehr viel, dass ist das Problem mit den sourcen, wenn ich dir das jetzt schicke, dann brauchst du erstmal ne ewigkeit, bis zu da durchblickst.

ich schilder mein Anliegen nochmal :)

Im Bestellvorgang geht geht man durch die verschiedenen Bestelltschritte.
Das Shopsystem ist so programmiert, dass es in jedem Schritt verschiedenen Werte (Preise, mwst, Versandkosten...) jedesmal neu berechnet.
Ich habe mir nun eine Erweiterung geschrieben, in der ich meine Werte gerne "weiterreichen" würde, also nicht ständig neuberechnen, sondern die Variablen speichern und im nächsten File weiterverwenden.
Da ich noch nicht so der PHP freak bin, probiere ich hier allerlei durch, damit die Variablen den Wert behalten können, den Sie im letzten File haben.
Klappen tut das bisher nur mit cookies.

Vielleicht kannst du dir das ja nun etwas besser vorstellen.

lg
ad0r
 
Ah, das heisst also die Dateien zwischen denen weitergereicht wird sind einen Klick entfernt und eben nicht alle innerhalb eines Seitenladevorgangs?

Naja dann hättest du schon nicht so unrecht mit den Cookies. Um Variableninhalte zwischen zwei Seiten zu übergeben hast du folgende Möglichkeiten:

  • Bei Formularen
    • Per unsichtbarem <input>
    • Per action="" attribut des <form>-elements
  • Ansonsten

ich denke $_SESSION ist das was du willst. Das würde folgendermaßen funktionieren:

PHP:
/* Seite-1.php */
  $preis = berechne_preis(); //etc..

  session_start();
  $_SESSION['preis'] = $preis; //in den "zwischenspeicher" schreiben

/* Seite-2.php */
  session_start();
  $preis = $_SESSION['preis'];  //wieder in die "lokale" variable schreiben
  
  $endpreis = berechne_wieder_was() + $preis;

Das mit dem "global" / "lokal" ist natürlich quatsch, aber ich hoffe so wird es verständlicher.
Im Grunde machst du mit deinen Cookies ja schon genau das selbe.
Nachteil bei Cookies ist natürlich je nachdem wie es gemacht ist die Sicherheit der Daten.
Nachteil bei serverseitigen Sessions ist, dass z.B. XT-Commerce / Commerce-SEO / ... (bis v3) erstmal so weit gefixt werden muss, dass er die akzeptiert ;O)
 
Danke für die Infos, dass hilft mir weiter!

Sollte ich also eine Session dem Cookie vorziehen?
Die Daten die übertragen werden, sind nicht sensibel.
Der Cookie hat ja noch das Problem, dass er nicht mehr funktioniert, wenn der Anwender keine Cookies akzeptiert. Gillt das selbe Problem bei der Session auch, oder geht die immer?

zur Session:
session_start();
$_SESSION['preis'] = $preis; //in den "zwischenspeicher" schreiben
Kann ich in diese "session" "preis" noch weitere Variablen reingeben?
Oder erstelle ich dann einfach ne 2te session "$_SESSION['preis2']..." ?

lg
ad0r
 
Zurück