Autor Zpráva
La_ToRaNTe
Profil
Nazdárek. Chtěl jsem udělat přihlašování pro admina, dopadlo to nějak takhle :
/////////////////////////////////////////////////////////////
<html>
<body>
<form name="login" method="post" action="<? echo $SERVER['PHP_SELF']; ?>">
<input type="hidden" name="action" value="send">
<label for="user_name">Jmeno:</label>
<input id="user_name" type="text" name="user_name"><br>
<label for="password">Heslo:</label>
<input id="password" type="password" name="password"><br>
<input type="submit" value="Přihlásit">
<?
ob_start ();
session_start();

$user_name = $_POST['user_name'];
$password = $_POST['password'];

$connection = mysql_connect(DB_HOST, DB_USERENAME, DB_PASSWORD) or die(mysql_error());
mysql_select_db(DB_NAME, $connection) or die(mysql_error());

$query = "SELECT * FROM uzivatele WHERE name='$user_name' AND pass='$password' AND rights >= '1'";
$result = mysql_query($query) or die('error making query');
$affected_rows = mysql_num_rows($result);

if($affected_rows == 1) {

$_SESSION['user_name'] = $user_name;

?>
<div id="all">
<div id="stred">
<div id="Menu">
<div class="menunadpis">MENU</div>

<a class="xbutton" href="<? echo $_SERVER["PHP_SELF"]; ?>">Úvod</a>
<a class="xbutton" href="<? echo $_SERVER["PHP_SELF"]; ?>?x=book&PHPID=<? echo session_id (); ?>">G-Book</a>
<a class="xbutton" href="<? echo $_SERVER["PHP_SELF"]; ?>?x=new">Novinky</a>
<a class="xbutton" href="<? echo $_SERVER["PHP_SELF"]; ?>?x=xpeople">X-people</a>
<a class="xbutton" href="<? echo $_SERVER["PHP_SELF"]; ?>?x=odkazy">Odkazy</a>
</p>
</div>
TADY SE ZOBRAZUJI SEKCE
</div>
</div>
</body>
</html>
<?
}else {

print 'Na tuto sekci nemáte přístup!';
}

} else {

echo "Zadejte přihlašovací údaje.";
}
ob_end_flush ();
?>
/////////////////////////////////////////////////////////////
Jenže, když se člověk přihlásí a klikne na odkaz tak ho to jakoby odhlásí a je zas na formuláři s přihlašováním a já nevim, jak to udělat..aby byl pořád přihlášený :-(
Se "SESSIONS" jsem nikdy nedělal. Ale chci se to na tomhle naučit.. čet jsem asi dva seriály, ale z těch jsem to nějak nepobral.
Martin
Profil
session_start(); Musí být úplně na začátku, před jakýmkoli výstupem, myslim, zkusto.
La_ToRaNTe
Profil
Tyjo, nevyzná se tu někdo v SESSIONS ?? Prosíím...
Jinak, tamto pořád nejde.. :-(
ash
Profil
Na začiatku strávky, ešte pred výpisom formulára na prihlasovanie testuj, či je prihlásený:

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

neexistuje záznam v session, vypíšem prihlasovací formulár

}else{

užívateľ je prihlásený, zobrazujem stránku

}

Nezabudni presunúť session_start() celkom na začiatok
23k
Profil
NE!

ob_start();
session_start();

nech tak jak mas. A ob_end_flush presun pod TADY SE ZOBRAZUJI SEKCE . Cili takto

TADY SE ZOBRAZUJI SEKCE
ob_end_flush();
ash
Profil
ob_start();
session_start();


o.k., v takom poradí, ale pred HTML výstupom.
Ale myslím, že v takom nenáročnom skripte je zbytočné používať ob_....
23k
Profil
No kdo si na to jednou navykne ;)
La_ToRaNTe
Profil
Už to funguje. Všem děkuji. Akorát pak takhle nemůžu zružit to přihlášení..

if ($_GET['action']=="logout"){
session_destroy("user_is_logged");
header("location: ../index.php");
ob_end_flush ();
}

.....
La_ToRaNTe
Profil
Už sem to opravil. Všechno šlape jak má.
Díky lidíčky !
Anonymní
Profil *
La_ToRaNTe
inak da sa to jednoducho, ja som to minule riesil.neodkazuj sameho na seba, keby si dal skript s vyhodnotenim formulara zvlast tak ti to robit nebude a session musi byt vzdy na zaciatku.
Toto téma je uzamčeno. Odpověď nelze zaslat.

0