[PHP] Zugriffsregelung für Homepage

asseskiller

Lt. Junior Grade
Dabei seit
Sep. 2005
Beiträge
447
Hallo,

ich würde gerne auf meiner seite einen zugriffsschutz einbauen, das heißt ich möchte das bestimmte leute seiten erst sehen können wenn sie sich eingeloggt haben. Ich hatte das ganze schon realisiert, allerdings scheiterte das ganze daran, das es auf meinem Webserver nicht lief da ich PHP5 verwendete. Ich weiß aber nicht wie das ganze auf PHP4 gehen soll.
Hat jemand ein komplettes Scriptpaket mit dem ich einfach einen zugriffsschutz einrichten kann?

Vielen Dank im Vorraus
 

Keita

Lt. Commander
Dabei seit
Dez. 2006
Beiträge
1.282
Sofern Du keine Funktionen oder Klassen benutzt hast, die erst mit PHP 5 verfügbar sind, läßt sich das Skript problemlos PHP 4-kompatibel (um)schreiben. Mit welcher Fehlermeldung bricht das Skript denn ab?

greetings, Keita
 

asseskiller

Lt. Junior Grade
Ersteller dieses Themas
Dabei seit
Sep. 2005
Beiträge
447
Parse error: parse error, unexpected T_STRING, expecting T_OLD_FUNCTION or T_FUNCTION or T_VAR or '}' in /var/.../cl_db_mysql.php on line 4
also hier:

PHP:
<?php
class db_mysql
{
PROTECTED $db_user;
PROTECTED $db_pass;
PROTECTED $db_server;
PROTECTED $insert_id;
PROTECTED $affected_rows;
PROTECTED $num_rows;
PROTECTED STATIC $con;
PROTECTED STATIC $queries;
PROTECTED STATIC $verbindungen;
PUBLIC function __construct($datenbank)
{
if(!is_resource(self::$con))
  {
  self::$con = mysql_connect
        ($this->db_server,$this->db_user,$this->db_pass);
  ++self::$verbindungen;
  }
  mysql_select_db($datenbank, self::$con)
  OR die('Fehler beim Verbinden zur Datenbank');
}
PUBLIC function prepare($var)
{
return mysql_escape_string($var);
}
PUBLIC function execute($sql)
{
++self::$queries;
$erg = mysql_query($sql, self::$con);
$this->affected_rows = mysql_affected_rows(self::$con);
$this->num_rows = @mysql_num_rows($erg);
if($this->num_rows)
  {
  $i=1;
  while($array[$i] = mysql_fetch_assoc($erg)) {++$i;}
  mysql_free_result($erg);
  unset($array[$i]);
  return $array;
  }
$this->insert_id = mysql_insert_id(self::$con);
return true;
}
PUBLIC function insert_id()
{
return $this->insert_id;
}
PUBLIC function affected_rows()
{
return $this->affected_rows;
}
PUBLIC function num_rows()
{
return $this->num_rows;
}
PUBLIC function queries()
{
return self::$queries;
}
PUBLIC function verbindungen()
{
return self::$verbindungen;
}
}//Ende Klasse


?>
 
Zuletzt bearbeitet:

Keita

Lt. Commander
Dabei seit
Dez. 2006
Beiträge
1.282
PHP:
<?php
session_start();
require_once('cl_db_mysql.php');
require_once('cl_db.php');
require_once('cl_user.php');
require_once('cl_zugriff.php');
//$zugriff1 = new zugriff(1,2);
new userverwaltung();
?>
Hm... wenn alle Klassen in der mit PHP 5 eingeführten Notation geschrieben sind, hast du in der Tat ein Problem, weil alle Klassen angepaßt werden müßten...

das wäre dann die stelle in der diese datei eingebunden wird:
PHP:
<?php
class db extends db_mysql
{
PROTECTED $db_user    ='xxx';
PROTECTED $db_pass    ='yyy';
PROTECTED $db_server  ='http';
PUBLIC function __construct($datenbank = 'phpmyadmin')
{
parent::__construct($datenbank);
}
}
?>
Eine PHP 4-kompatible Version für die db-Klasse sähe so aus:
PHP:
class db extends db_mysql
{
  var $db_user    ='xxx';
  var $db_pass    ='yyy';
  var $db_server  ='http';

  function db($datenbank = 'phpmyadmin')
  {
    parent::db_mysql($datenbank);
  }
}
?>
Wenn aber wie o.g. gesagt bereits db_mysql in PHP 5-Notation geschrieben ist, wäre der Aufwand alles umzuschreiben zu groß.
Wenn Du nicht alles from scratch bauen willst, wäre u.U. eine der Auth-Klassen/Frameworks von PEAR eine Alternative, entsprechende Anwendungsbeispiele sollten sich zahlreich im Netz finden lassen, die Dokumentationen zu den Klassen/Frameworks findest du bei den jeweiligen Modulen.

greetings, Keita
 

asseskiller

Lt. Junior Grade
Ersteller dieses Themas
Dabei seit
Sep. 2005
Beiträge
447
hmm das verstehe ich leider nicht?
Hat nicht jemand ein fertiges Script?
 
Top