Folge dem Video um zu sehen, wie unsere Website als Web-App auf dem Startbildschirm installiert werden kann.
Anmerkung: Diese Funktion ist in einigen Browsern möglicherweise nicht verfügbar.
<?php
/*******************************************************************************
Simples Login Script mit Cookies
*******************************************************************************/
function LoginForm(){
return '<form method="post" action="'.$_SERVER['PHP_SELF'].'">
<input type="text" name="user">
<input type="password" name="pass">
<input type="submit" value="einloggen" name="login">';
}
/* das Hier kann dann weggelassen werden */
if(isset($_COOKIE["LoginDaten"])){
$LD = explode("¥", $_COOKIE["LoginDaten"]);
if($LD[0] == "Fips" && $LD[1]=="0815"){
echo "eingeloggt";
}else{
echo LoginForm();
}
/* bis hier und statt elseif eine If Anweisung*/
}elseif(isset($_POST['login'])){
if($_POST["user"] == "Fipsf" && $_POST["pass"] == "0815"){
$LD = $_POST["user"]."¥".$_POST["pass"];
// Statt diesem setCookie einfach session_start()
setCookie("LoginDaten",$LD,time()+1800);
echo "erfolgreich eingeloggt";
}
}else{
echo LoginForm();
}
?>
<?php
/*******************************************************************************
Section Admin:
Wenn das Formular noch ausgefüllt wurde ruft er die Klasse AdminLogin auf
Session wird erstellt. Passwort , NutzerName und Ablaufzeit werden
gespeichert.
Ablaufzeit ist die Zeit wo es erstellt wurde + 30 min (1800 sek) und danach
wird die Session autoamtisch zerstört.
*******************************************************************************/
CLASS AdminLogin{
var $Admin;
var $pass;
var $StartZeit;
var $error = 0;
function LoginCheck(){
$this->Admin = $_POST["Admin"];
$this->pass = md5($_POST["Passwort"]);
$this->StartZeit = time()+1800; // 30 min Laufzeit
include ("nutzer.inc.php");
foreach($nutzer as $pass => $Admin){
if($this->pass == $pass && $this->Admin == $Admin &&
$this->error != count($nutzer)){
session_start();
$_SESSION["AdminName"] = $this->Admin;
$_SESSION["PassWort"] = $this->pass;
$_SESSION["start_time"]= $this->StartZeit;
$_SESSION["logged_in"] = "ok";
echo "Da keine automatische Weiterleitung existiert,
zum Formular hier <a href='http://"
.$_SERVER["SERVER_NAME"]
.dirname($_SERVER["REQUEST_URI"])
."/VotingForm.php'>klicken</a>";
}else{
$this->error++;
}
}
if($this->error == count($nutzer)){
echo 'Kein Zutritt';
}
}
}
/*******************************************************************************
Section Login Formular:
Wenn der Submit Button noch nicht gedrückt wurde
Login Formular für die Eingaben Passwort und AdminName
ansonsten rufe die Klasse AdminLogin auf für Überprüfungen der Eingaben
*******************************************************************************/
if(!isset($_POST["login"])){
echo "<div align='center'>";
echo '<table border=1 cellspacing=1 cellpadding=1>
<form method="post" action="'.$_SERVER["PHP_SELF"].'">
<tr>
<td width=100>Login Name:</td><td><input type="text" name="Admin"></td>
</tr>
<tr>
<td width=100>Login Pass:</td><td><input type="password" name="Passwort" maxlength="10"></td>
</tr>
<tr><td colspan=2 align="center"><input type="submit" value="einloggen" name="login"></td></tr>
</form>';
echo "</div>";
}else{
$admin = new AdminLogin;
$admin->LoginCheck();
}
?>
<?php
$nutzer = array('fe01ce2a7fbac8fafaed7c982a04e229' => 'Demo',
'6dc13510ac2bcf8ac6c2226b2e16e51e' => 'Fips');
?>
session_start();
if(isset($_SESSION["start_time"])){
if($_SESSION["start_time"] < time()){
unset($_SESSION);
session_destroy();
}
}
...
//würde beim Refresh und wenn er ausgeloggt ist wieder zum Login Screen springen.
if(!isset($_SESSION["logged_in"]) == "ok"){
HEADER("LOCATION:http://".$_SERVER["SERVER_NAME"].
dirname($_SERVER["REQUEST_URI"])."/VoteAdmin.php");
}else{
$VotingForm = new EingabeForm;
echo $VotingForm->Formular();
}
<?php
require("Includes/DatabaseConnect.php");
/*******************************************************************************
Section Login Formluar
Login : schaun wer sich eingeloggt hat
Cookie Speichern falls erwünscht
Session starten wenn keine Cookies erlaubt werden über URL weitergeben
*******************************************************************************/
CLASS Eingabe extends DataBaseConnect{
var $loginName;
var $loginPass;
var $cookie;
var $user;
/*******************************************************************************
Konstruktor der Klasse und Weiterleitung an die Funktionen zu weiterverarbeitung
*******************************************************************************/
function Eingabe($loginName,$loginPass,$cookie){
$this->SetLoginVariables($loginName,$loginPass,$cookie);
$this->LoginCheck();
}
/******************************************************************************/
function SetLoginVariables($loginName,$loginPass,$cookie){
$this->loginName = $loginName;
$this->loginPass = md5($loginPass);
$this->cookie = $cookie;
}
/*******************************************************************************
Section LoginCheck :
Schaun ob die Eingaben übereinstimmen und dann festlegen wer sich
eingeloggt hat.
*******************************************************************************/
function LoginCheck(){
$this->connect(); // Funktion der Klasse DataBaseConnect aufrufen
$Login = mysql_query("SELECT User,Pass FROM mitglieder");
$zeilen = mysql_num_rows($Login);
for($i=0;$i<$zeilen;$i++){
$Ergeb[$i] = mysql_fetch_array($Login);
}
for($i=0;$i<count($Ergeb);$i++){
if($Ergeb[$i]['User'] == $this->loginName &&
$Ergeb[$i]['Pass'] == $this->loginPass){
// EINGELOGGT Session starten
// Cookie setzen oder sonst was ;)
}
}
}//Funktion LoginCheck schliessen
}//Klasse Eingabe schliessen
if(isset($_POST['login']) && $_POST['login'] == "einloggen"){
if(!empty($_POST["LoginName"]) && !empty($_POST["Pass"])){
if(isset($_POST["cookie"])){
$eingabe = new Eingabe($_POST["LoginName"],$_POST["Pass"],$_POST["cookie"]);
}else{
$eingabe = new Eingabe($_POST["LoginName"],$_POST["Pass"],"FALSE");
}
}
}else{
echo '<form method="post" action="'.$_SERVER["PHP_SELF"].'">
<input type="text" name="LoginName" value="" size="15"><br>
<input type="password" name="Pass" maxlength="15" size="15" value=""><br>
<input type="checkbox" name="cookie" value="ja">Wiedererkennen?<br>erfordert Cookies<br>
<input type="submit" value="einloggen" name="login">
</form>';
}
?>
<?PHP
/*******************************************************************************
DatenBank starten und Benutzer abfragen
*******************************************************************************/
CLASS DataBaseConnect{
var $mySQLUser;
var $mySQLPass;
var $mySQLDbName;
var $mySQLHost;
function Connect(){
/***************************************************************************
Section Connect:
Verbindung zur Datenbank herstellen
Datenbank auswählen
***************************************************************************/
include('connect.inc.php');
$this->mySQLUser = $mySqlUser;
$this->mySQLPass = $mySqlPass;
$this->mySQLDbName = $mySqldbName;
$this->mySQLHost = $mySqlHost;
mysql_connect(
$this->mySQLHost,
$this->mySQLUser,
$this->mySQLPass)
OR DIE
('Verbindung konnte nicht hergestellt werden');
mysql_select_db($this->mySQLDbName);
}
}
?>