Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php] sesje ciag dalszy
Forum PHP.pl > Forum > Przedszkole
kosmic
a wiec ciagle walcze z tym pojeciem i nie ma efektu w moim projekcie....

mianowicie chodzi o to ze oparłem swoj skrypt logowania i nadawania id sesji na bazie innego...
no i co mnie dziwi to to ze jak sie zaloguje u siebie to ciagle moge chodzic miedzy stronami, nawet jak po 15 minutach nic nie robie

natomiast w skrypcie na którym bazuje jesli sie zaloguje to pokilku minutach bezczynnosci po prostu nie mam dostepu i musze sie logowac jeszcze raz...

no i nie wiem dlaczego tak jest sad.gif
moze zerknijcie i moze cos wymyslicie aby u mnie tez tak bylo sad.gif

to moj skrypt logowania:
CODE
<?php
ob_start();
session_start();
include_once('my_db_connect.php');

if (isset($_POST['login']) && isset($_POST['haslo'])) {
if (empty($_POST['login']) && empty($_POST['haslo'])) {
$message .= '<font class="blad">Musisz podac login i haslo</font><br/>';
} else {
$login = $_POST['login'];
$pass = md5($_POST['haslo']);
$query = "SELECT haslo,login FROM user WHERE haslo='$pass' AND login='$login'";
$result = @mysql_query($query);
$row = mysql_num_rows($result);
if ($row > 0) {
$_SESSION["haslo"] = $pass;
$sid = session_id();
header("Location: admin1.php?PHPSESSID=$sid");
exit();
} else {
$message .= '<font color="red">Podales zle dane...!</font><br/>';
}
unset($_POST['haslo']);
}
}
?>
<html>
<head>
<meta http-equiv="Content-type" content="text/html; charset=iso-8859-2" />
<title>. : : LOGOWANIE : : .</title>
</head>
<body>

<form method="post" action="<? echo $PHP_SELF; ?>" enctype="multipart/form-data">
<TABLE ALIGN="CENTER" BORDER="0">
<tr>
<td colspan="2"><b>Logowanie użytkownika:</b></td>
<tr>
<td colspan="2">&nbsp;</td></tr>
<TR>
<TD ALIGN="RIGHT" >Login:</td>
<td><input type="text" name="login" size="30"></td>
</tr>
<tr>
<td align="right" >Haslo:</td>
<td><input type="password" name="haslo" size="30"></td>
</tr>
<tr>
<td align="right" class="Uni_01">&nbsp;</td>
<td><p align="center"><input style="font-weight: bold;" type="submit" name="logowanie" value="loguj"></td>
</tr>
</table>
</form>
</body>
</html>
<div align="center">
<?php
if(isset($message)) {
echo $message;
}
?>
<?
ob_end_flush();
?>
</div>


a to skrypt logowania na któryu bazuje
CODE
<?
ob_start();//do panelu administracyjnego
session_start();
$s_id = session_id();
setcookie("odwiedziny","zaliczone",time()+3600);//do licznika odwiedzin

//poł±czenie z baz± danych
include("conf.php");
@$con=mysql_connect ("$adres_serwera_mysql","$nazwa_uzytkownika_mysql","$haslo_do_bazy");
mysql_select_db("$nazwa_bazy_danych");
if (mysql_error()) {include("komunikaty/mysql_bl.php");exit;}
//koniec poł±czenia z baz± danych

require("prefix.php");//dodaje listę prefiksów dla tabel

include("include/ustawienia_conf.php");//pobieranie ustawień ... conf ... z bazy danych
if($run_gzip === "T") {
require("include/gzip.php");//dodaje kompresję gzip
}

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<HTML>
<HEAD>
<LINK REL="Stylesheet" HREF="motywy/<?echo $motyw;?>/style/style.css" TYPE="text/css">
<TITLE></TITLE>
</HEAD>

<body>

<table class="tabela_centralna"><tr><td>

<!-- Tre¶ć strony -->

<!-- główna ramka tre¶ci strony -->

<TABLE BORDER="0" WIDTH="<?echo $szerokosc_ramki_glownej;?>" CELLPADDING="0" CELLSPACING="0"><tr>


<!-- lewy blok -->
<td width="<?echo $mod_lew;?>" valign="top" align=left>
<?include("mods/lewy_blok.php");?>
</td>
<!-- koniec lewego bloku -->


<!-- ¶rodkowy blok -->
<td WIDTH="<?echo $mod_srod;?>" valign="top" align="center">
<? include("mods/center_blok.php");?>
</td>
<!-- koniec ¶rodkowego bloku -->

<!-- prawy blok -->

<?include("mods/prawy_blok.php");?>

<!-- koniec prawego bloku -->

</tr></table>

<!-- koniec głównej ramki tre¶ći strony -->


<!-- koniec tre¶ci strony -->

<!-- stopka -->

<TABLE BORDER="0" WIDTH="1" height="<?echo $odleglosc_stopki_od_ramki;?>"CELLPADDING="0" CELLSPACING="0"><tr><td></td></tr></table>

<? require("include/menu_dol.php"); ?><!-- menu podstron -->
<? require("inc_roz/stopka.php"); ?>

<!-- koniec stopki -->


</td></tr></table>
</body></html>

<? if ($run_gzip === "T") {ob_end_flush();} ?>

no i w miejsce <lewy bok> jest to ładowane:
CODE
<?if ($pokaz_admin === "T") {?>


<TABLE class="szer_lew_gl" BORDER="0" WIDTH="230" CELLPADDING="0" CELLSPACING="0">
<tr>
<td class="rog_g_lew" width="5"></td>
<td class="pasek"><? echo $mod_2;?></td>
<td class="rog_g_pra" width="5"></td>
</tr>
</table>
<TABLE class="szer_lew_gl" BORDER="0" WIDTH="230" CELLPADDING="0" CELLSPACING="0">
<tr>
<td class="ramka_l" width="1"></td>
<td class="ram_d_gl">
<?
//weryfikacja hasła

if (isset($_POST['pass'])){
$pass = md5($_POST['pass']);
$sprawdzanie_hasla = mysql_query ("SELECT haslo FROM $hasla WHERE haslo='$pass'");
$licz1=mysql_num_rows($sprawdzanie_hasla);
if ($licz1 > 0){

$_SESSION["pass"]= $pass;
$sid=session_id();
header("Location: admin/start.php?PHPSESSID=$sid");
exit();
}}
//koniec obsługi weryfikacji hasła
?>

<FORM ACTION="<? echo $PHP_SELF;?>" METHOD=POST enctype="multipart/form-data">
<br />
Podaj hasło<br>
<input class="form20" type="password" name="pass" value="" />

<INPUT class="form21" TYPE="submit" value="Zaloguj">
</FORM>

</td>
<td class="ramka_p" width="1"></td>
</tr></table>

<TABLE class="szer_lew_gl" BORDER="0" WIDTH="230" CELLPADDING="0" CELLSPACING="0">
<tr>
<td class="pasek_dol"></td>
</tr>
</table>

<?}?>


no i tak to wyglada sad.gif
wiec po zalogowaniu przenosze sie na strone admin.php no i jest tak jak pisałem na poczatku, natomiast w tym skrypcie co na nim bazuje jak po zalogowaniu sie przeniesie na strone index.php to po kilku minutach bezczynnosci, klikajac na jakikolwiek link, czy odswiezajac strone wywala brak dostepu sad.gif

ma ktos jakies pomysły dlaczego u mnie to nie działa questionmark.gif tak jak bym chcial questionmark.gif jak tam questionmark.gif

no i co nikt nie jest w stanie mi pomóc questionmark.gif

ma ktoś moze jakis pomysł ?
jak sie z tym uporać questionmark.gif
-kosmic-
kurde to moze inaczej...

mam skrypt logowania, w ktorym rozpoczynam sesje 'haslo' no i po zalogowanu przenosi mnie na strone admin1.php... na tej stronie zas mam na samym poczatku weryfikacje sesji(hasła)... no i niestety to sie nie sprawdza questionmark.gif i ciagler moge wchodzic na ta strone.... nawet jak zamke przegladarke itp (mowa o skopiowaniu linku)... co jest tu wazne... to to ze jak dam wyloguj to jest ok, nie moge wejsc jak chce wejsc po linku, ale jak zamkne przegladarke i otworze ja spowrotem to juz jakbym sie nie wylogowywal i normalnie z lniku wchodze na strone admin1.php

co mnie dziwi... i nie wiem co i jak sad.gif
mecze sie z tym i nie umiem sobie poradzic sad.gif

to moj skrypt logowania: login.php
Kod
<?php
ob_start();
session_start();
include_once('my_db_connect.php');

if (isset($_POST['login']) && isset($_POST['haslo'])) {
    if (empty($_POST['login']) && empty($_POST['haslo'])) {
        $message .= '<font class="blad">Musisz podac login i haslo</font><br/>';
        } else {
        $login = $_POST['login'];
        $pass = md5($_POST['haslo']);
        $query = "SELECT haslo,login FROM user WHERE haslo='$pass' AND login='$login'";
        $result = @mysql_query($query);
        $row = mysql_num_rows($result);
        if ($row == 1) {
            $_SESSION['haslo'] = $pass;
            $sid = session_id();
            header("Location: admin1.php?PHPSESSID=$sid");
            exit();
            } else {
            $message .= '<font color="red">Podales zle dane...!</font><br/>';
            }
    }
}
?>
<html>
<head>
<meta http-equiv="Content-type" content="text/html; charset=iso-8859-2" />
<title>. : : LOGOWANIE : : .</title>
</head>
<body>

<form method="post" action="<? echo $PHP_SELF; ?>" enctype="multipart/form-data">
    <TABLE ALIGN="CENTER" BORDER="0">
        <tr>
            <td colspan="2"><b>Logowanie użytkownika:</b></td>
        <tr>
            <td colspan="2"> </td></tr>
        <TR>
            <TD ALIGN="RIGHT" >Login:</td>
            <td><input type="text" name="login" size="30"></td>
        </tr>
        <tr>
            <td align="right" >Haslo:</td>
            <td><input type="password" name="haslo" size="30"></td>
        </tr>
        <tr>
            <td align="right" class="Uni_01"> </td>
            <td><p align="center"><input style="font-weight: bold;" type="submit" name="logowanie" value="loguj"></td>
        </tr>
    </table>
</form>
</body>
</html>
<div align="center">
<?php
if(isset($message)) {
    echo $message;
    }
?>
<?
ob_end_flush();
?>
</div>


a to plik weryfikacji hasła (sesji) - wer_pass.php
Kod
<?
if (isset($_SESSION['haslo'])){
    $pass = $_SESSION['haslo'];
    $spr_hasla = @mysql_query ("SELECT haslo FROM user WHERE haslo='$pass'");
    $wynik = @mysql_num_rows($spr_hasla);
    if ($wynik < 1){
        echo "komunikat o braku dostepu";
exit;
        }
    } else {
        echo "komunikat o braku dostepu";
exit;
        }
?>


poczatek pliku admin1.php
Kod
?php
session_start();
$s_id = session_id();
require('my_db_connect.php');
require('wer_pass.php');
include_once('upload.php');
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html>
<head>


PROSZE O POMOC BO MNIE SZLAK TRAFIA exclamation.gif!!!!!!!!!!!!
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.