SELFPHP: Version 5.8.2 Befehlsreferenz - Tutorial – Kochbuch – Forum für PHP Einsteiger und professionelle Entwickler

SELFPHP


Professional CronJob-Service

Suche



CronJob-Service    
bei SELFPHP mit ...



 + minütlichen Aufrufen
 + eigenem Crontab Eintrag
 + unbegrenzten CronJobs
 + Statistiken
 + Beispielaufrufen
 + Control-Bereich

Führen Sie mit den CronJobs von SELFPHP zeitgesteuert Programme auf Ihrem Server aus. Weitere Infos



:: Buchempfehlung ::

Das Zend Framework

Das Zend Framework zur Buchempfehlung
 

:: Anbieterverzeichnis ::

Globale Branchen

Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP  

 

:: Newsletter ::

Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!

Vorname: 
Name:
E-Mail:
 
 

Zurück   PHP Forum > SELFPHP > PHP Grundlagen
Hilfe Community Kalender Heutige Beiträge Suchen

PHP Grundlagen Hier kann über grundlegende Probleme oder Anfängerschwierigkeiten diskutiert werden

Antwort
 
Themen-Optionen Ansicht
  #1  
Alt 19.01.2009, 11:54:36
theo_deluxe theo_deluxe ist offline
Anfänger
 
Registriert seit: Jan 2009
Alter: 53
Beiträge: 4
Konstanten werden nicht mehr erkannt

Hallo,

nachdem ich nun tagelang vergeblich im Netz nach einer Lösung für mein Problem gesucht habe, wende ich mich an Euch.

Problemstellung, die sich seit etwa einer Woche ergeben hat, sieht wie folgt aus:
Für ein CMS, verwende ich Konstanten, deren Namen und zugewiesene Werte sowohl aus einer Datenbank als auch aus einer Textdatei ausgelesen werden. D.h., die define-Anweisungen werden über Variablen bestückt. Im Falle der Datenbank-Prozedur funktioniert alles nach wie vor so wie es soll. Allerdings werden die Konstanten, die in einem eigenen Script mit Werten aus der Textdatei zusammengestellt werden, nicht mehr global erkannt.

Dies ist aber die Grundlage für das Funktionieren und hat auch bisher immer geklappt.

In diesem nachfolgenden Script selbst sind die Konstanten mit defined() bzw. constant() verfügbar, aber nicht mehr im index.php oder in Funktionen.

PHP-Code:
$tab_datei fopen'Datei.txt' 'r' );

while(!
feof($tab_datei))
    
$Tabellen[] = fgetcsv($tab_datei 1000 ';');

fclose($tab_datei);

foreach(
$Tabellen as $_Tabelle)
{
    if (
$_Tabelle)
    {
        
define$_Tabelle[0] , trim($_Tabelle[1]) );
        
define$_Tabelle[2] , trim($_Tabelle[3]) );
    }

Das Kuriose: es hat bisher von Anfang an funktioniert, bis vergangene Woche. Was hier der Auslöser war, ist mir schleierhaft.

Vielleicht habe ich etwas Entscheidendes übersehen, jedenfalls bin ich über eine Lösung sehr dankbar!
Mit Zitat antworten
  #2  
Alt 19.01.2009, 12:53:32
DokuLeseHemmung DokuLeseHemmung ist offline
SELFPHP Experte
 
Registriert seit: Jun 2008
Alter: 15
Beiträge: 2.269
AW: Konstanten werden nicht mehr erkannt

Wie wäre es mal mit ein paar Kontrollausgaben...
Damit du mal siehst, was da überhaupt passiert.

evtl läuft da was mit deinem include schief...

Geändert von DokuLeseHemmung (19.01.2009 um 12:54:43 Uhr)
Mit Zitat antworten
  #3  
Alt 19.01.2009, 13:12:03
theo_deluxe theo_deluxe ist offline
Anfänger
 
Registriert seit: Jan 2009
Alter: 53
Beiträge: 4
AW: Konstanten werden nicht mehr erkannt

Danke, DLH, das habe ich ausgiebigst gemacht. Und inzwischen habe ich auch diese vorgestellte Routine direkt in index.php integriert – mit dem gleichen Ergebnis.

Innerhalb der foreach-Schleife kann ich die Konstanten prima mit constant() auslesen, aber direkt danach geht das nicht mehr.

Nachfolgend kommen dann solche Meldungen wie:

Notice: Use of undefined constant TABELLE_SEITEN - assumed 'TABELLE_SEITEN' in Scriptname.php on line 155

Wie gesagt, die gleiche Routine aus einer Datenbank klappt:
PHP-Code:
    while( $Einstellung mysql_fetch_object$einst_erg ) )
    {
        if ( ! (
$Einstellung->Wert))
            
$Einstellung->Wert '';

            
define$Einstellung->Titel $Einstellung->Wert );
    } 
Hm...?
Mit Zitat antworten
  #4  
Alt 19.01.2009, 13:43:38
DokuLeseHemmung DokuLeseHemmung ist offline
SELFPHP Experte
 
Registriert seit: Jun 2008
Alter: 15
Beiträge: 2.269
AW: Konstanten werden nicht mehr erkannt

Zitat:
Innerhalb der foreach-Schleife kann ich die Konstanten prima mit constant() auslesen, aber direkt danach geht das nicht mehr.
Da Konstanten immer im (super)globalen Namesraum existieren, kann ich dir nicht glauben!

Du schießt irgendwo einen fürchterlichen Bock!!
Aber KA wo, da du keine Testdaten und keinen/zuwenig Testcode lieferst..

Geändert von DokuLeseHemmung (19.01.2009 um 13:45:15 Uhr)
Mit Zitat antworten
  #5  
Alt 20.01.2009, 11:01:53
theo_deluxe theo_deluxe ist offline
Anfänger
 
Registriert seit: Jan 2009
Alter: 53
Beiträge: 4
AW: Konstanten werden nicht mehr erkannt [GELÖST]

Danke, DokuLeseHemmung, für Deine Bemühungen. Du hattest Recht, dass der Hase irgendwo anders im Pfeffer liegen müsste. Und auch mir war das irgendwo klar, doch ich hatte keine Idee mehr.

Ich war grad dabei, mehr Code und mehr Systemmeldungen zusammenzustellen, da bin ich auf den Trichter gekommen, die Variable zu untersuchen, die aus der Datei geholt wird und den Konstanten-Namen liefert ("$_Tabelle[0]" bzw. "$_Tabelle[2]"):

PHP-Code:
    definetrim($_Tabelle[0]) , trim($_Tabelle[1]) );
    
definetrim($_Tabelle[2]) , trim($_Tabelle[3]) ); 
Der Name war schon immer korrekt, nur war am Ende jeweils ein Leerzeichen angehängt. Mit der trim()-Anweisung ist das Problem behoben und meine Welt ist wieder in Ordnung.

Es funktioniert wieder!!!

Danke,
Theo
Mit Zitat antworten
  #6  
Alt 20.01.2009, 12:49:10
DokuLeseHemmung DokuLeseHemmung ist offline
SELFPHP Experte
 
Registriert seit: Jun 2008
Alter: 15
Beiträge: 2.269
AW: Konstanten werden nicht mehr erkannt

Glückwunsch!!

Aber eigentlich dachte ich dieses "da bin ich auf den Trichter gekommen, die Variable zu untersuchen," wäre durch dieses "das habe ich ausgiebigst gemacht" ausgiebigst erledigt gewesen...

;-) Wie man sich doch täuschen kann.... ;-)
Mit Zitat antworten
  #7  
Alt 20.01.2009, 21:53:03
theo_deluxe theo_deluxe ist offline
Anfänger
 
Registriert seit: Jan 2009
Alter: 53
Beiträge: 4
AW: Konstanten werden nicht mehr erkannt

Ja, danke, DokuLeseHemmung, wenn ich an dieses Problem mit dem Leerzeichen schon vorher gedacht hätte, wäre mein Eintrag hier ja auch nicht nötig gewesen! Bin glücklicherweise nicht perfekt.

Vielen Dank nochmal für Deinen Impuls.
Mit Zitat antworten
Antwort


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind aus.
[IMG] Code ist aus.
HTML-Code ist aus.

Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Konstanten Marilu PHP Grundlagen 4 15.03.2006 19:35:21
Globale Variable wird nicht erkannt... mzah_ PHP für Fortgeschrittene und Experten 1 16.04.2004 09:48:33
Arrays oder Konstanten oder ganz anders? Neofox PHP Grundlagen 4 14.04.2004 13:38:14
PHP wird in HTML Abschnitten/Dateien nicht erkannt Elderwolf PHP Grundlagen 6 09.04.2004 13:53:43
Performance: Konstanten, String Vars, Array crowl PHP Grundlagen 1 10.03.2004 14:22:53


Alle Zeitangaben in WEZ +2. Es ist jetzt 23:51:25 Uhr.


Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.


© 2001-2024 E-Mail SELFPHP OHG, info@selfphp.deImpressumKontakt