Problem z sesjami i nadpisywaniem rekordów

0

Witam mam pewien problem z którym nie umiem sobie poradzić
1.Mam rejestracje na stronie i użytkownik który tylko wywoła skrypt poprzez http:///cos tam.pl/xxx/to jest to.php
automatycznie dodaje pusty rekord i tak jest za kazdym razem .Mam nadzieje ze znacie rozwiązanie jak to zabezpieczyć
2.Co robie zle ze sesje mi nie działają ?
o to kawałek kodu z którym na problem

<?php
$zapytanie="SELECT * FROM `user` WHERE `login`='".$this->login."' AND `haslo`='".$this->haslo."'";
	 $query=mysql_query($zapytanie)or die (QUERY_ERROR);
	 $num_rows=mysql_num_rows($query);
	 $ob=mysql_fetch_object($query);
	 if($this->haslo!=$ob->haslo){
	echo "Hasło jest błędne";
	 }
	 if ($num_rows >0)
	 {
		 $this->zalogowany();
	 }
		 
		 else {
			 echo "logowanie nie udało się ";
		 }
?>
<?php
function zalogowany()
	 {
		 //czy tutaj dać isset i sprawdzanie sesji ?
		 $_SESSION['login'] = 'true';
		   echo "Ok";
		 }
?>

Dodam ze session_start(); jest na samym początku

<?php
ob_start();
session_start();
header("Content-type: text/html; charset=utf-8");
// reszta skryptu
?>

Z góry dziękuje za pomoc

Dodam ze normalnie jak wywołam skrypt w którym ma byc sesja to bez logowania pokazuje mi sie to co powinno po zalogowaniu
Normalnie to bym zrobił to tak

<?php

session_start();

if( $_POST['login'] == 'x' && $_POST['pass'] == 'x')
  $_SESSION['login'] = 'True'; //zapisujemy do zmiennej sesyjnej, że "login" = True. ;]
  echo "Ok";
  echo '<a href="index.php">Przejdź do index.php</a>';
} 

?>
<?php

session_start();

if( $_SESSION['login'] == 'True' ) //sprawdzamy czy jesteś zalogowany
{
  echo 'Ok - zalogowany';
}
else
{
  echo 'Niezalogowany ';
}

?>

Ale przy tym skrypcie co pisze teraz to jakoś nie mogę tego wykombinować

0

Zamiast

if( $_SESSION['login'] == 'True' ) 

Wystarczy że zrobisz if( $_SESSION['login'])

 Ale to tak na magrinesie  :-P

1 użytkowników online, w tym zalogowanych: 0, gości: 1