php.de

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

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 07.09.2010, 12:20  
Erfahrener Benutzer
 
Registriert seit: 25.09.2009
Beiträge: 2.115
PHP-Kenntnisse:
Fortgeschritten
BlackScorp wird schon bald berühmt werdenBlackScorp wird schon bald berühmt werden
Standard wert von include_once leeren

hallo leute,

ich habe noch ein kleines Problemchen, es geht um include_once. Ich habe 2 subdomains auf denen sich jewals eine config.php datein befinden.

beim aufruf der ersten domain include ich die config.php mit include_once, dann leite ich auf die subdomain und die config.php dieser domain wird nicht included, weil der dateiname config.php bereits included wurde.

hier ein kleines beispiel

subdomain1.test.de
PHP-Code:
session_start();
$projects = array(
    
'subdomain1.test.de' => 'subdomain1',
    
'subdomain2.test.de' => 'subdomain2'
);
define("ROOT_DIR"'projects/' $projects[$_SERVER['SERVER_NAME']]);
include 
ROOT_DIR '/index.php';

subdomain1.test.de/index.php
PHP-Code:
include_once ROOT_DIR.'/config.php';
print_r($config); //ausgabe foo => bar
echo '<a href="subdomain2.test.de">domain2</a>'
subdomain2 hat die gleichen datein nur nur ist die variable $config leer, da config.php nicht neu included wurde.

es würde zwar mit include funktionieren, jedoch habe ich in der config.php ein paar funktionen die sich dann in einer endlosschleife includen würden, desswegen include_once.

gibt es denn nun eine möglichkeit , dem script zu sagen, dass er include_once wieder auf 0 setzen soll, da es sich um eine neue domain handelt?

Wenn ihr es nicht verstanden habt, fragt nach. Ansonsten schon mal danke im vorraus

MFG
__________________
Mein kleines Projekt
-Cruel Online-
5 von 3 Leuten können kein Bruchrechnen
BlackScorp ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 07.09.2010, 12:24  
da schreibt der ElePHPant
 
Benutzerbild von Flor1an
 
Registriert seit: 18.06.2008
Beiträge: 8.903
PHP-Kenntnisse:
Fortgeschritten
Flor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer Anblick
Standard

Nein nicht das ich wüsste, das hört sich sehr nach schlechtem Design an. Du solltest dir nochmal genau überlegen wie oft du wo eine config Datei laden möchtest und ob das IMMER aus dem selben Ordner sein muss? Vlt. wäre es besser die Dateien dann in entsprechende Unterordner zu speichern um solche Probleme erst gar nicht zu haben.
Flor1an ist offline  
Alt 07.09.2010, 12:30  
fab
Erfahrener Benutzer
 
Benutzerbild von fab
 
Registriert seit: 28.07.2010
Beiträge: 2.308
PHP-Kenntnisse:
Fortgeschritten
fab ist ein Lichtblickfab ist ein Lichtblickfab ist ein Lichtblickfab ist ein Lichtblickfab ist ein Lichtblick
Standard

Wo inkludierst du denn sonst noch config.php außer in index.php? Ich verstehe ehrlich gesagt nicht, was das Problem mit den Subdomains zu tun haben sollte, du machst doch keinen include von sub1 nach sub2 oder? Erklär auch mal, was du mit "leite ich auf die subdomain" meinst.
fab ist offline  
Alt 07.09.2010, 12:40  
Erfahrener Benutzer
 
Registriert seit: 25.09.2009
Beiträge: 2.115
PHP-Kenntnisse:
Fortgeschritten
BlackScorp wird schon bald berühmt werdenBlackScorp wird schon bald berühmt werden
Standard

also ich habe einen projekte ordner mit einer fest vergebnen struktur

projekte/
-projekt1
-projekt2
index.php


jedes dieser projekte, wird einer subdomain zugewiesen, dies geschiet in der index.php. jedes Projekt hat ein verzeichniss settings und da drin befindet sich eine config.php und andere .php datein mit allen möglichen einstellungen. also GeneralConfig (zb default user rechte, default sprache usw), ServerConfig (datenbank verbindung) usw.. manche projekte, hängen mit einander zusammen, d.h ich mache irgendwas auf subdomain1 und wenn ich fertig damit bin, gehe ich auf subdomain2 und somit auch in ein neuen ordner. die datein aus dem settings verzeichnis werden in einer schleife included und in manchen settings datein, wird die funktion aufgerufen um die datein im settings ordner zu includen, somit kommt das ganze zu einer endlos schleife, mit require_once passiert das ganze nicht mehr.

habe gerade auf php.net die funktion get_included_files() gefunden, ich brauche irgendwas wie set_included_files(array(0)) oder so..

@ fab, nein ich include keine datei von sub1 nach sub2, weiterleiten meinte ich eifach
<a href="http://subdomain2.test.de">test</a>

ich bin davon ausgegangen dass dann auf der neuen domain der script von vorn ausgeführt wird und alte datein aus require_once nicht mehr vorhanden sein sollten..
__________________
Mein kleines Projekt
-Cruel Online-
5 von 3 Leuten können kein Bruchrechnen
BlackScorp ist offline  
Alt 07.09.2010, 12:41  
fab
Erfahrener Benutzer
 
Benutzerbild von fab
 
Registriert seit: 28.07.2010
Beiträge: 2.308
PHP-Kenntnisse:
Fortgeschritten
fab ist ein Lichtblickfab ist ein Lichtblickfab ist ein Lichtblickfab ist ein Lichtblickfab ist ein Lichtblick
Standard

Das ist auch richtig und deshalb liegt dein Fehler woanders.
fab ist offline  
Alt 07.09.2010, 12:44  
da schreibt der ElePHPant
 
Benutzerbild von Flor1an
 
Registriert seit: 18.06.2008
Beiträge: 8.903
PHP-Kenntnisse:
Fortgeschritten
Flor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer Anblick
Standard

Ja pro HTTP Request wird einmal das Skript ausgeführt und dabei gilt include_once, wenn du nen komplett neuen Request machst ist das natürlich wieder von vorne an leer ....
Flor1an ist offline  
Alt 07.09.2010, 12:52  
Erfahrener Benutzer
 
Registriert seit: 25.09.2009
Beiträge: 2.115
PHP-Kenntnisse:
Fortgeschritten
BlackScorp wird schon bald berühmt werdenBlackScorp wird schon bald berühmt werden
Standard

also einfach ein link mit einer anderen subdomain, reicht nicht aus für ein neuen http request?... dann muss ich mir was anderes überlegen.. danke erstmals ich werde ne runde grübeln, vllt fällt mir was neues ein.

MFG
__________________
Mein kleines Projekt
-Cruel Online-
5 von 3 Leuten können kein Bruchrechnen
BlackScorp ist offline  
Alt 07.09.2010, 13:03  
fab
Erfahrener Benutzer
 
Benutzerbild von fab
 
Registriert seit: 28.07.2010
Beiträge: 2.308
PHP-Kenntnisse:
Fortgeschritten
fab ist ein Lichtblickfab ist ein Lichtblickfab ist ein Lichtblickfab ist ein Lichtblickfab ist ein Lichtblick
Standard

Zitat:
Zitat von BlackScorp Beitrag anzeigen
also einfach ein link mit einer anderen subdomain, reicht nicht aus für ein neuen http request?... dann muss ich mir was anderes überlegen.. danke erstmals ich werde ne runde grübeln, vllt fällt mir was neues ein.

MFG
WTF? Natürlich machst du einen neuen HTTP Request wenn du den Link anklickst. Ich sagte doch, dein Problem liegt ganz woanders, schau nach wo du die config sonst noch inkludierst.
fab ist offline  
Alt 07.09.2010, 13:03  
Erfahrener Benutzer
 
Benutzerbild von Dark Guardian
 
Registriert seit: 10.10.2009
Beiträge: 2.637
PHP-Kenntnisse:
Fortgeschritten
Dark Guardian ist jedem bekanntDark Guardian ist jedem bekanntDark Guardian ist jedem bekanntDark Guardian ist jedem bekanntDark Guardian ist jedem bekanntDark Guardian ist jedem bekannt
Standard

Zitat:
Zitat von BlackScorp Beitrag anzeigen
also einfach ein link mit einer anderen subdomain, reicht nicht aus für ein neuen http request?... dann muss ich mir was anderes überlegen.. danke erstmals ich werde ne runde grübeln, vllt fällt mir was neues ein.

MFG
Ein Link startet einen neuen HTTP Request.

D.h. dein Fehler liegt woanders...

Alternative wäre Config und Funktionsdefinitionen voneinander zu trennen. Wäre an und für sich auch richtig weil Funktionsdeklarationen mit Konfigurationen eigentlich nichts gemeinsamen haben und es somit keinen Grund gibt beides in eine Datei zu kloppen.
__________________
"Alles im Universum funktioniert, wenn du nur weißt wie du es anwenden musst".
Dark Guardian ist offline  
Alt 07.09.2010, 13:20  
Erfahrener Benutzer
 
Registriert seit: 25.09.2009
Beiträge: 2.115
PHP-Kenntnisse:
Fortgeschritten
BlackScorp wird schon bald berühmt werdenBlackScorp wird schon bald berühmt werden
Standard

@ Dark, eigentlich schon. Ich habe eine Klasse, die mir alle konfigurationsdatein einliest und mir das ergebnis ausgibt, welches ich angezeigt haben will. etwa so:

PHP-Code:
echo Config::read('general->templateDir'); //ausgabe : layout/test/ 
und diesen pfad, setze ich wiederum von einer config datei in eine andere..

ich habe mir mal meine daten ausgeben lassen und auf den ersten blick , sah die array struktur von der subdomain1 und 2 gleich aus, jedoch beim genauen hinschauen, waren die keys , anders verteilt und somit hat nichts funktioniert.. habs jetzt behoben.. ich würde gerne sagen woran es gelegen hat, aber ihr würdet über mich lachen

auf jedenfall ist problem behoben, vielen dank an euch

MFG
__________________
Mein kleines Projekt
-Cruel Online-
5 von 3 Leuten können kein Bruchrechnen
BlackScorp 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
[Erledigt] nur kleinstem wert einer person anzeigen mittels MIN? kamikaze Datenbanken 4 13.07.2010 22:07
[Erledigt] Neuen Wert auf alten addieren - SQL Tobby Datenbanken 3 01.03.2010 19:10
[Erledigt] jeden 5ten Wert aus db löschen Crowz PHP Tipps 2009 22 14.01.2010 16:07
Überprüfen ob vorhanden und ob ein feld einen bestimmten wert hat setech Datenbanken 1 17.12.2009 09:40
[Erledigt] Mysql update setzt leeren Wert Abakay PHP Tipps 2009 19 08.05.2009 15:21
UPDATE über PHP liefert leeren Wert trotz Eingabe Metalphreek PHP-Fortgeschrittene 7 25.08.2008 00:09
[Erledigt] Frage zu &quot;if isset ...&quot; (Leeren Wert nicht ausgeben) bursch PHP Tipps 2008 6 10.05.2008 21:03
Fester Wert bei Registrierung festlegen themr Datenbanken 1 07.03.2008 14:41
nach grösstem (unbekannten) Wert suchen lindner Datenbanken 2 20.08.2006 22:13
array verarbeitung (schlag auf den hinterkopf) PHP Tipps 2007 9 16.11.2005 11:37
minus wert, plus wert in variable nutzen PHP Tipps 2005-2 5 22.10.2005 19:15
[Erledigt] Wert von Reihe 1 mit Wert von Reihe 2 tauschen Datenbanken 5 20.06.2005 17:21
Problem mit anzeige aus DB, erst nach refresh aktueller wert PHP Tipps 2005 7 27.04.2005 19:42
kleinsten und größten wert ermitteln niffi PHP Tipps 2005 14 26.04.2005 12:42
[Erledigt] Problem: per klick auf Button Wert erhöhen/verringern HTML, Usability und Barrierefreiheit 7 07.10.2004 08:31

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
include_once löschen, get_included_files() leeren, include_once, php include_once, include_once(), \set_included_files\, @include_once, php überprüfen on include_once funktionierte

Alle Zeitangaben in WEZ +2. Es ist jetzt 21:14 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