« 1 2
Autor Zpráva
Radek Cvek
Profil
Tak už jenom stačí změnit název té proměnné - místo $_SESSION["user"]=$radek['uzivatelskejmeno']; dát $_SESSION["loggeduser"]=$radek['uzivatelskejmeno'];
a místo:
 if (!isset($_SESSION["user"])) header("Location: prihlaseni.php");
  echo 'Přihlášený uživatel: '.$_SESSION["user"];

dát:
 if (!isset($_SESSION["loggeduser"])) header("Location: prihlaseni.php");
  echo 'Přihlášený uživatel: '.$_SESSION["loggeduser"];
Pavel Vodnář
Profil *
Radek Cvek:

Když to opravím takto tak me skript nepresmeruje - vrací mě sem: header("Location: prihlaseni.php");

Když zadám špatné heslo pak pracuje správně. Už si nevím rady, co může být ve skriptu špatně?

Kód přihlášení vypadá takto:

<?php
 
session_start();
session_register("loggeduser"); 


$submit = $_POST['submit'];
$name = $_POST['name'];
$password = $_POST['password'];

// údaje pro připojení k DB
$localhost = "mysq-----------";



$user ="server------";
$pass = "heslo-----";


// kontrola údajů
if ($submit)
{



$connect = mysql_connect ("$localhost","$user","$pass") or die("Nepodařilo se připojit k databázi");

mysql_select_db ("databaze-----"); //select database

$vysledekSql = mysql_query("SELECT uzivatelskejmeno, heslo FROM klienti WHERE uzivatelskejmeno = '".$name."' AND heslo = '".$password."';");

if ($radek = mysql_fetch_row($vysledekSql)) 
{
$_SESSION["loggeduser"]=$radek['uzivatelskejmeno'];
 
//$uzivatelDb = mysql_fetch_assoc($vysledekSql); 										//23
//if ($name == $uzivatelDb['uzivatelskejmeno'] && $password == $uzivatelDb['heslo'] && ($name!="") &&($password!="") )
  header("Location: http://webovka----.net/uzivatel-prihlasen.php");
}
else
  $error = ("Špatné uživatelské jméno nebo heslo");

}
?>


a kód na přihlášeného takto:

<?php
  session_start();

  if (!isset($_SESSION["loggeduser"])) header("Location: prihlaseni.php");
  echo 'Přihlášený uživatel: '.$_SESSION["loggeduser"];
  echo '<a href="logout.php">Odhlásit</a>'
?>


Nemůže tam být chyba v něčem jiném?
Tori
Profil
Opravte si ten řádek 32 nebo 34 v prihlaseni.php - teď se vám do session místo přihlašovacího jména uloží NULL, což pak způsobí přesměrování z toho druhého skriptu nazpět. Vysvětlení jsem psala dřív. Pomohlo, anebo se objevila jiná chyba?
Pavel Vodnář
Profil *
Tori:
Máte pravdu,
if ($radek = mysql_fetch_assoc($vysledekSql)) $_SESSION["user"]=$radek["uzivatelskejmeno"];


Zabralo to, výborně - gratuluji a hlavně děkuji všem co mi pomohli s tímto kódem - jsem opravdu vděčný za tento portál.

Pavel Vodnář
« 1 2

Vaše odpověď

Mohlo by se hodit

Odkud se sem odkazuje


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0