index.php engine
<?php $where = $HTTP_GET_VARS['cmd']; ( \"przyklad\" => \"przyklad.inc\", \"przyklad1\" => \"przyklad1.inc\", \"kolejna_przykladowa_strona\" => \"kolejna_przykladowa_strona.inc\" ); if ($allowed_values[$where] != '') { include(\"main.inc\"); include(\"$allowed_values[$where]\"); include(\"stopka.inc\"); } else { include(\"main.inc\"); include(\"przyklad.inc\"); include(\"stopka.inc\"); } ?>
plik index.php glowne funkcje
plik main.inc glowna strona czyli wszystko co zawarte jest w stronie
plik przyklad.inc pierwsz wyswietlana strona
plik stopka.inc stopka hehe
navigacja odbywa sie poprzez np. dodanie jakiegos dzialu test
tworzymi plik test.inc
dodajemy jego wartosc do index.php
czyli
<?php \"test\" => \"test.inc\", ?>
i wyswietlamy go index.php?cmd=test
a wiec przyposcmy ze chcialbym stworzyc kolejne 3 strony
1. dla admina
2. dla uzytkownika
3. dla danych ktore wyswietlane pownny byc tylko dla osob zarejestrowanych
mozliwosc dodania konta sobie nie wchodzi w gre nie jest to zaden portal tylko malutka strona a wiec konta mam zamiar dodawac recznie z shella bezposrednio na mysql-u autoryzacja z wykorzystaniem sesji jest autorstwa pana
Piotra Gutowskiego programisty firmy Blue Media Greetengs to all BM Developments jako iz kod jest na lic. GNU zamieszczam go w celach nie komercjynych i prosze o pomoc wszystkich ktorzy pomogli by mi polaczyc je z moja strona ja juz probowalem wszystkiego same czyste php ? includowac z moja strona ? dodawac do calego engine`a i wszystko lipa
baza danych do autoryzacji
CREATE DATABASE baza; USE baza; CREATE TABLE tabSession ( idSession int NOT NULL AUTO_INCREMENT, # id użytkownika zalogowanego do tej sesji lub 0 jeśli niezalogowany idUser int NOT NULL DEFAULT 0, # unikalny identyfikator sesji sid char(32), # czas ostatniej akcji odwiedzajacego tLastAction timestamp, # data startowa sesji tDate timestamp, # adres IP odwiedzajacego sIP char(15), # ilosc zaladowan stron w sesji nHits int NOT NULL DEFAULT 0, # czy sesja aktywna bActive tinyint NOT NULL DEFAULT 1, PRIMARY KEY(idSession), KEY(sid(3)) ); CREATE TABLE tabUser ( idUser int NOT NULL AUTO_INCREMENT, # login i haslo sLogin char(16), sPassword char(16), # tutaj mozemy dodac dodatkowe pola # np. data rejestracji, imie i nazwisko, e-mail PRIMARY KEY(idUser), KEY(sLogin(3)) ); # dodanie przykladowego uzytkownika INSERT INTO tabUser (sLogin,sPassword) VALUES ('user','abc');
kolejny plik to index.php tak mi sie wydaje ze najlepiej jakby go mozna bylo includowac do mojego engina w postaci cosik.inc i dodac do engine`a i moglby to byc formularz logowania
<?php // plik index.php - strona glowna require_once \"CSession.php\"; initMysql('localhost','mysql','','baza'); $oSession = new CSession(); if ($oSession->bLoginError) { } ?> <center> <form method=\"POST\" action=\"<?php ?>\"> <input type=\"hidden\" name=\"formname\" value=\"login\"> Login: <input name=\"sLogin\" size=10><br> Hasło: <input type=\"password\" name=\"sPassword\" size=10><br> <input type=\"submit\" value=\"Zaloguj się\"> </form> </center>
kolejny plik
CSession.php tutaj mozna by bylo ustawic dostep oraz wszystko polaczyc z moja strona czyli tym pierwszym plikiem index.php zrodlo wyzej tak aby dziala wszystko razem
<?php // plik CSession.php - klasa zarzadzajaca sesjami // bezpieczny czas oczekiwania na akcje uzytkownika (w minutach) class CSession { var $sIP; // IP uzytkownika var $tDate; // aktualna data i czas var $sid; // identyfikator sesji var $idSession; // id sesji w bazie // dane zalogowanego uzytkownika var $idUser; // id uzytkownika, lub 0 jesli nie zalogowany var $tabUser; // tablica z danymi uzytkownika pobrana z bazy // true jesli wystapil blad podczas logowania // (podano zly login lub haslo) var $bLoginError; function CSession() { $this->idUser = 0; // 1. Zarzadzanie sesjami $this->sid = $HTTP_GET_VARS['sid']; if (!$this->sid) { // utworz nowa sesje // (domyslnie przypisana do niezalogowanego uzytkownika) \"INSERT INTO tabSession ( sid, sIP, tDate, tLastAction ) VALUES ( '\".$this->sid.\"', '\".$this->sIP.\"', '\".$this->tDate.\"', '\".$this->tDate.\"' )\"); }else { // wczytaj dane sesji z bazy \"SELECT * FROM tabSession WHERE sid='\".addslashes($this->sid).\"' AND bActive=1\"); // jesli brak sesji o danym sid lub sesja nieaktywna exit; } if ($tabSession['sIP']!=$this->sIP) { // Rozny IP odwiedzajacego i sesji, tutaj mozna dodac // przekierowanie na strone z informacja o bledzie $this->logout(PAGE_HOME); } // oblicz maksymalny dopuszczalny czas ostatniej akcji if ($tabSession['tLastAction']<$tDate) { // od ostatniej akcji minelo za duzo czasu - wylogowanie $this->logout(PAGE_TIMEOUT); } $this->idSession = $tabSession['idSession']; // identyfikator uzytkownika przypisanego do tej sesji $this->idUser = $tabSession['idUser']; } // 2. Zarzadzanie uzytkownikami if ($this->idUser) { // jesli do tej sesji przypisany jest uzytkownik // obsluz ewentualne wylogowanie $this->handleLogout(); // jesli sie nie wylogowal, wczytaj jego dane z bazy \"SELECT * FROM tabUser WHERE idUser=\".$this->idUser); }else{ // w przeciwnym wypadku sprawdz czy uzytkownik wlasnie sie zalogowal $this->handleLogin(); } // 3. Aktualizacja danych sesji // inkrementacja licznika zaladowan stron dla tej sesji // oraz uaktualnienie czasu ostatniej akcji \"UPDATE tabSession SET nHits=nHits+1, tLastAction='\".$this->tDate.\"', idUser=\".$this->idUser.\" WHERE idSession=\".$this->idSession); } // obsluga logowania uzytkownika function handleLogin() { // sprawdz czy przesłano metodą POST formularz logowanie if ( ($REQUEST_METHOD=='POST') && ($HTTP_POST_VARS['formname']=='login') ) { // sprawdz czy przesłany login i hasło odpowiadają // jednemu z użytkowników zapisanych w bazie \"SELECT * FROM tabUser WHERE sLogin='\".addslashes($HTTP_POST_VARS['sLogin']).\"' AND sPassword='\".addslashes($HTTP_POST_VARS['sPassword']).\"'\" ); // uzytkownik poprawnie zalogowany // przypisz jego idUser do aktualnej sesji $this->idUser = $this->tabUser['idUser']; \"UPDATE tabSession SET idUser=\".$this->idUser.\" WHERE idSession=\".$this->idSession); // przekieruj przegladarke na strone startowa exit; }else { // brak uzytkownika o podanym loginie i hasle $this->bLoginError = true; } } } // obsluga wylogowania na zadanie uzytkownika function handleLogout() { if ($HTTP_GET_VARS['bLogout']) { $this->logout(); } } // wylogowanie uzytkownika function logout($page=PAGE_LOGOUT) { \"UPDATE tabSession SET bActive=0 WHERE idSession=\".$this->idSession); exit; } function makeLink($sPage,$sParam='') { return $sPage.'?sid='.$this->sid.'&'.$sParam; } } // polaczenie z baza MySQL function initMysql($sHost,$sUser,$sPassword,$sDatabase) { } ?>
no i start.php
czyli wszystko co widoczne po zalogowaniu
<?php // plik start.php - strona startowa, widoczna po zalogowaniu require_once \"CSession.php\"; initMysql('localhost','mysql','','baza'); $oSession = new CSession(); // wyjscie jesli proba wyswietlenia tej strony // przez niezalogowanego uzytkownika ?> <center> <b>Użytkownik zalogowany</b><br> <br><br> </center>
prosze o pomoc osoby ktore wiedzialby jak to polaczyc z moja strona czyli tym co wyzej jest napisane aha dziekuje za wyrozumialosc i jakby ktos mogl looknac na moj poprzedni problem bylo by GIT
http://forum.php.pl/index.php?showtopic=21057
NIE WIECE OCO CHODZI
