Hallo Felix,
um das etwas zu schärfen: es mag noch sinnvoller sein, Code nicht zu wiederholen, sondern gleiche Teile zusammenzulegen.
Statt der Abfragekette wäre dies hier sinnvoller:
?>
<html>
<head>
<?php if ($verhalten == 1): ?>
<meta http-equiv="refresh" content="0.1; URL=index.php"/>
<script>
alert("Du hast dich erfolgreich angemeldet");
</script>
<?php elseif ($verhalten == 2 || $verhalten == 3): ?>
<script>
alert("Dein Passwort oder dein Benutzername ist falsch!\n Bitte versuche es erneut!\n error:<?=$verhalten?>");
</script>
<?php endif; ?>
</head>
<body>
<?php if ($verhalten == 1): ?>
Du wirst automatisch weitergeleitet!
<?php else: ?>
<form action="index.php?sec=log&page=log" method="post">
<td>
<tr><input name="username" type="text" required/></tr>
<tr><input name="password" type="password" required/></tr>
<tr><input value="Anmelden" type="submit"/></tr>
</td>
</form>
<?php endif; ?>
</body>
</html>
<?php
$mysql=null;
Das vermeidet die Code-Duplikation, und die Verwendung der alternativen Syntax für Kontrollstrukturen lässt deutlicher erkennen, wo die Abfrageblöcke enden. endif;
ist hier besser als ein einsames }
.
Noch besser wäre der Einsatz von Funktionen, um Logik und Ausgabe zu trennen.
Abgesehen davon ist besteht das Eingabeformular aus kaputtem HTML. Wenn schon als Tabelle, dann in ein <table> Tag eingeschlossen, und die Rolle von <tr> und <td> wurde verwechselt.
Rolf
--
sumpsi - posui - clusi
sumpsi - posui - clusi