Autor Zpráva
McBOY
Profil
Ahoj potřebuji pomoc s tímhle
Tohle je skript na lognuti.
    <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
  $_SESSION['uzivatel'] = $nick;
                //Úspěšné přihlášení
         
header ("Location: admin.php");
            }
Tak potřebuji aby ten script když se úspěšně přihlásí tak nepojede akorát ten nick, heslo, odeslat zmizí a bude tam normální přidávání příspěvků
Html kód na přidání příspěvku
<form action="script.php" method="post">
 <h3>Název článku:</h3> <input type="text" id="nazev" name="nazev" /><br />
   <h3>Obsah článku:</h3> <textarea id="text" name="text"></textarea>
   <h3>Autor:</h3> <input type="text" id="autor" name="autor">
  <input type="submit" value="Odeslat!" />
</form>
A to potřebují aby tam někde bylo tlačítko na odhlášení.

Díky McBOY
karel S.
Profil *
McBOY:
kontroluj, jestli existuje $_SESSION['uzivatel'] a vypisuj příslušný formulář.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: