juha: HTML eingaben in PERL verarbeiten

Hallo Miteinander

Ich würde gerne ein Loggin erstellen. Auf einer HTML seite werden Name und Passwort angegeben, welche dann in einem Perlprogramm verglichen werden und es dann in eine if-Schleife geht?!

Der HTML-Code:

<form method="POST" action="/cgi-bin/arbeitszeit/verwaltung.cgi">
<table  border="0" cellpadding="2">
    <br>
 <br>
 <br>
 <br>
    <tr>
      <td bgcolor="#E7F7FF">Login-Name</td>
      <td bgcolor="#E7F7FF"><input type="text" name="verw_login" size="20" value=""></td>
    </tr>
    <tr>
      <td bgcolor="#E7F7FF">Passwort</td>
      <td bgcolor="#E7F7FF"><input type="password" name="verw_passwort" size="20"
      value=""></td>
    </tr>
    <tr>
      <td bgcolor="#E7F7FF"> </td>
      <td bgcolor="#E7F7FF"><INPUT TYPE="button" VALUE=" Anmelden " onClick="self.location.href='/cgi-bin/arbeitszeit/verwaltung.cgi?mode=login'"></td>
    </tr>
  </table>
</form>

Der Perlteil:

if($in{mode} eq "login")
{
 print "Die Verwaltungsperson hat sich eingeloggt";
 print $in{verw_login};
 print $in{verw_passwort};

if($in{verw_login} == blj and $in{verw_passwort} == zli)
 {
  showfile("index.htm");
 }
 else
 {
  print "Falsches Login, probieren sie es noch einmal";
  showfile("verwaltungslogin.html");
 }
}

Wieso geht mein Programm nicht in die if- oder else-Schleife??

Mit freundlichen Grüssen
juha

  1. Moin.

    Wieso geht mein Programm nicht in die if- oder else-Schleife??

    Weil du das Formular nicht abschickst. Dafür braucht es einen
    <input type="submit">-Button.

    Das gerät aber in den Konflikt mit deinem URL-Parameter. Entweder Formular abschicken, oder URL-Parameter. Da das Formular hier wichtiger ist, packe die URL-Parameter in <input type="hidden" name="mode" value="login"> solche Felder rein. Dann klappts.

    - Sven Rautenberg

  2. hi!

    if($in{verw_login} == blj and $in{verw_passwort} == zli)

    Insbesondere ist == nicht der richtige Operator, um die Gleichheit zweier
    Strings zu vergleichen. Dazu dient der Operator eq, den du weiter oben auch
    schonmal verwendet hast.

    Alles weitere siehe in Svens Posting... ;))

    bye, Frank!