Autor Zpráva
Martinez
Profil *
Ahojda,
potřeboval bych poradit... mam soubor, ve kterém mám uložený skript na ověření přihlašování:


<?php
$spojeni = mysql_connect("localhost","root","root") or
die ("Nepodaøilo se pøipojit k DB serveru.");
mysql_select_db("socky");


if (isset($_POST["auth_login"])) {
$sql = "SELECT heslo FROM uzivatele WHERE login = '". mysql_real_escape_string($_POST["auth_login"])."'";
$res = mysql_query($sql);
//if (mysql_result(mysql_query("SELECT COUNT(*) FROM uzivatele WHERE login = '$_POST[auth_login]' AND heslo = '" . md5($_POST["auth_heslo"]) . "'"), 0)) {
if ($res && mysql_num_rows($res) && "". mysql_real_escape_string($_POST["auth_heslo"]) .""==mysql_result($res,0)) {
session_regenerate_id(); // ochrana pøed Session Fixation
$_SESSION["logged"] = true;
echo "Zalogovan";
}
}
if (!isset($_SESSION["logged"])) {
if (isset($_POST["auth_login"])) {
echo "<p>Neplatné pøihlašovací údaje.</p>\n";
}
echo "<form action='' method='post'>\n";
echo "Login: <input name='auth_login' maxlength='30' />\n";
echo "Heslo: <input type='password' name='auth_heslo' />\n";
echo "<input type='submit' value='Pøihlásit' />\n";
echo "</form>\n";
include "end.php";
exit;
}

?>




Ten pak vložím pomocí include na začátek každé mé stránky. Problém je v tom, že se musím pokaždé přihlašovat, což samozřejmě nechci a ani by to tak být nemělo... prosím poraďte mi, díky!
bitbit
Profil
Zkus to udelat takhle



<?php
$spojeni = mysql_connect("localhost","root","root") or

die ("Nepoda?ilo se p?ipojit k DB serveru.");

mysql_select_db("socky");




if (!isset($_SESSION["logged"])) {

if (isset($_POST["auth_login"])) {

$sql = "SELECT heslo FROM uzivatele WHERE login = '". mysql_real_escape_string($_POST["auth_login"])."'";
if (!isset($sql)){
echo "<p>Neplatné prihlašovací údaje.</p>\n";
}
else {
$res = mysql_query($sql);

//if (mysql_result(mysql_query("SELECT COUNT(*) FROM uzivatele WHERE login = '$_POST[auth_login]' AND heslo = '" . md5($_POST["auth_heslo"]) . "'"), 0)) {

if (md5($_POST["auth_heslo"])===$res['heslo']) {

session_regenerate_id(); // ochrana p?ed Session Fixation

$_SESSION["logged"] = true;

echo "Zalogovan";
}
}

else {

echo "<p>Neplatné p?ihlašovací údaje.</p>\n";

}
}
if (!isset($_POST["auth_login"])) {

echo "<form action='' method='post'>\n";

echo "Login: <input name='auth_login' maxlength='30' />\n";

echo "Heslo: <input type='password' name='auth_heslo' />\n";

echo "<input type='submit' value='P?ihlásit' />\n";

echo "</form>\n";

include "end.php";

exit;
}
}
else {
tady dej ten chranenej text;
}



?>




Mozna je tam nekde chyba. Delal jsem to na rychlo.
Na webu, ale muzes najit uz hotovy session login.
Toto téma je uzamčeno. Odpověď nelze zaslat.

0