andreas: passwort Script HILFE!!!

Hallo,

ich habe folgendes Problem. Wenn ich das PHP-Script welches unten steht aufrufe über eine html Site z.B. login.html " <form action="pass.php3" method="post"> " dann öffnet er dieses Script und fragt mich nach Benutzer (admin) und Passwort (php). So wenn ich das richtig eingegeben habe folgt eine erzeugte Seite mit Wilkommen, also der Bereich von Zeile 21 - 30. Doch nun möchte ich dort aber einen link auf eine andere Seite haben z.B. secure.html, doch jedesmal wenn ich in dem Bereich nur eine Kleinigkeit ändere spuckt er eine Fehlermeldung in Line... aus.
Kann mir jemand helfen !!???

_______________________pass.php3____________________________________
<html>
<head>
        <title>Login</title>
</head>

<body bgcolor="#000080">
<font face="Verdana" size="2" color="#ffffff">
<center>

<?php

// Username und Passwort hier eintragen

if ((md5($user) == "21232f297a57a5a743894a0e4a801fc3") and (md5($pass) == "e1bfd762321e409cee4ac0b6e841963c"))

{

echo "

<html>
<head>
<title>Login</title>
</head>
<body bgcolor="#000080">
<font face="Verdana" size="2" color="#ffffff">
<b>Willkommen !</b>
</font>
</body>
</html>

";

}

else

{

echo "<b>Falscher Username oder Passwort !</b>";

}

?>

</center>
</font>

</body>
</html>
____________________________________________________________________

  1. Hallo.

    doch jedesmal wenn ich in dem Bereich nur eine Kleinigkeit ändere spuckt er eine Fehlermeldung in Line... aus.

    1. _was_ änderst Du denn? Ein laufendes Script zu posten ist nicht so sinnvoll, da kann niemand Deinen Fehler finden. Interessant ist der Teil, der den fehler auslöst.

    2. _welche_ Fehlermeldung kommt denn? PHP ist doch da nicht ganz so verschwiegen wie z.B. CGI und sagt wirklich was ihm nicht passt.

    Grüße aus Würzburg
    Julian

    1. Hallo,

      also folgende Fehlermeldung. Wenn ich in den Zeilen, wo es um den HTML Teil geht, das einsetzte <a href="../protect/verzeichniss.htm">
      bekomme ich folgende Fehlermeldung : Parse error: parse error in c:\apache\htdocs\secure2\pass.php on line 27

      _________________abgeädertes Script Abschnitt_______________
      <html>
      <head>
      <title>Login</title>
      </head>
      <body bgcolor="#000080">
      <font face="Verdana" size="2" color="#ffffff">
      <b><a href="../protect/verzeichniss.htm">Willkommen !</b>
      </font>
      </body>
      </html>
      ____________________________________________________________

      ________________orginal Script Abschnitt____________________
      <html>
      <head>
      <title>Login</title>
      </head>
      <body bgcolor="#000080">
      <font face="Verdana" size="2" color="#ffffff">
      <b>Willkommen !</b>
      </font>
      </body>
      </html>
      ____________________________________________________________

      Danke
      Andreas

      1. Hallo,

        also folgende Fehlermeldung. Wenn ich in den Zeilen, wo es um den HTML Teil geht, das einsetzte <a href="../protect/verzeichniss.htm">
        bekomme ich folgende Fehlermeldung : Parse error: parse error in c:\apache\htdocs\secure2\pass.php on line 27

        Wenn wir jetzt noch süßten was in Zeile 27 steht wäre das prima ;-) Parse error heißt immer, Du hast immer irgendein Zeichen vergessen,(z.B. ein ; oder ein ")meist sowas wie

        echo "hallo"
        echo "hallo;

        solche Sachen geben parse Error, oder wenn Du Sonderzeichen wie " nicht auskommentierst, was glaube ich hier der Fall ist:

        <body bgcolor="#000080">

        hierraus schließe ich mal das alles was Du hier postest "in einem echo" steht, oder warum die " ?

        <b><a href="../protect/verzeichniss.htm">Willkommen !</b>

        Wenn Du jetzt schon wie oben das Sonderzeichen " auskommentierst, warum machst Du das nicht auch hier? Denn PHP denkt beim nächsten " hier wäre echo zu Ende, aber PHP weiß jetzt absolut nichts mit ../protect/verzeichniss.htm">Willkommen !</b> anzufangen, daher wahrscheinlich der Parse Error udn vermutlich ist das Zeile 27, aber wie gesagt, mehr kann ich nicht sagen aus den Angaben die Du gemacht hast geht das nicht eindeutig hervor!

        Wobei, wenn das wirklich alles in einem echo steht ist das Quatsch, denn dafür sind

        html
        <?php ?>
        html

        da, im html-Berreiche kannst Du ganz normales html schreiben, im PHP-Berreich  halt PHP. Benutze lieber öfter <??> als solche echos!

        Grüße
        Andreas

        PS: verzeichniss
                       ^

      2. Hallo Andreas,

        gut, und jetzt schaust Du Dir doch nochmal diese beiden Zeilen _genau_ an.

        <font face="Verdana" size="2" color="#ffffff">
        <b><a href="../protect/verzeichniss.htm">Willkommen !</b>

        Erkennst Du einen Unterschied? Wie sind im funktionierenden Skript die Anführungszeichen eingegeben und wie in dem vonD ir eingefügten?
        Die Ausgabe erfolgt über echo "mustertext". Wenn du jetzt im auszugebenden Text Anführungszeichen hast, dann muss PHP irgendwie erkennen können, welche Anführungszeichen ausgegeben werden sollen und welche zur Syntax von PHP gehört (sprich, wo echo endet). Deshalb musst Du auszugebenden Anführungszeichen (und div. anderen Sonderzeichen) einen Backslash voranstellen (wie im funktionierenden Code).

        Aber noch als kleiner Tipp zum ganzen: Welchen Sinn macht eine Passwortabfrage wenn man die gelinkte Seite ohne Passwort ausrufen kann (wenn man die URL mal kennt)?

        Grüße aus Würzburg
        Julian