Zdravím,
Dnes jsem dokončil mou první práci z php, toto je asi první php co se mi povedlo , tak k věci jedná se o login na stránky který čte s tabulky accounts buď s databáze realmd nebo auth podle toho jaký máte emulátor. Funguje na všech emulátorech kromě SkyFire.Zatím nemám veřejnou IP takže jsem to zatím nevyužil
Tady je:
Index.php
<html>
<head>
<?php
session_start();
$username = (isset($_POST['username']))? trim($_POST['username']): '';
$password = (isset($_POST['password']))? trim($_POST['password']): '';
$redirect = (isset($_REQUEST['redirect']))? $_REQUEST['redirect']: 'index.php'; //soubor pro presmerovani po prihlaseni
if(isset($_POST['submit'])){
if(!isset($_SESSION['logged']) || $_SESSION['logged'] != 1){
include('config.php');
mysql_connect($ip, $name, $pass);
mysql_select_db($db);
$sql = "SELECT username, sha_pass_hash FROM `account` WHERE username='$username'";
$r = mysql_query($sql);
$fetch = mysql_fetch_array($r);
function sha_password($usr,$pas){
$usr = strtoupper($usr);
$pas = strtoupper($pas);
return sha1($usr.':'.$pas);
}
$pas = ($_POST['password']);
$usr = ($_POST['username']);
$passw = sha_password($usr,$pas);
if(!empty($_POST['username']) && $_POST['username'] = $fetch['username'] &&
!empty($_POST['password']) && $passw == $fetch['sha_pass_hash']) {
$_SESSION['username'] = $username;
$_SESSION['logged'] = 1;
header ('Refresh: 2; URL='. $redirect);
echo '<tr><td>Byl jste úspěšně přihlášen!</td></tr>';
echo '<tr><td>Budete přesměrován na předchozí stránku.</td></tr>';
echo '<tr><td>Pokud se tak nestane, následujte tento <a href="'. $redirect. '">odkaz!</a></td></tr>';
die();
}
else{
$_SESSION['username'] = '';
$_SESSION['logged'] = 0;
$error = '<tr><td>Špatné jméno nebo heslo!</td></tr>';
}
}
}
?>
<title>
</title>
</head>
</body>
<style type="text/css">
body {
width: 1000px;
height: 10px;
background-image: url(background.png);
}
</style>
</center>
<?php
if(isset($error)){
echo $error;
}
?>
<form action="index.php" method="post"> <!-- do action napis jmeno souboru kde je tento kod -->
<font color="white">Uzivatelske jmeno:
</font>
<br>
<input type="text" name="username" maxlength="20" size="20" value="<?php echo $username; ?>" />
<br>
<font color="white">Heslo:
</font></td>
<br>
<input type="password" name="password" maxlength="20" size="20" value="<?php echo $password; ?>" /></td>
<br>
<input type="hidden" name="redirect" value="<?php echo $redirect; ?>" />
<input type="submit" name="submit" value="Prihlasit" />
</form>
<br>
<table align="left">
<?php
if ($_SESSION['username'])
echo "Uživatel:".$_SESSION['username']."!<br><a href='logout.php'>Odhlásit se</a></a>";
else
die("");
?>
</table>
</html>
pass.php
<?php
$log = '0';
$pas = '0';
function sha_password($log,$pas){
$log = strtoupper($log);
$pas = strtoupper($pas);
return sha1($log.':'.$pas);
}
$pass = sha_password($log,$pas);
echo $pass;
?>
config.php
<?php
$ip = "localhost"; //IP serveru
$name = "root"; //MySQL Uzivatel
$pass = "root"; //MySQL Heslo
$db = "auth"; // database auth/realmd
?>
Snad to nekdo vyuzije
EDIT: Uprava kodu