Autor Zpráva
Tomkorp
Profil *
Zdravim, jsem lama a potrebuju pomoct. Ve formulari mam Jmeno a heslo. Kdyz vyplnim udaje a odeslu tak vyskoci hlaska "Špatné Jméno nebo Heslo!
Warning: Unknown: Your script possibly relies on a session side-effect which existed until PHP 4.2.3. Please be advised that the session extension does not consider global variables as a source of data, unless register_globals is enabled. You can disable this functionality and this warning by setting session.bug_compat_42 or session.bug_compat_warn to off, respectively. in Unknown on line 0"

a kdyz dam zpet a znovu je vyplnim tak uz jde vsecho dobre.


login.php

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="cs" >
<head>
<meta http-equiv="content-type" content="text/html; charset=windows-1250" />
<meta name="keywords" content="" />
<meta name="description" content="" />
<meta name="robots" content="index,follow" />
<meta name="author" content="" />

<link rel="stylesheet" type="text/css" href="login_styl.css" />
<link rel="shortcut icon" href="favicon.ico" />
<title>Login
</title>
</head>
<body>
<div id="login_obal">
<img src="img/logo.jpg" alt="logo"/>
<table>
<form action="index.php" method="POST">
<tr>
<td>Jméno: </td><td><input name="jmeno" type="text"/></td>
</tr>
<tr>
<td>Heslo: </td><td><input name="heslo" type="password"/></td>
</tr>
<tr>
<td><input name="Odeslat" type="submit" value="Odeslat"/></td>
</tr>
</form>
</table>
</div>


index.php


<?
session_start();
session_register("jmeno");
session_register("heslo");

$jmeno = $_POST[jmeno];
$heslo = $_POST[heslo];

$nick = "Tomkorp";
$heslo2 = "ssamot";

if ($_SESSION["jmeno"] == $nick and $_SESSION["heslo"] == $heslo2 ){
?>
<?
include_once ('zahrnout/zahlavi.php');
$page=$_GET["page"];
$dir="page/";
$uvod="uvod.php";
if ($page) {
if (file_exists($dir.$page.".php"))
include($dir.$page.".php");
else { include $dir."404.php"; }
}
else {
include ($dir.$uvod);
}
include_once ('zahrnout/pata.php')
?>
<?
}
else {
echo "Špatné Jméno nebo Heslo!";
}
?>

Dik.
Mastodont
Profil
Zkus vyhodit řádky

session_register("jmeno");
session_register("heslo");

a pod tím uprav další dva řádky na

$_SESSION["jmeno"] = $_POST[jmeno];
$_SESSION["heslo"] = $_POST[heslo];


session_register() nefachčí, pokud je vypnuté register_globals.
Tomkorp
Profil *
Mastodont tak jsem to upravil a tu chybu to neukazueje, ale zase mi nejdou odkazy na dalsi stranky napr. index.php?page=uvod, index.php?page=kontakty atd. a hlasi to ze je spate jmeno nebo heslo. Pritom mam v uvodu.php na zacatku <? session_start(); ?>
bukaj
Profil
Tomkorp
když projdeš SESSION pomocí print_r(): print_r($_SESSION);
najdeš tam hodnoty, které by tam měli být?

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: