Autor Zpráva
mackopu
Profil
Mám dva php souubory
1. user_login.php:
<?php
session_start();

include("../connect.php");
include("../config.php");

$login = $_POST['login'];
$pass = $_POST['pass'];
$sql = mysql_query("SELECT * FROM tabulka WHERE aktivni = 1 AND login = '$login' AND pass = '$pass'");
$zaznam = mysql_fetch_array($sql);
$pocet = mysql_num_rows($sql);
if($pocet > 0) {
  session_register("ses_login");
  session_register("ses_user");
  session_register("ses_user_id");
  $_SESSION["ses_login"] = 1;
  $_SESSION["ses_user"] = $zaznam["nazev"];
  $_SESSION["ses_user_id"] = $zaznam["id"];
  Header("Location: index.php?action=vypis");
  exit;
} else {
  $hlaska = "<span class=red>Chybné přihlašovací údaje!</span>"; 
  Header("Location: index.php?action=login_form&hlaska=".URLEncode($hlaska));
  exit;
}
?>
a index.php:
<?php
session_start();

include ("../connect.php");
include ("../config.php");


function Hlavicka()
{
  header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
  header("Cache-Control: no-store, no-cache, must-revalidate");
  header("Cache-Control: post-check=0, pre-check=0", false);
  header("Pragma: no-cache");
  echo "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\">\n";
  echo "<html>\n";
  echo "<head>\n";
  echo "</head>\n";
  echo "<body>\n";
};

function Paticka()
{
  echo "</body>\n";
  echo "</html>\n";
};

function LoginForm()
{
  global $hlaska;
  Hlavicka();
  if(isset($hlaska)) {
    echo "<div class=\"hlaska\">".URLDecode($hlaska)."</div>\n";
  }
  echo "<p><form method=\"POST\" action=\"user_login.php\">\n";
  echo "  <div align=\"center\">\n";
  echo "    <center>\n";
  echo "  <table border=\"0\" cellpadding=\"3\" cellspacing=\"0\" style=\"\">\n";
  echo "    <tr>\n";
  echo "      <td align=\"right\">login:</td>\n";
  echo "      <td><input type=\"text\" name=\"login\" size=\"20\" value=\"zschomutov\"></td>\n";
  echo "    </tr>\n";
  echo "    <tr>\n";
  echo "      <td align=\"right\">password:</td>\n";
  echo "      <td><input type=\"text\" name=\"pass\" size=\"20\" value=\"moncharvi\"></td>\n";
  echo "    </tr>\n";
  echo "    <tr>\n";
  echo "      <td align=\"right\">&nbsp;</td>\n";
  echo "      <td><input type=\"submit\" value=\"Přihlásit\" name=\"go\"></td>\n";
  echo "    </tr>\n";
  echo "  </table>\n";
  echo "    </center>\n";
  echo "  </div>\n";
  echo "</form>\n";
  Paticka();
};

function Vypis()
{
  Hlavicka();
  echo $_SESSION['ses_login']."<br />\n";
  echo $_SESSION['ses_user']."<br />\n";
  echo $_SESSION['ses_user_id']."<br />\n";
  Paticka();
};

switch($action):
  case("login_form"): LoginForm(); break;
  case("vypis"): Vypis(); break;
  default: LoginForm();
endswitch;
?>
Po zalogování ve Firefoxu a Chrome je vše OK, v IE se sessions nevypíší. Co dělám špatně?
Darker
Profil
A nemáš tedy v IE zakázané cookies? Nezapomeň, že prohlížeč má k SESSION jen klíč, takže na něm to moc nezávisí.
mackopu
Profil
Darker:
V tom to asi není. Např. tohle mi na IE běží v pohodě (zdroj).
mackopu
Profil
Nemůže to být tím, že mám soubory na subdoméně?
Darker
Profil
To nevím, ale session vždy platí pro hosta, tedy např:
diskuse.jakpsatweb.cz
www.seznam.cz


A nebude stejná pro
jakpsatweb.cz/diskuse
seznam.cz
mackopu
Profil
Problém vyřešen - po řadě experimentování. To se podržte - IE je citlivý na podtržítko v názvu subdomény!

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

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