php.de

Zurück   php.de > Webentwicklung > Server, Hosting und Workstations

Server, Hosting und Workstations Server-Konfigurationsdateien (.htaccess/httpd.conf) und Arbeiten auf Serverebene

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 01.01.2007, 20:42  
Erfahrener Benutzer
 
Registriert seit: 05.04.2005
Beiträge: 1.333
Freeaak ist zur Zeit noch ein unbeschriebenes Blatt
Standard [PHP] Fehler (hat was mit sessions zu tun denke ich)

Hallo!
Zuerst das Problem:
Eine Seite wird nicht richtig dargestellt und ich habe irgendwie das Gefühl, dass es an einer einstellung von php oder apache liegt. Das script läuft auf Xampp einwandfrei, auf meinem "selbst-gebautem" apache mit php leider nicht.

PHP-Code:
<?php
  
if(!$_SESSION['admin'] || $_SESSION['pass'] != "...")
  {
    include(
"include/admin/login.php");
  }
  else
  {
    
// Admin-Menü
    // ...
  
}
?>
Es wird weder die login.php includet, noch das admin menü angezeigt. Include funktioniert, das hab ich getestet indem ich die if() else() auskommentiert habe. Hat jemand eine Idee, wo der Fehler liegt?

Ich benutze PHP 5.2 als Modul in Apache 2.2


Gruß Freeaak
__________________
"Wenn du nicht weißt, was du tust: Machs mit Eleganz!"

(Murphy's Gesetze)
Freeaak ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 01.01.2007, 21:29  
Erfahrener Benutzer
 
Registriert seit: 05.04.2005
Beiträge: 1.333
Freeaak ist zur Zeit noch ein unbeschriebenes Blatt
Standard

aah nein an den sessions liegt es nicht. es liegt daran, dass scheinbar eine datei, die includet wird keine weitere includen kann oO

Beispiel

Ordnerstruktur:
-1
---1.php
---2
------2.php
------3
---------3.php

Mit
PHP-Code:
<?
// Datei 1.php:
include("2/2.php");

// Datei 2.php
include("2/3/3.php");
?>
geht das nicht. auch nicht mit
PHP-Code:
<?
// Datei 1.php:
include("2/2.php");

// Datei 2.php
include("3/3.php");
?>
wenn man die 2.php direkt aufruft wird mit dem code:
include("2/3/3.php");
die 3.php includet.
das ist doch nicht normal oder??

EDIT:
Wenn ich die Datei direkt aufrufe, wird nichts angezeigt, es sollte aber das login formular angezeigt werden
PHP-Code:
<?php
  
if(!isset($_POST['name']) || !isset($_POST['pass']))
  {
    
?>
      <form action="./?s=admin" method="post">
        <fieldset>
          <div align="center">
        <legend>Admin Login</legend>
          <table>
            <tr>
              <td>Name</td>
              <td><input type="text" name="name" /></td>
            </tr>
            <tr>
              <td>Passwort</td>
              <td><input type="password" name="pass" /></td>
            </tr>
            <tr>
              <th colspan="2"><input type="submit" value="Anmelden" /></th>
            </tr>
          </table>
        </fieldset>
      </form>
    <?
  
}
  else
  {
      
// Einloggen usw...
      
echo "[url='./?s=admin']Weiter...[/url]";
    }
  }
?>
__________________
"Wenn du nicht weißt, was du tust: Machs mit Eleganz!"

(Murphy's Gesetze)
Freeaak ist offline   Mit Zitat antworten
Alt 01.01.2007, 21:48  
Moderator
 
Benutzerbild von robo47
 
Registriert seit: 03.09.2004
Beiträge: 11.792
PHP-Kenntnisse:
Fortgeschritten
robo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz sein
Standard

ich würde den Stil des ganzen vieleicht etwas überdenkten und statt in die untiefen zu includen den kram einfach in Funktionen Packen und in einer include-datei zusammenfassen ? ist einfach und wohl übersichtlicher. Ausserdem wäre es mir Neu wenn man in einer includierten datei nicht includen kann.

Ohne korrekte Fehlermeldung von php + infos über dein php (phpinfo, oder die werte für include-pfad und so) lässt sich da wohl nicht viel mehr sagen.
mfg
robo47
robo47 ist offline   Mit Zitat antworten
Alt 01.01.2007, 22:01  
Erfahrener Benutzer
 
Registriert seit: 05.04.2005
Beiträge: 1.333
Freeaak ist zur Zeit noch ein unbeschriebenes Blatt
Standard

mhh ich werde nicht in untiefen includen, maximale tiefe wird 2 sein...
Fehlermeldungen gibts keine. Die includepfade und das was damit zusammenhängt:
PHP-Code:
<?
    
// oberste index.php
    
$s explode("/",$_GET['s']);
    switch(
$s[0])
    {
      
// ...
      
case "admin":     $include "include/admin/index.php";
      break;
      default: 
$include "include/startseite/index.php"; break;
    }
    if(
file_exists($include)) include($include);
    else echo 
"Fehler - Seite nicht gefunden.";
    
  
// include/admin/index.php
  
if(!$_SESSION['admin'] || $_SESSION['pass'] != "...")
  {
    include(
"include/admin/login.php");
  }
  else
  {
    
// Admin-Menü
  
}
  
  
// login.php
  
if(!isset($_POST['name']) || !isset($_POST['pass']))
  {
    
?>
      Login-Formular
    <?
  
}
  else
  {
    if(
$_POST['name'] == "Freeaak" && md5($_POST['pass']) == "...")
    {
      
$_SESSION['admin'] = true;
      
$_SESSION['pass'] = "...";
      echo 
"[url='./?s=admin']Weiter...[/url]";
    }
  }
?>
die erste index.php ist im obersten ordner. darin ist auch der include-ordner. in include/admin befinden sich die zweite index.php und die login.php.
error_reporting ist auf E_ALL

meine phpinfo:
http://freeaak.no-ip.org

__________________
"Wenn du nicht weißt, was du tust: Machs mit Eleganz!"

(Murphy's Gesetze)
Freeaak ist offline   Mit Zitat antworten
Alt 02.01.2007, 02:04  
Moderator
 
Benutzerbild von robo47
 
Registriert seit: 03.09.2004
Beiträge: 11.792
PHP-Kenntnisse:
Fortgeschritten
robo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz sein
Standard

tjoa im zweifelsfalle absolute pfade nutzen ist oftmals die einfache und sauberste lösung, via

dirname(__FILE__); kommst du recht einfach an das root-verzeichnis dran, dass kannst du dann vor deine includes setzen.
robo47 ist offline   Mit Zitat antworten
Alt 02.01.2007, 13:53  
Erfahrener Benutzer
 
Registriert seit: 05.04.2005
Beiträge: 1.333
Freeaak ist zur Zeit noch ein unbeschriebenes Blatt
Standard

werds mak probieren, danke
__________________
"Wenn du nicht weißt, was du tust: Machs mit Eleganz!"

(Murphy's Gesetze)
Freeaak ist offline   Mit Zitat antworten
Alt 02.01.2007, 14:22  
Erfahrener Benutzer
 
Registriert seit: 23.08.2007
Beiträge: 1.510
M3g4Star befindet sich auf einem aufstrebenden Ast
Standard

schon mal an error_reporting(E_ALL); gedacht .. weil ne Fehlermeldung müsstest da auf jeden Fall bekommen ..
M3g4Star ist offline   Mit Zitat antworten
Alt 02.01.2007, 14:31  
Erfahrener Benutzer
 
Registriert seit: 05.04.2005
Beiträge: 1.333
Freeaak ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
Zitat von M3g4Star
schon mal an error_reporting(E_ALL); gedacht .. weil ne Fehlermeldung müsstest da auf jeden Fall bekommen ..
vielleicht hast dus überlesen - ich hab error_reporting auf E_ALL

EDIT: ich hab das ding mal freigegeben : http://freeaak.no-ip.org/test
__________________
"Wenn du nicht weißt, was du tust: Machs mit Eleganz!"

(Murphy's Gesetze)
Freeaak ist offline   Mit Zitat antworten
Alt 02.01.2007, 15:06  
Erfahrener Benutzer
 
Registriert seit: 23.08.2007
Beiträge: 1.510
M3g4Star befindet sich auf einem aufstrebenden Ast
Standard

oh ... jo .. hat sich versteckt .. hab's im Quellcode nicht gesehen .. ^^

jo das liegt am verschachtelten include .. Also evtl. den vollständigen Pfad angeben oder wie robo schon gemeint hat: __FILE__

Zitat:
Zitat von manual
__FILE__

Der Name der Skript-Datei, die gerade geparsed wird. Wird diese Konstante in einer Datei verwendet, die per include() oder require() eingebunden wurde, liefert sie den Namen der eingebundenen Datei, nicht den der aufrufenden Datei.
M3g4Star ist offline   Mit Zitat antworten
Alt 02.01.2007, 15:15  
Erfahrener Benutzer
 
Registriert seit: 05.04.2005
Beiträge: 1.333
Freeaak ist zur Zeit noch ein unbeschriebenes Blatt
Standard

nur wieso ging das vorher und jetzt nicht mehr?

EDIT: Ich versteh nicht ganz wie ihr das mit dem __FILE__ meint...
so etwa: include(dirname(__FILE__)."/2/2.php"); ?
__________________
"Wenn du nicht weißt, was du tust: Machs mit Eleganz!"

(Murphy's Gesetze)
Freeaak ist offline   Mit Zitat antworten
Antwort


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
mysql fehler meldung: basicx Datenbanken 1 22.07.2008 09:48
[PHP] session_start verursacht mal Fehler mal nicht! I-Spy PHP Tipps 2006 13 14.05.2006 11:49
sessions fehler PHP Tipps 2006 22 22.01.2006 23:43
[PHP] Fehler bei configure freq.9 Server, Hosting und Workstations 6 11.09.2005 21:41
[Erledigt] Seite wird nicht angezeigt, untersch. Fehler bei IE/FF/Safar PHP-Fortgeschrittene 19 31.05.2005 14:52
Blöder MySQL Fehler PHP Tipps 2005 3 15.05.2005 03:14
Fehlermeldung - aber kein fehler... Tschuu HTML, Usability und Barrierefreiheit 16 14.03.2005 15:56
Wo liegt der fehler?? PHP-Fortgeschrittene 5 22.12.2004 09:54
[Erledigt] Technische Probleme mit Sessions PHP-Fortgeschrittene 4 18.11.2004 14:45
[Erledigt] mysql fehler PHP Tipps 2004 2 03.11.2004 00:32
Hilfe ich finde den Fehler nicht! PHP Tipps 2004 2 07.10.2004 17:40
and again... fehler bei sessions nautiluS PHP Tipps 2004 7 08.09.2004 08:29
array_push nur in begrenzter Anzahl ausführen ? PHP Tipps 2004 2 07.09.2004 09:05
mysql_real_escape_string - Fehler Schaelle Datenbanken 0 03.07.2004 23:32
Sessions, sessions und nochmal sessions PHP-Fortgeschrittene 0 06.06.2004 00:36


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

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.