[ Valerij Zajcev @ 17.08.2010. 23:21 ] @
login.php
Code:

...
        $_SESSION['sesValidUser'] = $user;        
    header('location:index.php'); // bi trebalo da me vrati nazan na index.php ako je uspesan login
...

index.php
Code:

<table border="1">
    <tr>
<?php
session_start ();

require_once 'vo/User.php';

if (! isset ( $_SESSION ['sesValidUser'] )) {

} else {    
    $u = $_SESSION ['sesValidUser'];
}
?>
    <td width="500"></td>
        <td width="200">Username: <input type="text" name="username" />
        Password: <input type="password" name="password" /> <input
            type="submit" value="Sign in" /></td>
            <?php
            if (! isset ( $_SESSION ['sesValidUser'] )) {
                echo "<h1>" . $u->getFavouriteQuote () . "</h1>";
            }
            ?>
    </tr>

</table>

Ovaj deo echo "<h1>" . $u->getFavouriteQuote () . "</h1>"; se ne prikazuje iako su podaci tu. Ne znam da nisam nesto pogresno uradio kada sam redirektovao stranu nazad na index.php iz login.php?
[ Jbyn4e @ 18.08.2010. 06:27 ] @
http://www.php.net/session_start
Procitaj prvi NOTE. Sve ce ti biti jasno.
[ Valerij Zajcev @ 18.08.2010. 10:38 ] @
Citat:

http://www.php.net/session_start
Procitaj prvi NOTE. Sve ce ti biti jasno.

Nope, nije to u pitanju :(
Code:

<?php
session_start ();
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
<form action="login.php" method="post">
<table border="1">
    <tr>
        <td width="500"></td>
        <td width="200">Username: <input type="text" name="username" />
        Password: <input type="password" name="password" /> <input
            type="submit" value="Sign in" /></td>
            <?php
            require_once 'vo/User.php';
            
            if (! isset ( $_SESSION ['sesValidUser'] )) {
                $u = $_SESSION ['sesValidUser'];                
                echo "<h1>" . $u->getFavouriteQuote () . "</h1>";
            }
            ?>
    </tr>
</table>
</form>
</body>
</html>


I prvi put kada otvorim index stranu dobijem error:
Citat:

Notice: Undefined index: sesValidUser in C:\wamp\www\DemoLibrary\view\header\header.php on line 22

Fatal error: Call to a member function getFavouriteQuote() on a non-object in C:\wamp\www\DemoLibrary\view\header\header.php on line 23

Na toj liniji dodajem User-a iz SESSION-a. Sto bi znacilo da objekat uopste nije prenesen sesijom?! :(
[ Goran Rakić @ 18.08.2010. 10:43 ] @
A kada ti hoćeš da se prikaže ovaj <h1>?

Tvoja linija glasi, ako nije postavljen $_SESSION['sesValidUser'], pozovi getFavouriteQuote metod nad njim. To nema nikakvog smisla.
[ Valerij Zajcev @ 18.08.2010. 10:54 ] @
Citat:

A kada ti hoćeš da se prikaže ovaj <h1>?
Tvoja linija glasi, ako nije postavljen $_SESSION['sesValidUser'], pozovi getFavouriteQuote metod nad njim. To nema nikakvog smisla.

Dodavao sam svasta slucajno sam ostavio "!" ali problem je isti, znaci opet kao da $user uopste nije poslat, cim ovu poruku ispisuje.

Citat:

Fatal error: main() [<a href='function.main'>function.main</a>]: The script tried to execute a method or access a property of an incomplete object. Please ensure that the class definition &quot;User&quot; of the object you are trying to operate on was loaded _before_ unserialize() gets called or provide a __autoload() function to load the class definition in C:\wamp\www\DemoLibrary\view\header\header.php on line 23
[ Jbyn4e @ 18.08.2010. 15:10 ] @
Daj nam "C:\wamp\www\DemoLibrary\view\header\header.php" posto u njemu pravi problem. To si mogao i sam da vidis a ne da nam dajes index i login strane.
[ Valerij Zajcev @ 18.08.2010. 15:25 ] @
To sam i ostavio gore. Ovo su sva 3 fajla sa kojima radim:

index.php
Code:

<?php
    require_once 'view/header/header.php';
?>

login.php
Code:

<?php

    $uName = $_POST['username'];
    $pass = $_POST['password'];
    
    if($uName == 'vlada' && $pass == '123')
    {
        session_start();
        
        require_once 'vo/User.php';
        
        $user = new User();
        
        $user->setUserId(15);
        $user->setFirstName('Vladimir');
        $user->setLastName('Vucetic');
        $user->setUsername($uName);
        $user->setPassword($pass);
        $user->setFavouriteQuote('Just do it!');
        
        $_SESSION['sesValidUser'] = $user;
        
        $u = $_SESSION['sesValidUser'];
        
        header('location:page.php');
    }
    else
    {
        echo 'failed login';
    }

?>

view/header/header.php
Code:

<?php
session_start ();
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
<form action="login.php" method="post">
<table border="1">
    <tr>
        <td width="500"></td>
        <td width="200">Username: <input type="text" name="username" />
        Password: <input type="password" name="password" /> <input
            type="submit" value="Sign in" /></td>
            <?php
            require_once 'vo/User.php';
            
            if ( isset ( $_SESSION ['sesValidUser'] )) {
                $u = $_SESSION ['sesValidUser'];                
                echo "<h1>" . $u->getFavouriteQuote () . "</h1>";
            }
            else
            {
                echo "<h1>" . "still no solution to this problem!" . "</h1>";                
            }
            ?>
    </tr>
</table>
</form>
</body>
</html>
[ Tudfa @ 18.08.2010. 16:07 ] @
Pokusavas da ucitas iz sesije objekat pre nego sto si naveo definiciju klase User.

Stavi require_once 'vo/User.php'; pre session_start i proradice ti.

Btw, mnogo si ga spetljao sta ce ti objekat u sesiji, moze i array ili samo uid
[ Valerij Zajcev @ 18.08.2010. 16:53 ] @
Radi :)
Citat:

Btw, mnogo si ga spetljao sta ce ti objekat u sesiji, moze i array ili samo uid

Pa zbog OOP-a, mislim valjda je lakse da prenosim objekat nego delove nekog niza. Ili ne?
[ Tudfa @ 18.08.2010. 18:17 ] @
Nisam ti napisao ideju sa uid i nizom do kraja, sry, zato nisi shvatio sta sam rekao.

Ja obicno nakon uspesnog logina, setujem u sesiju samo userid (uid). Meni je to lakse
Niz mozes da koristis kad nakon logina, hoces da sacuvas u sesiji jos podataka osim uid.
Posle toga ako koristim neku svoju klasu User na osnovu tog uid kreiram objekat za datog korisnika.

Sve mozes da uradis pomocu ovog uid, ali opet to je stvar ukusa i potreba aplikacije.