Portal > Foren > PHP > PHP-Programmierung > Dir_fs_document_root
Antwort
 
Themen-Optionen
Alt 23.11.2007, 15:45 Nach oben    #1
Benutzer
 
Registriert seit: 10.01.2007
Ort: Chemnitz
Beiträge: 47
Standard Dir_fs_document_root

hi ich grüsse euch ganz herzlichst,

und zwar habe ich in meiner zugriff.php datei den befehl eingearbeitet, (kann es nicht anders beschreiben )

zugriff.php:

PHP-Code:
// Dein Documentenverzeichnis mit Slash am Ende
define(DIR_FS_DOCUMENT_ROOT'C:/xampp/htdocs/'); // oder auf dem Server = /var/www/webxxx/html/


// Dein Scripthaupt Ordner ohne Slash am Anfang und Ende
$doc_ordner  "my.jsh-host.de/sb-page"
und so habe ich dies in der testdatei.php eingebunden.

PHP-Code:
include(DIR_FS_DOCUMENT_ROOT.$doc_ordner."/header.php"); 
so nun zu meiner frage auf dem server kommt da immer die fehlermeldung

Notice: Use of undefined constant DIR_FS_DOCUMENT_ROOT - assumed 'DIR_FS_DOCUMENT_ROOT' in C:\xampp\htdocs\my.jsh-host.de\sb-page\inc\zugriff.inc.php on line 14

und auf dem heimischen rechner (localhost) kommt keine Fehlermeldung, alle beide server laufen auf php5
schreibe ich in der define anweisung die kurzen hochkomma:
('DIR_FS_DOCUMENT_ROOT')

habe ich die fehlermeldung auf localhost und auf dem Server nicht,

bitte um ratschlag, ganz herzlichen dank

grüssle jennifer
jennifer ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 23.11.2007, 16:22 Nach oben    #2
Neuer Benutzer
 
Registriert seit: 10.11.2006
Ort: Hamburg
Beiträge: 20
Standard

PHP-Code:
// Dein Documentenverzeichnis mit Slash am Ende
define('DIR_FS_DOCUMENT_ROOT''C:/xampp/htdocs/'); // oder auf dem Server = /var/www/webxxx/html/ 
DIR_FS_DOCUMENT_ROOT in '' schreiben sonst sucht PHP nach der Konstante die du ja erst setzen willst.

Wahrscheinlich ist auf deinem localen Rechner Error Reporting aus. Und auf dem Server nicht.
devar ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 23.11.2007, 16:45 Nach oben    #3
Jann Hendrik Bekaan
 
Benutzerbild von Jann Hendrik
 
Registriert seit: 02.12.2004
Ort: Wildeshausen
Beiträge: 2.211
Standard

error_reporting
Du solltest zu Beginn des Skriptes folgendes stehen haben:
PHP-Code:
<?php
  error_reporting
(E_ALL);
?>
Dann werden dir Fehler im PHP-Code angezeigt. Dann weißt du, was du noch beseitigen musst.
http://de2.php.net/error_reporting
Ebenso kann man das auch in die config-Datei schreiben, wenn diese auf jeder Seite zu Beginn eingebunden wird.
Mögliche Fehler die dann auftreten und wie man sie beheben kann:
Notice: Use of undefined constant ...
Notice: Undefined variable ...
__________________

Umfragen:
bitte beachten: Vorschläge für künftige Umfragen
Woher weißt du vom developers-guide?

Wenn du dich in ein interessantes Thema eingearbeitet hast, dann lass andere daran teilhaben! Schreibe ein Tutorial und beschreibe, wie es geht, was nicht klappt, wo man aufpassen muss usw.
Danke!
Jann Hendrik ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 23.11.2007, 16:51 Nach oben    #4
Benutzer
 
Registriert seit: 10.01.2007
Ort: Chemnitz
Beiträge: 47
Standard

hi,

erst einmal herzlichen dank für die schnelle antwort.

so habe ich es in der datei geschrieben

PHP-Code:
<?php
if (file_exists('inc/zugriff.inc.php')) {
  include(
'inc/zugriff.inc.php');
}
include(
DIR_FS_DOCUMENT_ROOT.$doc_ordner."/header.php");

if (isset(
$_SESSION['login']) && $_SESSION['login'] === true) {
siehe auch hier: http://www.jsh-scripte.de/sb-page/stb_ein.php

und das error_reporting (E_ALL); steht auch schon lange drin, da ich diese immer benutze damit ich weis felche fehler auftauchen.
und die '' habe ich auch gesetzt.

es kommt aber immer noch die fehlermeldung

ganz herzliche grüsse

jennifer
jennifer ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 23.11.2007, 17:09 Nach oben    #5
Johannes Müller
 
Benutzerbild von $traight-$hoota
 
Registriert seit: 15.09.2005
Ort: Königreich Flieden
Beiträge: 519
Standard

es ist schonmal schlecht, wenn du überprüfst, ob die datei vorhanden ist und sie nur dann einbindest, aber immer davon ausgehst, dass sie korrekt eingebunden wurde und die konstante definiert ist.
du solltest also entweder einen else-block anhängen, der einen fehler ausgibt ("datei nicht gefunden") oder die if-abfrage weglassen und das include am besten noch durch ein require ersetzen. dann kannst du ganz sicher sein, dass die datei zugriff.php vorhanden ist und eingebunden wurde.
ob sie auch schön brav ihre konstante definiert hat, kannst du danach (zumindest zu test-zwecken) per defined('DIR_FS_DOCUMENT_ROOT') überprüfen.
__________________
Weißt Bescheid - Scheiß wie weit

Geändert von $traight-$hoota (23.11.2007 um 18:38 Uhr).
$traight-$hoota ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 23.11.2007, 17:20 Nach oben    #6
Benjamin Steininger
 
Benutzerbild von robo47
 
Registriert seit: 02.06.2005
Ort: weiher im tiefsten Odenwald
Beiträge: 1.180
Standard

Zitat:
Zitat von $traight-$hoota Beitrag anzeigen
per is_defined('DIR_FS_DOCUMENT_ROOT') überprüfen.
is_defined() gibt es nicht, nur defined()
robo47 ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 23.11.2007, 17:25 Nach oben    #7
Benutzer
 
Registriert seit: 10.01.2007
Ort: Chemnitz
Beiträge: 47
Standard

hi,

also ich habe es gefunden, und zwar in der header.php hatte ich nochmals die zugriff.php eingebunden, wird dort auch benötigt und habe require_once eingesetzt. und die Fehlermeldung ist weg, juhu

und so sehen die datein aus

header.php

PHP-Code:

error_reporting 
(E_ALL);
include (
"log.inc/sessionheader.inc.php");
$status_no "<div align='left' class='statusno'>Nicht eingeloggt</div>";
$status_yes "<div align='left' class='statusyes'>Status: eingeloggt - <a href='{$_SERVER['PHP_SELF']}?logoff=1'>Ausloggen</a></div>";
require_once(
'inc/zugriff.inc.php');
include (
"log.inc/loginmaker.inc.php");
include (
"log.inc/logoffmaker.inc.php");
require_once (
"funktion.php");

.
.

einzubindende datei: stb_ein.php

PHP-Code:

<?php
require('inc/zugriff.inc.php');
defined('DIR_FS_DOCUMENT_ROOT');
include(
DIR_FS_DOCUMENT_ROOT $doc_ordner '/header.php');

.
.
.

danke nochmals für die schnelle unterstützung

grüssle jennifer

Geändert von jennifer (23.11.2007 um 17:37 Uhr).
jennifer ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 23.11.2007, 18:38 Nach oben    #8
Johannes Müller
 
Benutzerbild von $traight-$hoota
 
Registriert seit: 15.09.2005
Ort: Königreich Flieden
Beiträge: 519
Standard

Zitat:
Zitat von robo47 Beitrag anzeigen
Zitat:
Zitat von $traight-$hoota Beitrag anzeigen
per is_defined('DIR_FS_DOCUMENT_ROOT') überprüfen.
is_defined() gibt es nicht, nur defined()
oops
naja, bin schon wieder ein bischen aus der übung *g*
__________________
Weißt Bescheid - Scheiß wie weit
$traight-$hoota ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 26.11.2007, 14:02 Nach oben    #9
Neuer Benutzer
 
Registriert seit: 10.11.2006
Ort: Hamburg
Beiträge: 20
Standard

PHP-Code:
<?php
require('inc/zugriff.inc.php');
defined('DIR_FS_DOCUMENT_ROOT');
include(
DIR_FS_DOCUMENT_ROOT $doc_ordner '/header.php');
...
Schön das du defined benutzt. leider bringt das so wie du das dort geschrieben hast nichts.
Die Rückgabe der Funktion schießt du so in den Äther. Und hast nicht das erreicht was du wolltest, nämlich überprüfen ob die Konstante existiert.
PHP-Code:
<?php
require('inc/zugriff.inc.php');
if(
defined('DIR_FS_DOCUMENT_ROOT')) {
    include(
DIR_FS_DOCUMENT_ROOT $doc_ordner '/header.php');
} else {
    
# Fehlerbehandlung und/oder Konstante setzen und dann Script "includen"
}
...
Zum Error Reporting:
Wenn du error_reporting(E_ALL); hast und dein Localer Server die Fehler nicht anzeigt liegt es wohl an der Einstellung display_errors.
Siehe:
PHP-Code:
error_reporting(E_ALL);
ini_set('display_errors''on'); 
Wobei es sich empfieht auf dem Localen Server die Fehler ausgabe einzuschalten und auf dem (Produktiv) Server auszuschalten. Denn ein Fatal error bzw. Notice sagt dem "normalen" Benutzer nichts, außer das die Seite fehlerhaft == schlecht ist.

MfG
devar ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Antwort

Lesezeichen


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

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 aus


Alle Zeitangaben in WEZ +2. Es ist jetzt 07:28 Uhr.


Powered by vBulletin® Version 3.7.3 (Deutsch)
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44