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 :wstydnis:
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ć