neues problem

G

gatekeepa

den fehler hab ich nicht mehr dafuer passiert ueber-
haupt nichts, d.h. das script hat gar keine wirkung.
ich hab hier folgendes php-script "user_auth.php":

PHP:
<?php


      function access_denied() {
          echo "401 Unauthorized: The username / password combination you entered was invalid";

     function auth_headers($title) 
	  {
	      Header("WWW-Authenticate: Basic realm=$title");
          Header("HTTP/1.0 401 Unauthorized");
      } 

      if(!isset($PHP_AUTH_USER)) 
	  {
          auth_headers("My Protected Web Page");
          access_denied();
          exit;
      }
      else { 

          $hostname = "localhost";
          $username = "root";
          $password = "testpw";
          $database = "members";

          $query = "select username,password from users where 
		  username='$PHP_AUTH_USER' and 
		  password='$PHP_AUTH_PW'";
		  
          $link  = mysql_connect($hostname, $username, $password) 
		  or die("Unable to connect to database server");

          if (mysql_num_rows(mysql_db_query($database, $query)) == 0) {
              auth_headers("My Protected Web Page");
              access_denied();
              exit;
          }

          mysql_close($link);
     
  ?>
-----------------------------------------------
in die seiten die ich schuetzen moechte hab ich folgendes
eingetragen:

<?php
require("user_auth.php");
?>

beim starten passiert nichts. das script muesste doch
aber ausgefuehrt werden. wie gesagt benutze ich nusphere
und apache und mysql sind gestartet. bitte helft mir :)
 
Benutzt du Apache als Webserver?
Ist PHP als Modul oder als CGI eingebunden?

Das sctipt sieht ok aus. Also ich denke nicht, dass es daran liegt. Aber du kannst ja mal probieren die Header aus der Funktion zu nehmen und in dein Hauptprogramm zuschreiben am besten ohne Variablen im string.

Sonst wüsste ich auch nicht warum's nicht läuft.

Gruss
TheVirus
 
Ups. Hab Apache übersehen.
Eigentlich müsste es gehen. Gibst du eigentlich irgendwas vor den Headern aus? wenn ja dann ist da der Fehler aber eigentlich müsste er dann ne Fehlermeldung ausspucken.

Das selbe gilt auch für die geschichte mit Module und CGI. Da meckert apache ebenfalls.
 
spontan würd ich sagen der fehler liegt hier:

PHP:
<?php


      function access_denied() {
          echo "401 Unauthorized: The username / password combination you entered was invalid";

da fehlt ne } am schluss :)

//edit

sorry hab net richtig gelesen, warum des script net ausgeführt wird ka, aber die klammer fehlt glaub ich trotzdem :)
 
Gib mal unter dem ganzen Script

echo "es klappt!";

ein.
Dann siehst du das dein Script funktioniert :)
nur wo du k eine Ausgabe vornimmst kannst du auch nichts sehen
 

Neue Beiträge

Zurück