Dobrý den,
mám stránku, na které mám přihlašovací systém, ale ten nefunguje tak, jak bych chtěl. Přihlásí uživatele, ale správný obsah se zobrazí pouze po obnovoneví stránky ( chová se, jak by neměla relace žádný obsah ), v opačném případě se objeví přihlašovací pole a je potřeba se přihlásit znova, nevíte, co s tím? Toto je kód:
____________________________________________________
Kontrola údajů. Pokud zadám heslo špatně, objeví se stránka icpass.php. Pokud správně, objeví se také, ale po obnovení to funguje normálně...
<?php
include "connect.php";
session_start();
if ( ( isset( $_SESSION['username']) &&
$_SESSION['username'] != "" ) or
( isset( $_SESSION['password']) &&
$_SESSION['password'] != "" ) ) { echo $_SESSION['username'];
} else { include "icpass.php"; }
?>
Přihlašovací stránka.
<?php
session_start();
include "connect.php";
error_reporting ( E_ERROR );
if ( isset( $_POST['submit'] ) ) {
$query = "SELECT username, password FROM Profiles WHERE password = '".$_POST['password']."' AND username = '".$_POST['username']."'; ";
$result = mysql_query( $query );
if ( mysql_num_rows( $result ) == 1 )
$_SESSION['username'] = $_POST['username'];
$_SESSION['password'] = $_POST['password'];
}
?>
<html>
<form action="session.php" method="post">
Name: <input type="text" name="username"><br>
Password: <input type="password" name="password"><br>
<input type="submit" name="submit" value="submit">
</form>
</html>
icpass.php - je úplně stejná jako login.php, přesměruji tam uživatele z session.php, pokud zadá nesprávné heslo.
<?php
session_start();
include "connect.php";
if ( isset( $_POST['submit'] ) ) {
$query = "SELECT username, password FROM Profiles WHERE password = '".$_POST['password']."' AND username = '".$_POST['username']."'; ";
$result = mysql_query( $query );
if ( mysql_num_rows( $result ) == 1 )
$_SESSION['username'] = $_POST['username'];
$_SESSION['password'] = $_POST['password'];
}
?>
<html>
<form action="session.php" method="post">
Name: <input type="text" name="username"><br>
Password: <input type="password" name="password"><br>
<input type="submit" name="submit" value="submit">
</form>
</html>
_____________________________________________
Pokud jsem to napsal nesrozumitelně, vyzkoušejte to prosím zde: www.amaga.czweb.org
Registrace: www.amaga.czweb.org/register.php
Přihlášení: www.amaga.czweb.org/login.php
Po přihlášení na login.php vás to přesměruje na session.php, tam uvidíte opět přihlašovací pole. Pokud jste zadali správně heslo, obnovte stránku a měli byste vidět svoje přihlašovací jméno. Je to normální a je vždy třeba pro aktivaci relace obnovit stránku?
Předem děkuji za odpověd'.