[PHP][MySQL]logowanie na sesjach nie dziala pomocy


(toboneq) #1

Witam stworzyłem bardzo prosty system logowania w php na bazie mysql i chodzi mi o to ze nie wiem czemu(może to wina hostingu) ale to nie działa. Problem jest taki że owszem wszystko ładnie się sprawdza z bazą ale bo zabezpieczeniu strony sesja można na nią wejść a tym sposobem od bardzo dawna w prosty sposób zabezpieczam żeby nie można było wejść na daną podstronę.

logowanie

<?php

session_start();


	if ( isset($_POST['nick']) && isset($_POST['password'])) {


	require_once('config.php');



		$nick = $_POST['nick'];

		$password = $_POST['password'];

		$pass = md5($password);


			if (! empty($nick) && ! empty($password)) {


				$q = sprintf("SELECT `id` FROM `Account` WHERE `nick`='".mysql_real_escape_string($nick)."' AND `password`='".mysql_real_escape_string($pass)."'");


					if ($ww = mysql_query($q)) {


						$wwq = mysql_num_rows($ww);


							if ($wwq == 0) {


								mysql_close();


								header("Location: http://strona/wrong.pass.php");

							} else if($wwq == 1) {


								$uzytk = mysql_result($ww, 0 ,'id');


								$_SESSION['logged'] = true;

								mysql_close();

								header("location: http://strona/panel.htm");

							}

					}

			} else {

						$_SESSION['logged'] = false;

						header("Location: http://strona/wrong.pass.php");

			}

	}


?>

a to plik sesji ktorym zabezpieczam wejśćie

<?php

session_start();


if ($_SESSION['logged'] == false){

	header('Location: http:/strona.eu');

	{ else if($_SESSION['logged'] == true)

	echo 'Zostałeś zalogowany ';

	}

?>

Spójrzcie może dostrzeżecie błąd :slight_smile:


(Grzelix) #2
  1. Pisz krótsze zdania, i radzę w języku zrozumiałym również przez innych.

  2. Nie wiem jak testowałeś ten system ale nie widzę opcji wylogowania, która wyczyściła by zmienną $_SESSION[‘logged’]. Możliwe że raz się zalogowałeś i potem ta zmienna była już cały czas poprawnie zainicjowana.

  3. Kod z pliku sesji bym nieco poprawił dla lepszej przejrzystości - odporności na brak tej zmiennej:

    ?php();


(toboneq) #3

nie dałem tego pliku poprostu :slight_smile:

poprawiłem dla lepszej przejrzystości ale nadal nie działa :frowning: