Chyba pri prihlasovaní PHP

Programovacie jazyky, rady, poradňa...
.:M4jco:.
Medium Star
Medium Star
Používateľov profilový obrázok
Príspevky: 442
Registrovaný: 01 máj 2007, 13:07
Bydlisko: Bassline lover
Kontaktovať používateľa:

Chyba pri prihlasovaní PHP

Príspevok od používateľa .:M4jco:. »

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
Medium Expert
Používateľov profilový obrázok
Príspevky: 117
Registrovaný: 08 jan 2007, 19:59
Bydlisko: Cadca
Kontaktovať používateľa:

Príspevok od používateľa agy »

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
Medium Professional
Používateľov profilový obrázok
Príspevky: 1019
Registrovaný: 13 mar 2007, 17:10

Príspevok od používateľa "J" »

Chyba ti session_start() na zaciatku php suboru.
.:M4jco:.
Medium Star
Medium Star
Používateľov profilový obrázok
Príspevky: 442
Registrovaný: 01 máj 2007, 13:07
Bydlisko: Bassline lover
Kontaktovať používateľa:

Príspevok od používateľa .:M4jco:. »

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. :oops: Ale aj tak ďakujem moc :wink:
audiotrack
VIP
VIP
Používateľov profilový obrázok
Príspevky: 25958
Registrovaný: 09 sep 2005, 18:39
Kontaktovať používateľa:

Príspevok od používateľa audiotrack »

[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
Medium Star
Používateľov profilový obrázok
Príspevky: 442
Registrovaný: 01 máj 2007, 13:07
Bydlisko: Bassline lover
Kontaktovať používateľa:

Príspevok od používateľa .:M4jco:. »

Nie, naozaj stačilo dať na začiatok každého kódu ktorý som zaslal session_start() a fungovalo, to :wink:
Napísať odpoveď