Heyho!
Mein Ziel: Ich möchte es so basteln, dass nach drei fehlerhaften Eingaben das Form für 15Min ausgeblendet wird. Klar, gibt Effizienteres, aber für die Seite reichts erstmal und ich kann mir was besseres überlegen.
Mein Problem: Bisher baut sich die gesamte Seite nicht auf, da
Zitat von php.netHinweis: Alle eingetroffenen Signale werden erst ausgeliefert, wenn die Ausführung fortgesetzt wird.
Steht zwar nicht direkt bei sleep(), scheint aber auch dafür zu gelten.
Womit kann ich das also ersetzen?
Das bisherige Skript.
PHP
<?php
if(!isset($i)){ $i = 1; }
while ($i <= 3) { ?>
<form action="<?php $_SERVER["DOCUMENT_ROOT"]; ?>/index.php" method="post">
<span style="float: left; padding-right: 5px;">Nutzername:<br />
Passwort:</span>
<span><input type="text" name="user" value='<?php if ( isset( $user ) && $user == "Pfadi" ) {
echo $user . "' />";
} elseif ( !isset( $user ) ) {
echo "' />";
} else {
echo "' /> <p class='warning' style='display:inline'>Falscher Nutzer!</p>";
}
?><br />
<input type="password" name="pass" />
<?php if ( isset( $user ) && $user == "Pfadi" ) {
echo "<p class='warning' style='display:inline'>Falsches Passwort!</p>";
}
?><br />
<input type="submit" value="Login" /></span>
</form>
<p><?php echo $i; ?>/3 Versuchen.</p>
<?php
$i++;
sleep(180);
}
$min = time() + ( 15 * 60 );
echo "Es wurde die gültige Anzahl Einlogversuche erreicht!<br />
Einloggen erst wieder um " . date('H:i:s',$min) . " Uhr möglich.";
unset( $i );
sleep(900);
?>
Alles anzeigen