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

Loginsystem

Status
Für weitere Antworten geschlossen.

tnoehles

Neues Mitglied
Hallo,
frohe Weihnachten! ;-) Ich habe folgendes Problem. Ich wechsel bei meiner Hompage die Seiten mit einer Switchabfrage. Jetzt habe bzw. möchte ich ein Loginsystem auf der Seite integrieren. Hier schonmal der Code:

PHP:
<?php
  $zugang = Array();
  /****Notiere Hier die Benutzer**********************************/
  /****Notiere sie in der Form Benutzername|Passwort**************/
  /****Es darf kein | zeichen im Benutzername oder Passwort sein!*/
  $zugang[] = "user|passwort";
  /***************************************************************/
  if($_POST['send'] == null || $_POST['send'] == "")
  {
    ?>
    <form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
      <table>
        <tr>
          <td><span class="lesen">Benutzername:</span></td>
          <td><span class="lesen">
            <input type="text" name="user">
            </input>
          </span></td>
        </tr>
        <tr>
          <td><span class="lesen">Passwort:</span></td>
          <td><span class="lesen">
            <input type="password" name="pw">
            </input>
          </span></td>
        </tr>
        <tr>
          <td colspan="2">&nbsp;</td>
        </tr>
        <tr>
          <td><span class="lesen">
            <input type="submit" name="send" value="einloggen" />
          </span></td>
          <td><span class="lesen">
            <input type="reset" name="reset" value="l&ouml;schen" />
          </span></td>
        </tr>
      </table>
      </form>
    <p align="center"><span class="lesen">
        <?php
  }
  else
  {
    $login = false;
    foreach($zugang as $benutzer)
    {
      $benutzer = preg_split('/\|/',$benutzer);
      if($_POST['user'] == $benutzer[0] && $_POST['pw'] == $benutzer[1])
      {
        $login = true;
      }
    }
    if($login == true)
    {
      ?>
      BlaBla
  <?php
    }
    else
    {
      echo"Dein Benutzername / Passwort war falsch!<br>";
      echo"<a href=\"".$_SERVER['PHP_SELF']."\">zur&uuml;ck!</a>";
    }
  }
  ?>
Der schlaue PC meldet mir jetzt immer, wenn ich richtig eingeloggt bin, dass die Seite nicht gefunden wurde. Jetzt meine Frage: Was muss an diesem Code geändert werden? (Der war vorher in HTML intergriert und hat ohne Probleme gefunzt.) Zur Information ich bin nicht gerade der PHP-Experte. Danke schonmal im vorraus

tnoehles
 
PHP:
 <?php
  $zugang = array();
  /****Notiere Hier die Benutzer**********************************/
  /****Notiere sie in der Form Benutzername|Passwort**************/
  /****Es darf kein | zeichen im Benutzername oder Passwort sein!*/
  $zugang[] = "user|passwort";
  /***************************************************************/
  if(!isset($_POST['user'],$_POST['pw']))
  {
    ?>
    <form action="<?= $PHP_SELF ?>" method="post" target="_self">
      <table>
        <tr>
          <td><span class="lesen">Benutzername:</span></td>
          <td><span class="lesen">
            <input type="text" name="user">
            </input>
          </span></td>
        </tr>
        <tr>
          <td><span class="lesen">Passwort:</span></td>
          <td><span class="lesen">
            <input type="password" name="pw">
            </input>
          </span></td>
        </tr>
        <tr>
          <td colspan="2">&nbsp;</td>
        </tr>
        <tr>
          <td><span class="lesen">
            <input type="submit" name="send" value="einloggen" />
          </span></td>
          <td><span class="lesen">
            <input type="reset" name="reset" value="l&ouml;schen" />
          </span></td>
        </tr>
      </table>
      </form>
    <p align="center"><span class="lesen">
        <?php
  }
  else
  {
    $login = false;
    foreach($zugang as $benutzers)
    {
      $benutzer = explode('|',$benutzers);
      if($_POST['user'] == $benutzer[0] && $_POST['pw'] == $benutzer[1])
      {
        $login = true;
      }
    }
    if($login == true)
    {
      ?>
      BlaBla
  <?php
    }
    else
    {
      echo"Dein Benutzername / Passwort war falsch!<br>";
      echo"<a href=\"".$_SERVER['PHP_SELF']."\">zur&uuml;ck!</a>";
    }
  }
  ?>
Jetzt muesste es klappen. wenn nicht weiss ich auch nicht worans liegt.
 
abend,

es gibt auch im PHP-topic (also hier) ein tut von boehser onkel und mir dazu, das ist vielleicht besser zu verstehen.

Nils aka XraYSoLo
 
hmm.. danke für die hilfe, aber es klappt leider immernoch nicht. Vielleicht hilft es ja, wenn ich mal die kleine Codes aufschreibe, die ich benutze. also beim menü, sehen die links so aus:
HTML:
<a href="?seite=admin">Admin</a>
Im Content hab ich dann die Switchabfrage:
PHP:
<?php Switch($seite){ 
case admin:
include("admin.php");
break;
default:
include("default.php");
break; } ?>
So wenn ich dann jetzt zum Beispiel den Link zum Adminbereich mache und da das Loginscript einfüge, zeigt er mir obwohl ich richtig eingeloggt bin, die default.php. Ich hoffe ich konnte es verständlicher machen, wenn nicht dann fragt mich bitte!

tnoehles
 
hi XraYSoLo,
das tut hab ich mir vorhin schon angeguckt, aber das versteh ich weniger als das hier, ich habe halt hier nur das Problem, dass er nit die richtige Seite öffnet.

tnoehles
 
Du hast es so
PHP:
<?php Switch($seite){ 
case admin:
include("admin.php");
break;
default:
include("default.php");
break; } ?>
So muss es sein:
PHP:
<?php Switch($seite){ 
case "admin":
include("admin.php");
break;
default:
include("default.php");
break; } ?>
 
jetzt weiß ich auch was gemeint war, danke, aber es klappt immer noch nicht. http://tnoehles.tn.funpic.de/neu/nybg.php
Das ist die Seite an der ich im Moment arbeite. Klickt mal auf das Forum oder auf die Men Zone (hier ist der Benutzer: user und das Passwort: passwort). Wenn ihr bei der Men Zone richtig eingeloggt seid, müsste der Text BlaBla erscheinen, aber das tut er nicht. Man wird nämlich, und ich weiß nicht warum, auf die default Seite weitergeleitet. Mein Codes kennt ihr ja schon, die stehen ja weiter oben. Das Forumscript gibts bei widiker.de. Bitte helt mir.

tnoehles
 
Status
Für weitere Antworten geschlossen.
Zurück
Oben