HTML eingaben in PERL verarbeiten
juha
- perl
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
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
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!