potřeboval bych helpnout. Mám takovej miniweb a učím se na něm php. Mám registraci uživatelů a pak jejich přihlašování. Když se přihlásím do administrace toho webu, tak tam mám podstránku "přidej příspěvek" a mám tam titulek, text článku a ověřování. A když chci, aby se mi do databáze, k příslušně vytvořenému článku přidal automaticky autor, tak si lámu hlavu s tím jak na to. Zkusil jsem to (vidíte v druhém kódu) přes session, ale to mi vypisuje error
Kód: Vybrat vše
Undefined variable: _session in
Script přihlašování
Kód: Vybrat vše
<?php
require_once("funkce.php");
nacti_db();
chat_db();
$now = gmdate('D, d M Y H:i:s') . ' GMT'; // zamezení cachování aplikace
header('Expires: 0'); // rfc2616
header('Last-Modified: ' . $now);
header('Cache-Control: no-store, no-cache, must-revalidate'); // HTTP/1.1
header('Cache-Control: pre-check=0, post-check=0, max-age=0'); // HTTP/1.1
header('Pragma: no-cache'); // HTTP/1.0
header("Content-Type: text/html; charset=utf-8");
$login = mysql_real_escape_string($_POST["nick"]);
$heslo = mysql_real_escape_string($_POST["heslo"]);
$md5heslo = md5($heslo);
$dotaz = mysql_query("select * from users where username = '$login' and pw = '$md5heslo'");
$overeni = mysql_num_rows($dotaz);
$row = mysql_fetch_array($dotaz);
if($overeni == 1) {
session_start();
$_SESSION['login'] = stripslashes($login);
$_SESSION['id'] = $row["id"];
echo("<script language='JavaScript'>
<!--
window.alert('Byl jste úspěšně přihlášen');
window.location.href='admin.php?page=domu&titulek=Administrace';
// -->
</Script>");
die();
session_save_path();
} else {
header("LOCATION: login_error.php");
}
?>
script pro přidávání příspěvků
Kód: Vybrat vše
<?php
require_once("funkce.php");
nacti_db();
chat_db();
$now = gmdate('D, d M Y H:i:s') . ' GMT'; // zamezení cachování aplikace
header('Expires: 0'); // rfc2616
header('Last-Modified: ' . $now);
header('Cache-Control: no-store, no-cache, must-revalidate'); // HTTP/1.1
header('Cache-Control: pre-check=0, post-check=0, max-age=0'); // HTTP/1.1
header('Pragma: no-cache'); // HTTP/1.0
header("Content-Type: text/html; charset=utf-8");
$login = mysql_real_escape_string($_POST["nick"]);
$heslo = mysql_real_escape_string($_POST["heslo"]);
$md5heslo = md5($heslo);
$dotaz = mysql_query("select * from users where username = '$login' and pw = '$md5heslo'");
$overeni = mysql_num_rows($dotaz);
$row = mysql_fetch_array($dotaz);
if($overeni == 1) {
session_start();
$_SESSION['login'] = stripslashes($login);
$_SESSION['id'] = $row["id"];
echo("<script language='JavaScript'>
<!--
window.alert('Byl jste úspěšně přihlášen');
window.location.href='admin.php?page=domu&titulek=Administrace';
// -->
</Script>");
die();
session_save_path();
} else {
header("LOCATION: login_error.php");
}
?>
--- Doplnění předchozího příspěvku (07 Bře 2014 21:25) ---
Vyřešil jsem to. musel jsem dát session_start(); na začátek scriptu pro přidávání příspěvků