Stránka 1 z 1

PHP přihlášení

Napsal: 10 úno 2014, 23:15
od TopCz
Server: 93.91.250.127:27264

Zdravím mám dotaz pokouším se udělat přihlášení na web ze hry aby tam hráči měly různé statistiky atd ale nejde my login.php používám tento od zdenda204 viewtopic.php?f=85&t=15274

ale nevím jak mám udělat aby když se hráč přihlásí tam aby ho to přesměrovalo na určitou stránku taky bych potřeboval vědět co mám dát do stránky za podmínku nebo tak něco aby jste tam nedalo dostat bez přihlášení PS: ano jsem Blbec :D neumím to ale učím se rychle :DDDDD......



můj kouzelný script :

Spoiler: zobrazit

Kód: Vybrat vše

<html>
    <head>
        <title>Přihlášení</title>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <meta name="author" content="zdenda204">
    </head>
<body>
<!--
Author: zdenda204
Name: Přihlašovací skript
-->
<form method='post'>
   <input type="text" name='nick' placeholder="Nick">
   <input type="password" name='heslo' placeholder="Heslo">
   <button type="submit">Přihlásit!</button>
</form>

<?php
///////////////
// NASTAVENI //
///////////////
$db_host         =     "starsky.fakaheda.eu";     // Zde zadej hostitele
$db_uzivatel     =     "140344_mysql_db";          // Zde uživatelské jméno
$db_heslo        =     "CENZURA";          // Zde heslo
$db_databaze     =     "140344_mysql_db";        // Zde jméno databáze
$db_tabulka      =     "authme";        // 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í
            echo "<div style='color: green;'><strong>Úspěšně přihlášen.</strong></div>";
           }
         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.";
            
         }
      }
   }
}
else {echo "<a href='?action=newpassword'>Zapomněl jsem heslo.</a>";}
?>
</body>
</html>


Zde je odkaz na stránku : http://player_panel.ecrafting.eu/login.php

Re: PHP přihlášení

Napsal: 09 bře 2014, 01:42
od Cernokneznik
Stačí si najit kde dojde k ověření hesla a tam vložit požadovaný kód.