Nach Login eine html-Datei mit "readfile" auslesen

Naja, ich nehme mal an, dass das File das Du auslesen willst auf dem gleichen Server liegt.
Dementsprechend ist es ja Quatsch ueber readfile("http://www.hassenichgesehn.de/secure/datei.txt"); die Datei auszulesen, da ja (in meinem Beispiel) secure ein ueber .htaccess geschuetztes Verzeichnis ist und das auch unnoetig Traffic verursacht und das ganze etwas langsamer laufen wuerde als lokal.
Also sollte die Datei einfach per readfile("secure/datei.txt"); ausgelesen werden.

Beispiel:
Die Datei index.php liegt in /
/secure ist .htaccess geschuetzt und enthaelt die Datei datei.txt
Die URL ist http://www.hassenichgesehn.de/

Du liest dann also nicht ueber
PHP:
readfile("http://www.hassenichgesehn.de/secure/datei.txt");
aus, sondern mit
PHP:
readfile("secure/datei.txt");

Du gibst also nicht die absolute URL an, sondern einen relativen Pfad.
 
Und wo genau kann ich das sehen?

Uebrigens: Es heisst Referenzen und nicht Referezen.
Ausserdem find ich sind ein paar unschoene Zeilenumbrueche auf der Hauptseite.
 
Hu loggst dich bei "Kunden-LogIn" mit "redlama" und "test" ein.
Dann öffnet sich ein neues Fenster mit dem admin-Bereich.
 
reptiler hat recht, da ist nur eine leere Seite und mehr nicht!
Aber es kommt immerhin keine Fehlermeldung. Oder kam da vorher auch keine?
Das war jetzt die admin.php, die da aufging. Steckt denn da was drin bzw. liest Du da eine Seite ein und leitest Du zu einer Seite weiter, die Inhalt hat?

redlama
 
Hallo!
Ja, das mit der leeren Seite war mein Fehler - ich hatte in der Dantenbank bei "seite" nur bei meinem Benutzer auch eine Seite eingetragen. Jetzt steht bei beiden Nutzern als Seite "001-27-altox-04-05/admin/001.html". Es geht bei euch aber auch:
Benutzer: test Passwort: test

Hier die Quellcodes:
aus der admin.php (auch auswertung.php genannt), die durch das Formular angesprochen wird:
PHP:
<?php 
$dbconnect = mysql_connect("localhost", "", ""); //Hier den Benutzer und das Passwort für den Datenbankzugriff rein 
mysql_select_db(""); //Hier den Datenbankennamen rein 
$sql_befehl = "SELECT `name`, `pass` FROM `login`"; 
$ergebnis = mysql_query($sql_befehl, $dbconnect); 
$treffer = 0; 
while($satz = mysql_fetch_row($ergebnis)) 
{ 
  if(($satz[0] == $_POST["nutzer"]) and ($satz[1] == $_POST["passwort"])) 
    $treffer = 1; 
} 
if($treffer == 1) //Wenn der Login erfolgreich war 
{ 
  include("../admin/index.php"); //inkluden von index.php, die den geschützten Bereich ausliest 
  exit; 
} 
else //Wenn der Login fehlgeschlagen ist 
{ 
  header("Location: wrongpass.html"); //Weiterleitung zu wrongpass.html, damit erneut eingeloggt werden kann 
  exit; 
} 
?>

Und hier der Code von index.php, der von admin.php inkludet wird:
PHP:
<?php 
$dbconnect = mysql_connect("localhost", "", ""); //Hier den Benutzer und das Passwort für den Datenbankzugriff rein 
mysql_select_db(""); //Hier den Datenbankennamen rein 
$sql_befehl = "SELECT `seite` FROM `login` where `name`='".$_POST["nutzer"]."'"; 
$ergebnis = mysql_query($sql_befehl, $dbconnect); 
while($satz = mysql_fetch_row($ergebnis)) 
{ 
  readfile($satz[0]); 
}?>
 
Zuletzt bearbeitet:
Fuer mich sieht es so aus als wollte /var/www/web3/html/001-27-altox-04-05/admin/index.php auf 001-27-altox-04-05/admin/001.html zugreifen.
Da der Pfad relativ ist duerfte dabei rauskommen, dass die index.php auf /var/www/web3/html/001-27-altox-04-05/admin/001-27-altox-04-05/admin/001.html zugreifen will.
 
Das ist mir auch gerade aufgefallen.
Du machst ein include() auf die index.php im Verzeichnis admin.
Wenn die Datei, die Du in der index.php auslesen willst in dem gleichen Verzeichnis liegt, dann darf nur der Name der Datei in der Datenbank stecken.
Was steht denn in der Datenbank im Feld seite beim Benutzer test?

redlama
 
Zurück