Takze tu je prihlasovaci formular v subore index.php
Kód:
<form method="post" action="/prihlasovanie.php">
<p>Užívateĺské meno:<input type="text" name="meno" /></p>
<p>Užívateľské heslo:<input type="password" name="heslo" /></p>
<input type="checkbox">Zapamätať
<input type="submit" value="Prihlásiť" />
</form>
Dalej subor na spracovanie prihlasovanie v subore: prihlasovanie.php
Kód:
<meta http-equiv="Content-Type" content="text/html; charset=windows-1250">
<?php
include 'spojenia/db.php';
session_start();
$meno = $_POST['meno'];
$_SESSION['meno'] = $_POST['meno'];
$heslo = $_POST['heslo'];
$result = mysql_query("SELECT heslo FROM uzivatelia WHERE nick='$meno'");
$row = mysql_fetch_row($result); /
if($heslo == $row[0])
{
$_SESSION['prihlaseny'] = 'ano';
header("Location: profil.php?$meno");
}
else
{
echo "Zadali ste neplatné meno alebo heslo!";
header("Location: index.php?chyba");
}
?>
Teraz stranka po prihlaseni v nazvom: profil.php
Kód:
<?php
session_start();
if($_SESSION['prihlaseny'] != 'ano')
die("Nepovolený vstup! Najprv sa prihláste.");
include 'spojenia/db.php';
$meno = $_SESSION['meno'];
$id=$_SESSION['id'];
$ip = $_SERVER['REMOTE_ADDR'];
$kodik = rand(1111111,99999999);
$cas = date("d.m.Y H:i:s");
$oprava = "UPDATE uzivatelia SET kod='$kodik',ip='$ip',prihlasenie='teraz',stav='online' WHERE nick='$meno'";
$dooprava = mysql_query($oprava) or die ("Chyba!");
mysql_query("INSERT INTO prihlasenia(nick,cas) VALUES('$meno','$cas' )")
or die ("Chyba pri zapise do db.");
$result = mysql_query("SELECT prava FROM uzivatelia, zablokovani WHERE nick='$meno'");
while($row = mysql_fetch_array($result))
{
$prava = $row['prava'];
}
$result = mysql_query("SELECT udaj FROM zablokovani WHERE nick='$meno'");
while($row = mysql_fetch_array($result))
{
$udaj = $row['udaj'];
}
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Profil</title>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1250">
<a href='odhlasit.php'>Odhlásiť</a>
<?
if($udaj == '1')
echo '<script> window.location.href="index.php?zablokovani"; </script>';
if($prava == 'admin')
echo '<a href="/admin/index.php">Adminitrácia</a>';
?>
A na odhlasovanie: odhlasit.php
Kód:
<?php
include 'spojenia/db.php';
session_start();
$meno = $_SESSION['meno'];
$cas = date("d.m.Y H:i:s");
$oprava = "UPDATE uzivatelia SET kod='0000' ,prihlasenie='$cas',stav='offline' WHERE nick='$meno'";
$dooprava = mysql_query($oprava) or die ("Chyba!");
unset($_SESSION['prihlaseny']);
unset($_SESSION['meno']);
session_destroy();
header("Location: index.php?odhlaseny");
?>
A moj problem spociva v tom ze aj ked zadam spravne meno a heslo ma neprihlasi ale ked nezadam nic tak ma prihlasi ale ako ziadneho uzivatela ale na stranku profil.php presmeruje a zostane v stave profil.php? . Tipujem ze cely problem bude len niakou chybo z nepozornosti pri session ale stava sa mi to pri kazdom scripte ktory robim s prihlasovanim a uz som zufaly... dakujem za kazdu radu.
P.S rozmyslal som ze ci tam netreba dat kod na overovanie ci bolo zadane meno a heslo ale podla mna to vyriesi overovanie spravnosti hesla a porovnavanie mena