Spoiler: zobrazit
Kód: Vybrat vše
<form method='post'>
<input type="text" name='nick' placeholder="Nick"><br />
<input type="password" name='heslo' placeholder="Heslo"><br />
<button type="submit">Přihlásit!</button><br />
</form>
<?php
///////////////
// NASTAVENI //
///////////////
$db_host = "93.91.250.137"; // Zde zadej hostitele
$db_uzivatel = "148***_mysql_db"; // Zde uživatelské jméno
$db_heslo = "******"; // Zde heslo
$db_databaze = "148***_mysql_db"; // Zde jméno databáze
$db_tabulka = "authme_administrace"; // Zde zadej jméno AuthMe tabulky
$hash = "SHA256"; // Zde zadej typ šifrování
///////////////
// SKRIPT //
///////////////
if(isset($_SESSION['uzivatel'])) {
echo "<a href='?odhlasit=true'><button>Odhlásit</button>";
if(isset($_GET['odhlasit']) && $_GET['odhlasit']==true) session_destroy();
} else {
$mysqli = new mysqli($db_host, $db_uzivatel, $db_heslo, $db_databaze);
if ($mysqli->connect_errno)
{
echo "Failed to connect to MySQL: " . $mysqli->connect_error;
exit();
}
if (isset($_POST['nick']) && isset($_POST['heslo']))
{
if (!empty($_POST['nick']) && !empty($_POST['heslo']))
{
//Ochrana a tvorba variablů
$nick = preg_replace('/\s+/', '', $_POST['nick']);
$heslo = preg_replace('/\s+/', '', $_POST['heslo']);
$result = $mysqli->query("SELECT password FROM ".$db_tabulka." WHERE username = '".$nick."'");
$row = $result->fetch_assoc();
switch ($hash) {
case 'MD5':
$heslicko = hash('md5', $heslo) === $row['password']; break;
case 'SHA1':
$heslicko = hash('sha1', $heslo) === $row['password']; break;
case 'SHA256':
$userPasswordField = explode('$', $row['password']);
$heslo = hash('sha256', $heslo);
$heslo .= $userPasswordField[2];
$heslo = '$SHA$' . $userPasswordField[2] . '$' . hash('sha256', $heslo);
$heslicko = $heslo === $row['password'];
break;
}
$ip = $_SERVER['REMOTE_ADDR'];
//Ověření nicku
$query_nick = mysqli_query($mysqli, "SELECT username FROM ".$db_tabulka." WHERE username = '".$nick."'");
if ($data_nick = mysqli_fetch_array($query_nick))
{
//Ověření hesla
if ($heslicko)
{
$_SESSION['uzivatel'] = $nick;
//Úspěšné přihlášení
header ("Location: admin.php");
}
else
{
//Neúspěšné přihlášení
echo "<div style='color: red;'><strong>Toto heslo není správné.</strong></div>";
}
}
else
{
//Neexistující přezdívka
echo "<div style='color: red;'><strong>Tato přezdívka nebyla nalezena.</strong></div>";
}
}
}
}
//Obnova hesla
if(isset($_GET['action']))
{
if($_GET['action'] == "newpassword")
{
echo "<form method='post'><input type='text' name='udaj' placeholder='Přezdívka'><button type='submit'>Zaslat heslo!</button></form>";
if(isset($_POST['udaj']))
{
if(!empty($_POST['udaj']))
{
function random_pwd($length)
{
$rangeMin = pow(36, $length-1);
$rangeMax = pow(36, $length)-1;
$base10Rand = mt_rand($rangeMin, $rangeMax);
$newRand = base_convert($base10Rand, 10, 36);
return $newRand;
}
$new_query_email = mysqli_query($mysqli, "SELECT email FROM ".$db_tabulka." WHERE username = '".$_POST['udaj']."'");
$new_query_data = mysqli_fetch_array($new_query_email);
$random_pw = random_pwd(10);
$random_pw_md = md5($random_pw);
$message = "Tvoje nove heslo pro jmeno ".$_POST['udaj']." je " . $random_pw;
ini_set("SMTP","ssl://smtp.gmail.com");
ini_set("smtp_port","587");
mail($new_query_data['email'], 'New Password', $message);
$query = mysqli_query($mysqli, "UPDATE ".$db_tabulka." SET password = '".$random_pw_md."' WHERE username = '".$_POST['udaj']."'");
echo "Tvé heslo bylo změněno! Zkontroluj svoji e-mailovou schránku.";
}
}
}
}
?>
No a jak je to
Spoiler: zobrazit
Kód: Vybrat vše
{
$_SESSION['uzivatel'] = $nick;
//Úspěšné přihlášení
header ("Location: admin.php");
}
Tak potřebuji aby to vyplňování toho nicku atd. zmizlo a hodilo to staty a tlačítko na odhlášení.
Díky moc McBOY.
Server: 93.91.250.137:27466