Novo

Forum kao aplikacija na telefonu

Dodajte forum na početni ekran i koristite ga kao aplikaciju, sa menijem na dnu ekrana.

  • 9 odgovora
  • 3.107 pregleda

Najnovija ↓

Problem oko prikaza html-a 18.08.2010. u 00:21 · pre 197 meseci #1
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?
Re: Problem oko prikaza html-a 18.08.2010. u 11:38 · pre 197 meseci #3
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?! :(
Re: Problem oko prikaza html-a 18.08.2010. u 11:43 · pre 197 meseci #4
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.
Potpis
http://sr.libreoffice.org — slobodan kancelarijski paket, obrada teksta, tablice,
prezentacije, legalno bez troškova licenciranja
Re: Problem oko prikaza html-a 18.08.2010. u 11:54 · pre 197 meseci #5
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
Re: Problem oko prikaza html-a 18.08.2010. u 16:10 · pre 197 meseci #6
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.
Potpis
Kad sve ostalo zakaže, pročitaj uputstvo...
Re: Problem oko prikaza html-a 18.08.2010. u 16:25 · pre 197 meseci #7
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>
Re: Problem oko prikaza html-a 18.08.2010. u 17:07 · pre 197 meseci #8
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 :)
Re: Problem oko prikaza html-a 18.08.2010. u 17:53 · pre 197 meseci #9
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?
Re: Problem oko prikaza html-a 18.08.2010. u 19:17 · pre 197 meseci #10
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.
Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme