mysql und php loginbereich erstellen

Alles, was PHP betrifft, kann hier besprochen werden.

mysql und php loginbereich erstellen

Postby gast bist jetzt » 01. August 2003 17:08

hallo leute

möchte gerne einen loginbereich erstellen. so das die person von mir ein passwort erhält sich damit dann in den login bereich einloggen kann.
sein profil wird selbstverst. gespeichert so das er sich von nun immer wieder einloggen kann.

gibt es dazu irgendwo eine online anleitung oder kann mir da jemand helfen? ich bin absoluter beginner in dem bereich. :?: :?:

wäre super wenn mir jemand aufzeigen könnte was für möglichkeiten es gäbe um so etwas herzustellen. :roll:

swen
gast bist jetzt
 

Postby boppy » 01. August 2003 22:56

http://martin.f2o.org/php/login

da steht alles wichtige... alles weitere wirst du auf nem trip durch PHP.NET selbst erfahren können, wenn du bereit bist ein wenig arbeit und zeit zu investieren...
...in diesem Sinne
yours boppy

Interpunktion und Orthographie dieses Beitrags sind frei erfunden.
Eine Übereinstimmung mit aktuellen oder ehemaligen Regeln wäre rein zufällig und ist nicht beabsichtigt.
User avatar
boppy
AF Moderator
 
Posts: 501
Joined: 27. December 2002 02:15
Location: W-E-City

Postby Guest » 04. August 2003 21:17

pass.php
Code: Select all
<?php
/*
#    FK PHP Passwort Version 1.0 - letzte Änderung 2000-10-28
#
#
#    Copyright (C) 2000 Florian Krismer (fkrismer@gmx.at, http://fk.de.st)
#
#    This program is free software; you can redistribute it and/or modify
#    it under the terms of the GNU General Public License as published by
#    the Free Software Foundation; either version 2 of the License, or
#    (at your option) any later version.
#
#    This program is distributed in the hope that it will be useful,
#    but WITHOUT ANY WARRANTY; without even the implied warranty of
#    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
#    GNU General Public License for more details.
#
#    You should have received a copy of the GNU General Public License
#    along with this program; if not, write to the Free Software
#    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
*/

   /* Konfiguration */
   
   // Allgemein
   
   $mysql_class="mysql.class.php"; // Weg zu Datei mysql.class.php
   require($mysql_class); // nicht verändern ...
   $fehler_meldung="Man benötigt eine gültige ID + dazupassendes Passwort um diesen Teil der Homepage zu besuchen";
   $nameRestricted="Admin-Bereich"; // Name des geschützten Bereichs
   
   // MySQL
   //
   // Die folgenden Einstellungen müssen in der Datei mysql.class.php vorgenommen werden!!!!
   //
   // Konfigurations-Variablen
   //
   // var $mysqlHost="localhost"; // der mysql-host
   // var $mysqlUser=""; // ein mysql-benutzername
   // var $mysqlPwd=""; // dazupassendes Passwort
   // var $mysqlDb=""; // datenbank in der die tabelle gespeichert wird
   // var $mysqlTabelle="passwort"; // Mysql-Tabelle

   /* Eigentliches Script - nichts mehr ändern */
   $database=new databaseConnection;
   $database->connect();
   
   
   if(!isset($PHP_AUTH_USER)) {
      Header("WWW-Authenticate: Basic realm=\"$nameRestricted\"");
      Header("HTTP/1.0 401 Unauthorized");
      echo $fehler_meldung;
      exit;
   } else {
      $log=$database->query("select id from ".$database->mysqlTabelle." where username like '$PHP_AUTH_USER' and passwort like '$PHP_AUTH_PW'",true);
      
      if($log[zeilen] > 0) {
         $loggedin=1;
      } else {
         Header("WWW-Authenticate: Basic realm=\"$nameRestricted\"");
         Header("HTTP/1.0 401 Unauthorized");
         echo $fehler_meldung;
         exit;
      }
   }
   
   $database->disconnect();   
   
?>

mysql.class.php
Code: Select all
<?
/*
#    FK PHP Passwort Version 1.0 - letzte Änderung 2000-10-28
#
#
#    Copyright (C) 2000 Florian Krismer (fkrismer@gmx.at, http://fk.de.st)
#
#    This program is free software; you can redistribute it and/or modify
#    it under the terms of the GNU General Public License as published by
#    the Free Software Foundation; either version 2 of the License, or
#    (at your option) any later version.
#
#    This program is distributed in the hope that it will be useful,
#    but WITHOUT ANY WARRANTY; without even the implied warranty of
#    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
#    GNU General Public License for more details.
#
#    You should have received a copy of the GNU General Public License
#    along with this program; if not, write to the Free Software
#    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
*/

   class databaseConnection {

      var $conn;
      var $mysqlHost="localhost";
      var $mysqlUser="MSunbeam";
      var $mysqlPwd="luigi";
      var $mysqlDb="test";
      var $mysqlTabelle="passwort";


      function disconnect() {
         mysql_close($this->conn);
      }

      function connect() {
         GLOBAL $mysqlHost,$mysqlUser,$mysqlPwd,$mysqlDb;
         $this->conn = mysql_connect($this->mysqlHost, $this->mysqlUser, $this->mysqlPwd) or die ("Konnte keine MySql Verbindung aufbauen");
         mysql_select_db($this->mysqlDb, $this->conn) or die ("Konnte die MySql-Datenbank nicht auswählen");
         return(true);
      }


      function query($query,$numrowsonly=false,$error="Es ist ein Fehler aufgetreten,benachrichtigen Sie bitte den Administrator") {
         $i=0;
         $enderg=Array();
         if(ereg("select",$query) || ereg("SELECT",$query)) {
            if(!$numrowsonly) {
               $this->result=Array();
               $ergebnis=mysql_query($query) or die($error);
               $this->numres=mysql_num_rows($ergebnis);
               while ($row = mysql_fetch_row($ergebnis, MYSQL_ASSOC)) {
                     $enderg[]=$row;
                  $i++;
               }
            } else {
               $ergebnis=mysql_query($query) or die($error);
               $enderg["zeilen"]=mysql_num_rows($ergebnis);
            }
         } else {
            $ergebnis=mysql_query($query) or die($error);
         }
         return $enderg;
      }


   }
?>

admin.php
Code: Select all
<?php
/*
#    FK PHP Passwort Version 1.0 - letzte Änderung 2000-10-28
#
#
#    Copyright (C) 2000 Florian Krismer (fkrismer@gmx.at, http://fk.de.st)
#
#    This program is free software; you can redistribute it and/or modify
#    it under the terms of the GNU General Public License as published by
#    the Free Software Foundation; either version 2 of the License, or
#    (at your option) any later version.
#
#    This program is distributed in the hope that it will be useful,
#    but WITHOUT ANY WARRANTY; without even the implied warranty of
#    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
#    GNU General Public License for more details.
#
#    You should have received a copy of the GNU General Public License
#    along with this program; if not, write to the Free Software
#    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
*/


   /* Einstellungen */
   $admin="MSunbeam"; // Name des Admins
   $pwd="luigi"; // dazugehöriges passwort
   $mysql_class="mysql.class.php"; // Weg zu Datei mysql.class.php
   require($mysql_class); // nicht verändern ...
   
   $database=new databaseConnection;
   
   /* nichts mehr verändern */
   $fehler_meldung="Zutritt verboten";
   if(!isset($PHP_AUTH_USER)) {
      Header("WWW-Authenticate: Basic realm=\"Admin-Bereich\"");
      Header("HTTP/1.0 401 Unauthorized");
      echo $fehler_meldung;
      exit;
   } else {
      
      if($PHP_AUTH_USER==$admin && $PHP_AUTH_PW==$pwd) {
         $loggedin=1;
      } else {
         Header("WWW-Authenticate: Basic realm=\"Admin-Bereich\"");
         Header("HTTP/1.0 401 Unauthorized");
         echo $fehler_meldung;
         exit;
      }
   }
   
   function showAdminFunctions() {
      GLOBAL $PHP_SELF,$database;
   ?>
<html>
<form action="<?php echo $PHP_SELF ?>" method="post"><input type="hidden" name="action" value="adduser">
<b>Benutzer hinzufügen</b><br><br>
Benutzername: <input type=text name="user"><br>
Passwort:<input type=text name="upwd"><br><br>
<input type=submit value="hinzufügen">
</form><br><br><br>
<form action="<?php echo $PHP_SELF ?>" method="post"><input type="hidden" name="action" value="deluser">
<b>Benutzer (ev. löschen)</b><br><br>
<?
$database=new databaseConnection;
$database->connect();
$res=$database->query("select username,passwort from ".$database->mysqlTabelle." order by username");
for($i=0;$i<count($res);$i++) {
   echo "Nutzername: ".$res[$i][username]."<br>Passwort: ".$res[$i][passwort]."<br><input type=checkbox name=\"user[]\" value=\"".$res[$i][username]."\"> löschen?<br><br><br>";
}
$database->disconnect();
?>
<input type=submit value=" benutzer löschen">
</form>
</html>
   <?
   }
   
   function adduser() {
      GLOBAL $user,$upwd,$database;
      $database=new databaseConnection;
      $database->connect();
      $database->query("insert into ".$database->mysqlTabelle." (username,passwort) values ('$user','$upwd')",false,"Der Benutzername ist doppelt");
      $database->disconnect();
      echo "<html>Befehl erfolgreich ausgeführt</html>";
   }
   
   function deluser() {
      GLOBAL $user,$database;
      $database=new databaseConnection;
      $database->connect();
      for($i=0;$i<count($user);$i++) {
         $database->query("delete from ".$database->mysqlTabelle." where username like '$user[$i]' LIMIT 1");
      }
      $database->disconnect();
      echo "<html>Befehl erfolgreich ausgeführt</html>";      
   }
   
   if($loggedin) {
      if(!isset($action))
         $action="showAdminFunctions";
      $action();
   }
?>

password.sql
Code: Select all
CREATE TABLE passwort (id BIGINT UNSIGNED not null AUTO_INCREMENT, username VARCHAR (50) not null , passwort TEXT not null , PRIMARY KEY (id), UNIQUE (username))


Verwendung

In der allerersten Zeile, des geschützten Scripts muss

<?php
require("weg/zu/passwortabfrage.php");
if($loggedin) {
?>

stehen und in der letzen
zeile <?php } ?> - dann ist das script richtig eingebaut
Guest
 


Return to PHP

Who is online

Users browsing this forum: No registered users and 13 guests