• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Kontrollierende php Datei

kuscho

Mitglied
Ich wollte euch fragen, ob jemand von euch weiß wie man eine php-Datei erstellt, die z.B. auf irgendeiner Seite auf meiner Webseite prüft ob man sich schon angemeldet und wenn nicht wird man zu die anmelde seite weitergeleitet.

Ich glaube, dass dieser prüf-script in jeder .php datei meiner Seiten stehen muss und es eine eigene Datei dafür gibt


Registrierungs Datei als php

HTML:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml" xml:lang="EN" lang="EN" dir="ltr"><head profile="http://gmpg.org/xfn/11"><title>loghos.org | Registrieren</title><meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /><meta http-equiv="imagetoolbar" content="no" /><link rel="stylesheet" href="styles/layout.css" type="text/css" /><!--[if lte IE 8]><style type="text/css">@import url("styles/ie.css");</style><![endif]--><script type="text/javascript" src="http://code.jquery.com/jquery-latest.min.js"></script><script type="text/javascript" src="scripts/jquery.defaultvalue.js"></script><script type="text/javascript">jQuery(function ($) {    $("#name, #email, #message").defaultvalue("Name", "Email", "Message");});</script><style type="text/css">#apDiv1 {    position:absolute;    left:275px;    top:248px;    width:226px;    height:32px;    z-index:1;}</style><style type="text/css">#apDiv6 {    position:absolute;    left:235px;    top:521px;    width:283px;    height:42px;    z-index:6;}#apDiv13 {    position:absolute;    left:125px;    top:550px;    width:441px;    height:18px;    z-index:11;    color: #808080;    font-size: 12px;}</style><link rel="shortcut icon" href="copts.ico"><style type="text/css">#apDiv2 {    position:absolute;    left:86px;    top:269px;    width:547px;    height:149px;    z-index:12;}</style></head><body><!-- START PAGE SOURCE --><div id="apDiv2">  <?php$username = $HTTP_POST_VARS["username"];$password = $HTTP_POST_VARS["passwort"];$password2 = $HTTP_POST_VARS["passwort2"];


if ($password == $password2)   {   $user_vorhanden = array();   $passwort = md5($password);

   $userdatei = fopen ("user.txt","r");   while (!feof($userdatei))      {      $zeile = fgets($userdatei,500);      $userdata = explode("|", $zeile);      array_push ($user_vorhanden,$userdata[0]);      }   fclose($userdatei);


   if (in_array($username,$user_vorhanden))      {       echo '<font color="#2F3235">Dieser Benutzername ist leider schon vorhanden</font> <br> <a href="http://www.loghos.org/login/eintragen.html">zur&uuml;ck</a>';      }
   else      {      $userdatei = fopen ("user.txt","a");      fwrite($userdatei, $username);      fwrite($userdatei, "|");      fwrite($userdatei, $passwort);      fwrite($userdatei, "\n");      fclose($userdatei);      echo "$username, deine Anmeldung war erfolgreich<br><a href=\"login.html\">zum Login</a>";      }   }
else  {  echo "Die Passw&ouml;rter sind nicht identisch<br> <a href=\"eintragen.html\">zur&uuml;ck</a> ";  }
?></div><div class="wrapper col1">  <div id="header" class="clear">    <div class="fl_left">      <h1>Registrierung</h1>    </div>    <div class="fl_right">      <ul>        <li></li>        <li class="active"></li>        <li></li>        <li><a href="http://www.loghos.org/"><span>home</span></a></li>        <li class="active"><a href="registrierung.php"><span>registrieren</span></a></li>        <li class="last"><a href="http://www.loghos.org/coming_soon.html"><span>login</span></a></li>      </ul>    </div>  </div></div><div class="wrapper col2">  <div id="topbar">    <div id="crumb">      <h2>Alles Kostenlos</h2>    </div>  </div></div><div class="wrapper col3">  <div id="container">    <!-- ## Start Content Area ## -->    <div id="content">      <h1>&nbsp;</h1>      <p>&nbsp;</p>      <p>&nbsp;</p>      <p>&nbsp;</p>      <p>&nbsp;</p>      <p>&nbsp;</p>      <p>&nbsp;</p>      <p>&nbsp;</p>      <p>&nbsp;</p>      <p>&nbsp;</p>      <p>&nbsp;</p>      <p>&nbsp;</p>      <p>&nbsp;</p>    </div>    <!-- / ### --><!-- / ### -->    <div class="clear"></div>  </div></div><div class="wrapper col4"></div><div class="wrapper col5">  <div id="footer" class="clear"><marquee behavior="scroll" direction="left" onmouseover="this.stop();" onmouseout="this.start();"><?php$defaultdatei = "http://www.loghos.org/lauftext.txt";$datum = date("d_m_y", time());$anzeigendatei = "".$datum.".txt"; //Endung evtl. auch .htmlif(file_exists($anzeigendatei)){@readfile($anzeigendatei);}else{@readfile($defaultdatei);}?>
</marquee></div></div><div class="wrapper col6">  <div id="copyright" class="clear">    <p class="fl_left">    <?php     echo "Copyright &copy; 2011 - " . date("Y");    ?>    loghos.org, All Rights Reserved </p>    <p class="fl_right">edited by: <a href="http://www.design-coder.com/" target="_blank"> OS Templates </a></p>  </div></div><!-- END PAGE SOURCE --></body></html>

Datei als php
HTML:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml" xml:lang="EN" lang="EN" dir="ltr"><head profile="http://gmpg.org/xfn/11"><title>loghos.org | Login</title><meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /><meta http-equiv="imagetoolbar" content="no" /><link rel="stylesheet" href="styles/layout.css" type="text/css" /><!--[if lte IE 8]><style type="text/css">@import url("styles/ie.css");</style><![endif]--><script type="text/javascript" src="http://code.jquery.com/jquery-latest.min.js"></script><script type="text/javascript" src="scripts/jquery.defaultvalue.js"></script><script type="text/javascript">jQuery(function ($) {    $("#name, #email, #message").defaultvalue("Name", "Email", "Message");});</script><style type="text/css">#apDiv1 {    position:absolute;    left:275px;    top:248px;    width:226px;    height:32px;    z-index:1;}</style><style type="text/css">#apDiv6 {    position:absolute;    left:235px;    top:521px;    width:283px;    height:42px;    z-index:6;}#apDiv13 {    position:absolute;    left:125px;    top:550px;    width:441px;    height:18px;    z-index:11;    color: #808080;    font-size: 12px;}</style><link rel="shortcut icon" href="copts.ico"><style type="text/css">#apDiv2 {    position:absolute;    left:86px;    top:269px;    width:187px;    height:149px;    z-index:12;}</style></head><body><!-- START PAGE SOURCE --><div id="apDiv13">  Bitte beachten Sie das die Seite loghos.org zu 100% kostenlos ist und wir Ihre Daten (wie z.B. Fotos, Videos, Audiodateien, Persönliche Daten) nicht an drit Verbraucher weitergeben werden.</div><div id="apDiv2"><?php$username = $_POST["username"];$passwort = $_POST["password"];$passwort = md5($passwort);$log=0;
$userdatei = fopen ("user.txt","r");while (!feof($userdatei))   {   $zeile = fgets($userdatei,500);   $userdata = explode("|", $zeile);
   if ($userdata[0]==$username and $passwort==trim($userdata[1]))      {      $_SESSION['username'] = $username;        echo "Login war erfolgreich. <a href=http://www.loghos.org/home5.php>Gesch&uuml;tzer Bereich</a>";      $log = 1;      }   }fclose($userdatei);
if ($log==0)   {   echo "Zugriff verweigert <a href=\"login.html\">Zur&uuml;ck</a>";   }?>
</div><div class="wrapper col1">  <div id="header" class="clear">    <div class="fl_left">      <h1>Login</h1>    </div>    <div class="fl_right">      <ul>        <li></li>        <li class="active"></li>        <li></li>        <li><a href="http://www.loghos.org/"><span>home</span></a></li>        <li class="last"><a href="registrierung.php"><span>registrieren</span></a></li>        <li class="active"><a href="http://www.loghos.org/coming_soon.html"><span>login</span></a></li>      </ul>    </div>  </div></div><div class="wrapper col2">  <div id="topbar">    <div id="crumb">      <h2>Alles Kostenlos</h2>    </div>  </div></div><div class="wrapper col3">  <div id="container">    <!-- ## Start Content Area ## -->    <div id="content">      <h1>&nbsp;</h1>      <p>&nbsp;</p>      <p>&nbsp;</p>      <p>&nbsp;</p>      <p>&nbsp;</p>      <p>&nbsp;</p>      <p>&nbsp;</p>      <p>&nbsp;</p>      <p>&nbsp;</p>      <p>&nbsp;</p>      <p>&nbsp;</p>      <p>&nbsp;</p>      <p>&nbsp;</p>    </div>    <!-- / ### --><!-- / ### -->    <div class="clear"></div>  </div></div><div class="wrapper col4"></div><div class="wrapper col5">  <div id="footer" class="clear"><marquee behavior="scroll" direction="left" onmouseover="this.stop();" onmouseout="this.start();"><?php$defaultdatei = "lauftext.txt";$datum = date("d_m_y", time());$anzeigendatei = "".$datum.".txt"; //Endung evtl. auch .htmlif(file_exists($anzeigendatei)){@readfile($anzeigendatei);}else{@readfile($defaultdatei);}?>
</marquee></div></div><div class="wrapper col6">  <div id="copyright" class="clear">    <p class="fl_left">    <?php     echo "Copyright &copy; 2011 - " . date("Y");    ?>    loghos.org, All Rights Reserved </p>    <p class="fl_right">edited by: <a href="http://www.design-coder.com/" target="_blank"> OS Templates </a></p>  </div></div><!-- END PAGE SOURCE --></body></html>
Danke für eure Hilfe!!!
 
wenn du beim login eine session startest legst du eine variable im sessionarray ab zb $_SESSION['username']. auf der internen seite prüfst du zu aller erst ob die variable $_SESSION['username'] gesetzt ist wenn nicht machst du eine umleitung zum loginbereich mit <meta http-equiv="refresh" content="0; URL='logindingensbumens">
 
PHP:
if(!$_SESSION['username'])
{
  echo '<meta http-equiv="refresh" content="0; URL=logindingensbumens">'
}
else
{
  ....bla blub blubber blu
}

bidde schön
 
auf jede seite die nicht ohne login besucht werden darf.
probier es aus ohne login dann wirst du sehen das du sofort umgeleitet wirst
 
Wie schreibe ich $_SESSION['username'] in der Login-Seite?

PHP:
<?php
$_SESSION['username']
?>


so oder!?
 
Zuletzt bearbeitet:
na wenn der user sich einloggt machste doch sowas wie
PHP:
if($user == $userausdb AND $passwort == $passwortausdb)
{
  session_start();
  $SESSION['username'] = $user;
}

damit setzt du die variable und prüfst im nächsten script einfach ob sie gesetzt ist.
 
Im Script ist ein Fehler vorhanden

PHP:
<?phpif(!$_SESSION['username']){  echo '<meta http-equiv="refresh" content="0; URL=www.loghos.org">'}else{  ....bla blub blubber blu}?>
 
es liegt an der session sry

habs dir mal zusammen gebastelt

der login
PHP:
<?php 
session_start();
$user = 'hans';
$passwort = 'dirk';

if($user == 'hans' AND $passwort == 'dirk')
{
  $_SESSION['user'] = $user;
}
echo '<a href="intern.php">nap</a>';
?>

auf der interne seite
PHP:
<?php
  session_start();
if(!isset($_SESSION['user']))
{
  echo '<meta http-equiv="refresh" content="0; URL=login.php">';
}
else
{
  echo 'Du bisset';
} 
?>
 
Immer wenn ich mich auf loghos.org | Login einlogge werde ich zurück geführt

Login Seite

PHP:
<?php$username = $_POST["username"];$passwort = $_POST["password"];$passwort = md5($passwort);$log=0;
$userdatei = fopen ("user.txt","r");while (!feof($userdatei))   {   $zeile = fgets($userdatei,500);   $userdata = explode("|", $zeile);
   if ($userdata[0]==$username and $passwort==trim($userdata[1]))      {      $_SESSION['username'] = $username;        echo "Login war erfolgreich. <a href=http://www.loghos.org/home5.php>Gesch&uuml;tzer Bereich</a>";      $log = 1;      }   }fclose($userdatei);
if ($log==0)   {   echo "Zugriff verweigert <a href=\"login.html\">Zur&uuml;ck</a>";   }?>

interne Seite

PHP:
<?php  session_start();if(!isset($_SESSION['username'])){  echo '<meta http-equiv="refresh" content="0; URL=http://www.loghos.org/login/login.html">';}else{  echo 'Du bisset';} ?>
 
PHP:
session_start()
das sollte natürlich auch auf der login seite stehen sonst ist die bedingung im if teil ja true 'weil ja die $_SESSION['username'] nicht gesetzt ist' und wird ausgeführt was dich wiederum auf die login umleitet .
 
So, würde es nicht funktionierten

Im Login:

PHP:
<?phpsession_start();$username = $_POST["username"];$passwort = $_POST["password"];$passwort = md5($passwort);$log=0;
$userdatei = fopen ("user.txt","r");while (!feof($userdatei))   {   $zeile = fgets($userdatei,500);   $userdata = explode("|", $zeile);
   if ($userdata[0]==$username and $passwort==trim($userdata[1]))      {      $_SESSION['username'] = $username;        echo "Login war erfolgreich. <a href=http://www.loghos.org/home5.php>Hier klicken, um auf die Webseite zu gelangen</a>";      $log = 1;      }   }fclose($userdatei);
if ($log==0)   {   echo "Zugriff verweigert <a href=\"login.html\">Zur&uuml;ck</a>";   }?>
 
erstens: wieso hast du keine umbrüche im quelltext.
zb. so
PHP:
<?php
session_start();
$username = $_POST["username"];
$passwort = $_POST["password"];
$passwort = md5($passwort);
$log=0;
$userdatei = fopen ("user.txt","r");
while (!feof($userdatei))   
{   
  $zeile = fgets($userdatei,500);   
  $userdata = explode("|", $zeile);
  if ($userdata[0]==$username and $passwort==trim($userdata[1]))      
  {     
    $_SESSION['username'] = $username;        
    echo "Login war erfolgreich. 
    <a href=http://www.loghos.org/home5.php>Hier klicken, um auf die Webseite zu gelangen</a>";      
    $log = 1;      
   }   
}
fclose($userdatei);
if ($log==0)   
 {   
  echo "Zugriff verweigert <a href=\"login.html\">Zur&uuml;ck</a>";   
 }
?>

zweitens: wieso nicht?

das von mir gepostete beispiel funzt einwandfrei.

und deine eingaben werden so wie der benutzer sie eingibt uebernommen das bietet angriffsfläche stichwort htmlspecialchars

wenn es bei dir nicht funzt dann wird die bedingung in der abfrage erfüllt und somit eine umleitung durchgeführt.
prüfe die variablen ob sie auch das enthalten was sie sollen!
 
Zuletzt bearbeitet:
Ist es falsch wenn ich gleich den session_start(); unter <?php
schreibe, im Login?

PHP:
<?php
session_start();
$username = $_POST["username"];
$passwort = $_POST["password"];
$passwort = md5($passwort);
$log=0;
 
Zurück
Oben