php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2008

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 04.09.2008, 14:33  
Neuer Benutzer
 
Registriert seit: 04.09.2008
Beiträge: 2
manu440 befindet sich auf einem aufstrebenden Ast
Standard include und folder problem

Hi

Ich hab für den Datenbankzugriff ein db.php erstellt welches miitels require_once auf ein config.php zugreifft in welchem die Variabeln für den Datenbankzugriff definiert sind.
Im db.php wird daraus ein PDO Objekt erstellt.

Nun include ich db.php in verschiedenen Dateien welche in verschiednen Ordner abgelegt sind. Das db.php und config.php befindet sich im Ordner includes. Ein Ordner über diesem Ordner kann ich problemlos mittels include(db.php) arbeite. 2 Ordner über dem Ordner includes, bekomme ich die Fehlermeldung dass die Variablen für die Datenbank nicht definiert sind.
Wenn ich die Variablen im db.php definiere funkioniert ist, will aber mit config.php arbeiten.

Weiss jemand was ich falsch mache?
manu440 ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 04.09.2008, 14:40  
Erfahrener Benutzer
 
Benutzerbild von David
 
Registriert seit: 05.09.2007
Beiträge: 5.044
David wird schon bald berühmt werden
Standard

Benutzt Du überall require bzw. require_once oder ist auch mal ein include dabei?
David ist offline  
Alt 04.09.2008, 14:59  
Neuer Benutzer
 
Registriert seit: 04.09.2008
Beiträge: 2
manu440 befindet sich auf einem aufstrebenden Ast
Standard

im db.php benutze ich require_once(config.php).
Ansonsten benutze ich include(db.php) in den dateien welche Datenbankzugriff brauchen.

Hab grad herausgefunden dass das Problem nicht an den Ordner liegt sondern an einer Funktion.
Ich benutze eine Funktion in der php datei. Am Anfang der Datei mache ich ein include("test/includes/db.php").
In der Funktion ist dann aber das PDO Objekt nicht vorhanden. Ich musste in der Funktion noch ein include(db.php) machen damit es funktionerte. Damit es auch die Variabeln für die Datenbank erkannt werden musste eich noch ein include(config.php) in der Funktion gemacht werden damit es funktioniert.

Warum kann ich in der Funktion nicht auf das PDO Objekt zugreiffen wenn dieses vor der Funktion mit requir_once eingebunden wurde?

Geändert von manu440 (04.09.2008 um 15:07 Uhr).
manu440 ist offline  
Alt 04.09.2008, 15:04  
Erfahrener Benutzer
 
Benutzerbild von David
 
Registriert seit: 05.09.2007
Beiträge: 5.044
David wird schon bald berühmt werden
Standard

Dann versuche es bitte mal mit require.
Ohne Datenbank sind die Teile der Applikation, die Datenbankzugriff benötigen, nutzlos, oder? Daher bietet sich require eh an.

Du greifst per require_once auf die config.php zu. Von wo aus genau? Zum Beispiel aus einer Funktion heraus? Die Frage zielt darauf ab: Werden die Werte vielleicht von PHP entfernt, weil der Gültigkeitsbereich der Variablen verlassen wird?
David ist offline  
Alt 07.12.2009, 11:14  
Neuer Benutzer
 
Registriert seit: 29.11.2009
Beiträge: 14
PHP-Kenntnisse:
Anfänger
Spartakus befindet sich auf einem aufstrebenden Ast
Standard Auch ein Include Problem

Ich rufe eine Seite aus der Navigation mit:

Code:
include.php?path=test/index.php
auf, das funktioniert.

Wenn ich aber bei der aufgerufenen Seite:

Eine Abfrage aufrufe die mich dann entweder bei einer negativen eingabe zurück zur index.php bringt, oder bei einer postiven eingabe auf die Seite welcome.php weiterleitet, werde ich auf die Startseite des Boards geleitet.

Das ist die Weiterleitung:

Code:
$goto = 'include.php?path=test/welcome.php';
Wenn ich aber die Seite so aufrufe:

Code:
http://www.beispiel.de/test/mvucup/index.php
dann funktioniert alles prima, nur dass sie nicht per incude in mein Board eigefügt werden, was ja ganz normal ohne include ist. IFrames möchte ich nicht benutzen...

Beide Dateien, die index.php und welcome.php liegen im selben Verzeichnis (test)

Geändert von Spartakus (07.12.2009 um 11:45 Uhr).
Spartakus ist offline  
Alt 07.12.2009, 11:43  
Erfahrener Benutzer
 
Benutzerbild von Dark Guardian
 
Registriert seit: 10.10.2009
Beiträge: 2.201
PHP-Kenntnisse:
Fortgeschritten
Dark Guardian ist ein sehr geschätzer MenschDark Guardian ist ein sehr geschätzer MenschDark Guardian ist ein sehr geschätzer MenschDark Guardian ist ein sehr geschätzer Mensch
Standard

Code:
http://www.beispiel.de/beispiel/include.php?path=test/index.php
+

PHP-Code:
include('test/index.php'); 
=

Code:
http://www.beispiel.de/beispiel/test/index.php
-> Der relative Pfad ist ungültig. Mit ../test/index.php sollte es gehen.
Dark Guardian ist offline  
Alt 07.12.2009, 12:21  
Neuer Benutzer
 
Registriert seit: 29.11.2009
Beiträge: 14
PHP-Kenntnisse:
Anfänger
Spartakus befindet sich auf einem aufstrebenden Ast
Standard

Klappt immer noch nicht.

Code:
http://www.wilas-support.de/mvu/include.php?path=test/index.php
Hier der Link von der Navigation und die Seite wird im Board (Mitte) aufgerufen. (perfekt)


Hier noch einmal die goto Anweisung als Weiterleitung in der welcome.php

Code:
$goto = 'include.php?path=../test/welcome.php';
Habe es jetzt mal so geändert, und wie gesagt beide Dateien (index.php & welcome.php) liegen im selben Verzeichnis Test
Spartakus ist offline  
Alt 07.12.2009, 12:25  
Erfahrener Benutzer
 
Benutzerbild von Dark Guardian
 
Registriert seit: 10.10.2009
Beiträge: 2.201
PHP-Kenntnisse:
Fortgeschritten
Dark Guardian ist ein sehr geschätzer MenschDark Guardian ist ein sehr geschätzer MenschDark Guardian ist ein sehr geschätzer MenschDark Guardian ist ein sehr geschätzer Mensch
Standard

Zitat:
Zitat von Spartakus Beitrag anzeigen
Klappt immer noch nicht.

Code:
http://www.wilas-support.de/mvu/include.php?path=test/index.php
Hier der Link von der Navigation und die Seite wird im Board (Mitte) aufgerufen. (perfekt)


Hier noch einmal die goto Anweisung als Weiterleitung in der welcome.php

Code:
$goto = 'include.php?path=../test/welcome.php';
Habe es jetzt mal so geändert, und wie gesagt beide Dateien (index.php & welcome.php) liegen im selben Verzeichnis Test
Was wird denn mit dem $goto? gemacht?
Dark Guardian ist offline  
Alt 07.12.2009, 14:43  
Neuer Benutzer
 
Registriert seit: 29.11.2009
Beiträge: 14
PHP-Kenntnisse:
Anfänger
Spartakus befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von Dark Guardian Beitrag anzeigen
Was wird denn mit dem $goto? gemacht?
Die index.php ist eine Alterabfrage und bei positiven Ergebnis wird man dann hiermit auf die welcome.php weitergeleitet.

Code:
$goto = 'include.php?path=test/welcome.php';
Hier die if Abfrage dazu:

Code:
if ($seterror == 0) header('Location: '.$goto); // Weiterleitung bei bestander Prüfung
    elseif ($seterror == 1) $error = '<br /><b>Das ausgewählte Datum ist nicht korrekt<b/>'; // Fehler bei Datumsauswahl
    elseif ($seterror == 2) $error = '<br /><b>Zugang verwehrt - du bist zu jung!<b/>'; // Besucher ist zu Jung
Spartakus ist offline  
Alt 07.12.2009, 15:04  
Erfahrener Benutzer
 
Benutzerbild von Dark Guardian
 
Registriert seit: 10.10.2009
Beiträge: 2.201
PHP-Kenntnisse:
Fortgeschritten
Dark Guardian ist ein sehr geschätzer MenschDark Guardian ist ein sehr geschätzer MenschDark Guardian ist ein sehr geschätzer MenschDark Guardian ist ein sehr geschätzer Mensch
Standard

Code:
header('Location: '.$goto);
Das hatte ich mir gedacht.

PHP: header - Manual

Bei dir kommt raus:

PHP-Code:
$goto 'include.php?path=test/welcome.php';
header('Location: '.$goto); 
Im Manuel steht das du einen absoluten Pfad angeben musst:
PHP-Code:
$goto 'include.php?path=test/welcome.php';
header('Location: http://www.beispiel.de/includefolder/'.$goto); 
Du sendest damit einen HTTP Header an den Browser. Wie soll ein Browser einen relativen Pfad verarbeiten ohne zu wissen aus welchem Context dieser stammt?
Dark Guardian ist offline  
 


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
hinter include wird eine 1 angezeigt |~Râdîant~| PHP Tipps 2008 8 19.09.2007 13:52
include - get - big problem Buschdieb PHP-Fortgeschrittene 6 14.04.2006 20:28
xtemplate include problem PHP Tipps 2006 9 06.03.2006 19:36
include() oder require() -problem PHP Tipps 2005-2 7 01.08.2005 20:13
Indirektes Include() problem PHP Tipps 2005-2 5 25.07.2005 19:29
Include Problem! Links inerhalb eines Includes ... PHP Tipps 2005-2 14 23.07.2005 20:20
Problem mit include(), Code wird 2mal ausgeführt PHP Tipps 2005 11 30.03.2005 15:08
HILFE mit Include PHP Tipps 2005 1 29.03.2005 05:44
include Problem xeon PHP Tipps 2005 2 26.03.2005 22:13
Include problem ... 'progman' PHP Tipps 2005 7 27.02.2005 12:13
Include Problem andrew22 PHP Tipps 2005 4 25.02.2005 21:17
Smarty - Problem bei include PHP Tipps 2005 16 07.02.2005 12:51
Include Problem PHP Tipps 2004 4 14.09.2004 14:08
include Problem andrew22 PHP Tipps 2004 26 10.09.2004 16:04
Gästebuch / Include Problem PHP Tipps 2004 9 14.07.2004 18:48

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
php include folder, include folder php, include db.php, php objekte in include, mvu spartacus, php include config in mehrer funktionen, http://.mvucup.com, db include mehrere funktionen, php include weiterleitung in ein verzeichnis, include (\'db.php\');, php datei aus verzeichnis includen weiterleitung, probleme navi include, http://www.php.de/php-tipps-2008/47173-include-und-folder-problem.html, php objekt in include nicht gültig, php require_once problem, php weiterleitung include, php include goto, <?php require ./index.php wiki fehler, <?php require \'./index.php\'; wiki fehler, php pdo objekt im include verfügbar

Alle Zeitangaben in WEZ +1. Es ist jetzt 10:34 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