Programovacie jazyky, rady, poradňa...
.:M4jco:.
Medium Star
Príspevky: 442 Registrovaný: 01 máj 2007, 13:07
Bydlisko: Bassline lover
Kontaktovať používateľa:
Príspevok
od používateľa .:M4jco:. » 22 jan 2009, 22:11
Zdravím, mám spravené prihlasovanie avšak nefunguje (pravdepodobne session) a neviem ako to opraviť. Vždy ked sa prihlásim, aj tak nemožem prezerať admin stránku.
Kód loginu
Kód: Vybrať všetko
case "login":
?>
<h2>Prihlásenie</h2>
<form action="?kategoria=login" method="post">
<p>Prihlasovacie meno: <input type="text" name="nick"/></p>
<p>Prihlasovacie heslo: <input type="password" name="pswd"/></p>
<p><input type="submit" /></p>
</form>
<?
$nick = $_POST['nick'];
$pswd = sha1($_POST['pswd']); # ziskame heslo v sifrovanej podobe
$result = mysql_query("SELECT password FROM nodz_users WHERE nick='$nick'");
$row = mysql_fetch_row($result);
if($pswd == $row[0])
{
$_SESSION['prihlaseny'] = 'ano';
}
else
{
echo "Zadali ste neplatné meno alebo heslo!";
}
break;
A tu je kód ktorý zakazuje neprihlásenemú uživatelovi prezerať stránku. Je umiestnený v admin.php
Kód: Vybrať všetko
<?php
if($_SESSION['prihlaseny'] != 'ano')
die("Nepovolený vstup! Najprv sa prihláste.");
?>
agy
Medium Expert
Príspevky: 117 Registrovaný: 08 jan 2007, 19:59
Bydlisko: Cadca
Kontaktovať používateľa:
Príspevok
od používateľa agy » 22 jan 2009, 23:46
fuu... tu je moj kod ktory som kedysi pisal na prihlasovanie do administracie na jednom webe... vyber si z toho co potrebujes
admin.php
Kód: Vybrať všetko
<?php
}
if (isset($akcia)) {
if ($_GET["akcia"] == "1") {
hlavicka($sitename);
echo " <h1>Nastala chyba pri inicializácii session.</h1>\n";
formular();
}
if ($_GET["akcia"] == "2") {
hlavicka($sitename);
echo "<h1>Snaha o neautorizovaný prístup.</h1>\n";
formular();
}
if ($_GET["akcia"] == "3") {
hlavicka($sitename);
echo "<h1>Vyplňte login a heslo.</h1>\n";
formular();
}
if ($_GET["akcia"] == "4") {
session_start();
hlavicka($sitename);
echo "<h1>Váš učet bol v nečinnosti viac ako 10 minút.</h1>\n";
session_unregister("user");
session_destroy();
formular();
}
if ($_GET["akcia"] == "5") {
session_start();
$logout1=session_unregister("user");
$logout2=session_destroy();
hlavicka($sitename);
if($logout1 || $logout2): //pokial bola odstranena session
echo "<h1>Bol ste úspešne odhlásený.</h1>\n";
else: //pokial nebola odstranena session
echo "<h1>Nebol ste úspešne odhlásený.</h1><br/>\n
Skúste to <a href=\"index.php?akcia=5\">znovu.</a>\n";
endif;
formular();
}
} else {
hlavicka($sitename);
echo "<h1>Prihláste sa prosím!</h1>\n";
formular();
}
?>
login.php
Kód: Vybrať všetko
<?php
$_login = $_POST["us_login"];
$_heslo = $_POST["us_heslo"];
$file = "r4g5db1ccnn1f3njgkzu2-1h6.txt";
$fp = FOpen($file,"r"); // otvorenie na čítanie
$psswd = FRead($fp,FileSize($file));
if($_login && $_heslo):
if((md5($_heslo) == "$psswd") && ($_login == "admin")):
session_start();
$registrace = session_register("user") ;
if($registrace):
$_SESSION["user"]["id"] = $user_data["id"]; // ulozenie session ID pre neskorsie pouzizie
$_SESSION["user"]["interval"] = "600"; // interval nečinnosti uživatela
$_SESSION["user"]["session_time"] = Time(); //aktualny cas
header("location:aktuality_write.php");
else:
header("location:admin.php?akcia=1");
endif;
else:
header("location:admin.php?akcia=2");
endif;
else:
header("location:admin.php?akcia=3");
endif;
?>
"J"
Medium Professional
Príspevky: 1019 Registrovaný: 13 mar 2007, 17:10
Príspevok
od používateľa "J" » 24 jan 2009, 11:44
Chyba ti session_start() na zaciatku php suboru.
.:M4jco:.
Medium Star
Príspevky: 442 Registrovaný: 01 máj 2007, 13:07
Bydlisko: Bassline lover
Kontaktovať používateľa:
Príspevok
od používateľa .:M4jco:. » 24 jan 2009, 12:33
Akurát som sem chcel napísať že už to mám a viem kde bola chyba, a bolo to naozaj tým...hambím sa za seba.
Ale aj tak ďakujem moc
audiotrack
VIP
Príspevky: 25958 Registrovaný: 09 sep 2005, 18:39
Kontaktovať používateľa:
Príspevok
od používateľa audiotrack » 24 jan 2009, 13:14
[quote=""J""]Chyba ti session_start() na zaciatku php suboru.[/quote]to som chcel napísať aj ja, potom som si uvedomil že on tie súbory evidentne nedal celé, a bola by hlúposť tvrdiť že mu to na začiatku chýba keď neviem ako začiatok vypadá
.:M4jco:.
Medium Star
Príspevky: 442 Registrovaný: 01 máj 2007, 13:07
Bydlisko: Bassline lover
Kontaktovať používateľa:
Príspevok
od používateľa .:M4jco:. » 24 jan 2009, 15:03
Nie, naozaj stačilo dať na začiatok každého kódu ktorý som zaslal session_start() a fungovalo, to