Ahoj,
chtěla bych se pokusit se o přihlašování s různými kódováními a úplně s mi to nedaří. Při každém neúspěšném pokusu se do databáze přičítá jednička a podle téhle položky by se s narůstajícími čísly měly dít jiné akce. Podle všeho probíhá vždy jen ta větev s podmínkou if(FLC < 3)
if (@($_POST["prihlas"])){
$nick = $_POST["nick"];
$heslo = $_POST["heslo"];
$hesloz = ##############;
$hesloe1 = ##############;
$hesloe2 = ##############;
$hesloe3 = ##############;
if(isset($_POST["trvale"])){
setCookie("trvale_prihlaseni", "1", mktime(18, 30, 0, 1, 1, 2020));
setCookie("nick", "$nick", mktime(18, 30, 0, 1, 1, 2020));
setCookie("heslo", "$heslo", mktime(18, 30, 0, 1, 1, 2020));
}
include "./config.php";
$dotay = mysql_query("SELECT * FROM uzivatele WHERE nick='".mysql_real_escape_string($nick)."' AND (heslo_z='$hesloz' OR heslo_e1='$hesloe1' OR heslo_e2='$hesloe2' OR heslo_e3='$hesloe3') AND overeni='1' ;");
while($vxstup = mysql_fetch_object($dotay))
{
$id = $vxstup -> id;
$nickdb = $vxstup -> nick;
$heslozdb = $vxstup -> heslo_z;
$hesloe1db = $vxstup -> heslo_e1;
$hesloe2db = $vxstup -> heslo_e2;
$hesloe3db = $vxstup -> heslo_e3;
$email = $vxstup -> email;
$opravneni = $vxstup -> opravneni;
$avatar = $vxstup -> avatar;
$FLC = $vxstup -> FLC;
}
//kontroluju hodnotu FLC a podle toho se rozhoduju
if(@$FLC < 3){
if($nick == isset($nickdb) AND $hesloz == isset($heslozdb)){
$_SESSION["id"] = $id;
$_SESSION["nick"] = $nick;
$_SESSION["email"] = $email;
$_SESSION["opravneni"] = $opravneni;
$_SESSION["avatar"] = $avatar;
$uprava_flc = mysql_query("UPDATE uzivatele SET FLC='0' WHERE nick='".mysql_real_escape_string($nick)."';");
echo "<div class='nadpisstranky'>Byli jste přihlášeni jako $nick</div>
<div class='popisstranky'>Nyní můžete pokračovat v procházení stránek.</div>";
} else {
echo "<div class='nadpisstranky'>Pokus o přihlášení selhal</div>
<div class='popisstranky'>Zadal jsi špatné přihlašovací údaje nebo nemáš aktivovaný účet. <br />
Zkontroluj velká / malá písmena, diakritiku... Pro aktivaci si zkontroluj emailovou schránku uvedenou při registraci.</div>";
$uprava_flc = mysql_query("UPDATE uzivatele SET FLC=(FLC + 1) WHERE nick='".mysql_real_escape_string($nick)."';");
echo "<script>
setTimeout(function(){
parent.window.location.reload(true);}, 2000);</script>";
}
}elseif(@$FLC >= 3 AND $FLC < 6){
if($nick == isset($nickdb) AND $hesloe1 == isset($hesloe1db)){
$_SESSION["id"] = $id;
$_SESSION["nick"] = $nick;
$_SESSION["email"] = $email;
$_SESSION["opravneni"] = $opravneni;
$_SESSION["avatar"] = $avatar;
$uprava_flc = mysql_query("UPDATE uzivatele SET FLC='0' WHERE nick='".mysql_real_escape_string($nick)."';");
echo "<div class='nadpisstranky'>Byli jste přihlášeni jako $nick</div>
<div class='popisstranky'>Nyní můžete pokračovat v procházení stránek.</div>";
echo "<script>
setTimeout(function(){
parent.window.location.reload(true);}, 5000);</script>";
} else {
echo "<div class='nadpisstranky'>Pokus o přihlášení selhal</div>
<div class='popisstranky'>Zadal jsi špatné přihlašovací údaje nebo nemáš aktivovaný účet. <br />
Zkontroluj velká / malá písmena, diakritiku... Pro aktivaci si zkontroluj emailovou schránku uvedenou při registraci.</div>";
$uprava_flc = mysql_query("UPDATE uzivatele SET FLC=(FLC + 1) WHERE nick='".mysql_real_escape_string($nick)."';");
echo "<script>
setTimeout(function(){
parent.window.location.reload(true);}, 2000);</script>";
}
}elseif(@$FLC >=6 AND $FLC < 9){
if($nick == isset($nickdb) AND $hesloe2 == isset($hesloe2db)){
$_SESSION["id"] = $id;
$_SESSION["nick"] = $nick;
$_SESSION["email"] = $email;
$_SESSION["opravneni"] = $opravneni;
$_SESSION["avatar"] = $avatar;
$uprava_flc = mysql_query("UPDATE uzivatele SET FLC='0' WHERE nick='".mysql_real_escape_string($nick)."';");
echo "<div class='nadpisstranky'>Byli jste přihlášeni jako $nick</div>
<div class='popisstranky'>Nyní můžete pokračovat v procházení stránek.</div>";
echo "<script>
setTimeout(function(){
parent.window.location.reload(true);}, 5000);</script>";
} else {
echo "<div class='nadpisstranky'>Pokus o přihlášení selhal</div>
<div class='popisstranky'>Zadal jsi špatné přihlašovací údaje nebo nemáš aktivovaný účet. <br />
Zkontroluj velká / malá písmena, diakritiku... Pro aktivaci si zkontroluj emailovou schránku uvedenou při registraci.</div>";
$uprava_flc = mysql_query("UPDATE uzivatele SET FLC=(FLC + 1) WHERE nick='".mysql_real_escape_string($nick)."';");
}
} else{
if($nick == isset($nickdb) AND $hesloe3 == isset($hesloe3db)){
$_SESSION["id"] = $id;
$_SESSION["nick"] = $nick;
$_SESSION["email"] = $email;
$_SESSION["opravneni"] = $opravneni;
$_SESSION["avatar"] = $avatar;
$uprava_flc = mysql_query("UPDATE uzivatele SET FLC='0' WHERE nick='".mysql_real_escape_string($nick)."';");
echo "<div class='nadpisstranky'>Byli jste přihlášeni jako $nick</div>
<div class='popisstranky'>Nyní můžete pokračovat v procházení stránek.</div>";
echo "<script>
setTimeout(function(){
parent.window.location.reload(true);}, 5000);</script>";
} else {
echo "<div class='nadpisstranky'>Pokus o přihlášení selhal</div>
<div class='popisstranky'>Zadal jsi špatné přihlašovací údaje nebo nemáš aktivovaný účet. <br />
Zkontroluj velká / malá písmena, diakritiku... Pro aktivaci si zkontroluj emailovou schránku uvedenou při registraci.</div>";
$uprava_flc = mysql_query("UPDATE uzivatele SET FLC=(FLC + 1) WHERE nick='".mysql_real_escape_string($nick)."';");
$ip = $_SERVER["REMOTE_ADDR"];
$zapis_blokovani = mysql_query("INSERT INTO blokovaneip SET ip='$ip' do_jakeho_uctu='$nick';");
echo "<script>
setTimeout(function(){
parent.window.location.reload(true);}, 2000);</script>";
}
}
}
dík za radu a upozornění co dělám blbě :) Asi by to šlo i přes switch, ale nějak si netroufám