No dobrze , może i nie do kończ zrozumiałem manual.
Chodzi mi o to jak w innym pliku php odczytać tane sesji.
Tak wygląda mój plik dodaj.php
<?php
require_once('inc/lib_pdb.php');
if ($_SESSION["zalogowany"]=="tak") {
require_once('head.php');
echo "<div id=\"strona\"> <div id=\"naglowek\">
".getDateInfo()."
</div>
<div id=\"lewakolumna\">";
require_once('menu.php');
<div id=\"prawakolumna\">
";
echo '<p class="inforamka">Informacja: <span class="info"> Tu dodajesz swój prezent</span></p><br />'; $opcja = trim($_REQUEST["opcja"]); if ($opcja==""){
echo "<form name=\"formularz\" method=\"post\" >"; echo "<table class=\"dpdane\" cellspacing=\"0\" cellpadding=\"0\"> <tr>
<td class=\"dpopis\" >Skrócona opis<p>(max 60 znaków)</p></td>
<td class=\"dpdane\" ><input class=\"pole\" name=\"fopis\" maxlength=\"60\" size=\"67\" type=\"text\" /></td></tr>
<td class=\"dpopis\" >Okazja</td>
<td class=\"dpdane\" ><select name=\"typ_prezentu\">
<option>urodziny </option>
<option class=\"option\">imieniny</option>
<option>chrzciny</option>
<option class=\"option\">komunia</option>
<option>bierzmowanie</option>
<option class=\"option\">ślub</option>
</select></td></tr>
<td class=\"dpopis\" >Koszt zakupu</td>
<td class=\"dpdane\" ><input class=\"pole\" name=\"fkoszt\" maxlength=\"10\" size=\"12\"onkeypress=\"return onlydec(event,'');\" type=\"text\" /> zł</td></tr>
<td class=\"dpopis\" >Dokładny opis prezentu</p></td>
<td class=\"dpdane\" ><textarea cols=\"50\" rows=\"10\" name=\"fdokladnyopis\" ></textarea></td></tr>
<td class=\"dpopis\" >Link do strony</p></td>
<td class=\"dpdane\" ><input class=\"pole\" name=\"flink\" size=\"67\" type=\"text\" /></td></tr>
<td class=\"dpopis\" >Dodaj zdjęcie (150x150) format ( jpg, png )</td>
<td class=\"dpdane\" ><input class=\"pole\" name=\"fplik\" type=\"file\" size=\"35\" /></td></tr>
<td class=\"menubuttons\" colspan=\"2\" ><input class=\"add\" type=\"submit\" value=\"Dodaj prezent\" /></td>
<input type=\"hidden\" name=\"opcja\" value=\"dodajprezent\" />
</table></form>";
}
$opcja = trim($_POST["opcja"]); if ($opcja=="dodajprezent"){
$opis=$_POST["fopis"];
$okazja=$_POST["typ_prezentu"];
$koszt=$_POST["fkoszt"];
$dokladnyopis=$_POST["fdokladnyopis"];
$link=$_POST["flink"];
$plik=$_POST["fplik"];
$uzytkownik=$_SESSION["id_uzytkownika"];
$DT=$dzisiaj = date("Y-m-d"); echo $dokladnyopis."<br />"; echo $uzytkownik."<br />"; polacz_db();
$szukaj=mysql_query("SELECT * FROM $M_TABELA2 WHERE `id_uzytkownika`='$uzytkownik'"); $USE=$dane["imie"]." ".$dane["nazwisko"];
$wynik = "INSERT INTO $M_TABELA (id_prezentu, id_uzytkownika, id_rezerwujacego, skr_prezentu, koszt, szczegoly, link, mini_fotka, rezerwacja, realizacja, typ_prezentu, dt_dodania, dt_realizacji) ".
"VALUES (NULL, '$USE', '', '$opis', '$koszt', '$dokladnyopis', '$link', '$plik' , '0', '0', '$okazja', '$DT', '')";
echo 'Rekord dodany do bazy'; }
require_once('stopka.php');
}
else {
}
?>
Problem jest w tym, że za pierwszym razem dodaje mi poprawnie rekord kolejne dodania już nie bo nie widzi danych z sesji. O to mi chodzi
Cześć pomóżcie bo już nie mam pojęcia co robię źle
Mam w pliku head.php takie ustawienia
<?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" lang="en" xml:lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>Prezentownik</title>
<style type="text/css" media="all">@import url(style/style.css);</style>
<script type="text/javascript" src="js/my_js.js"></script>
</head>
<body>
Plik we wszystkich innych plikach jest zawsze ładowany jako pierwszy.
W pliku index.php po sprawdzeniu logowania jest robiona sesja z danymi
<?php
$wynik=mysql_query("SELECT * FROM $M_TABELA2 WHERE `uzytkownik`='$uzytkownik' and `haslo`='$haslo' and `blokada`=0"); //echo $wynik;
$_SESSION["zalogowany"]="tak";
$_SESSION["iduz"]=$dane["id_uzytkownika"];
$_SESSION["login"]=$dane["uzytkownik"];
$_SESSION["blokada"]=$dane["blokada"];
$_SESSION["uprawnienia"]=$dane["uprawnienia"];
$_SESSION["imie"]=$dane["imie"];
$_SESSION["nazwisko"]=$dane["nazwisko"];
$_SESSION["dt_logowania"]=$dane["dt_logowania"];
$wynik=mysql_query("UPDATE $M_TABELA2 SET `dt_logowania`=NOW() WHERE `uzytkownik`='$uzytkownik' and `blokada`=0"); //mysql_query($zapytanie, polacz_db()) or die (mysql_error());
header("Location: indexl.php"); }
?>
Po zalogowaniu się plik sesji wygląda pięknie
zalogowany|s:3:"tak";iduz|s:1:"1";login|s:6:"predel";blokada|s:1:"0";uprawnienia|s:1:"A";imie|s:5:"Piotr";nazwisko|s:5:"Redel";dt_logowania|s:19:"2009-08-06 13:50:25";
Jeśli wybiorę inny plik php natychmiast sesja kasuje niektóre dane
Po przejściu na inny plik
zalogowany|s:3:"tak";iduz|s:1:"1";login|s:6:"predel";blokada|s:1:"0";uprawnienia|s:1:"A";imie|N;nazwisko|N;dt_logowania|s:19:"2009-08-06 13:50:25";
Dlaczego tak się dzieje i dokładnie te dwa pola znikają ?
Proszę proszę pomocy