Problem mit Loginscript (wahrscheinlich MySQL Fehler)
bearbeitet von Rolf BHallo Felix,
um das etwas zu schärfen: es mag noch sinnvoller sein, Code nicht zu wiederholen, sondern in Funktionen auszulagern.
Statt der Abfragekette wäre dies hier sinnvoller:
~~~php
?>
<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