Stránka 1 z 1

PHP automatický autor článků Undefined variable: _session in  Vyřešeno

Napsal: 07 bře 2014 20:50
od smoukicek
Zdravím,

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
. Tento error to vyhazuje v tom druhém kódu na řádku 9. Nevíte někdo jak na to? Předem děkuji za rady.
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ů