Nuk e ke sqaruar mirė problemin por mesa kuptova ti po bėn diēka tė tillė.
vizitori kėrkon faqen: ....module.php?faqe=private
Nė module.php ti ke diēka tė tillė:
Kodi PHP:
<?
include('kreu.php');
if( $_GET['faqe'] == 'private')
include('private.php');
else
//kod tjeter ketu
?>
Nė kreu.php ke kodin html pėr menunė
Kodi PHP:
<html>
<head></head>
<body>
<!-- html tjeter ketu -->
...
Nė private.php ke kodin pėr faqen private tė anėtarėve
Kodi PHP:
if( $_POST['emri'] == 'administratori' && $_POST['fjalekalimi'] == 'fjalekalimi'){
setcookie( 'emer', $emer, time+3600(), '/' );
}
Po ta bashkojmė kodin e kėtyre faqeve nė njė faqe tė vetme, do kemi diēka tė tillė:
Kodi PHP:
<html>
<head></head>
<body>
<!-- html tjeter ketu -->
<?php
if( $_GET['faqe'] == 'private') {
if( $_POST['emri'] == 'administratori' && $_POST['fjalekalimi'] == 'fjalekalimi'){
setcookie( 'emer', $emer, time+3600(), '/' );
}
}
else
//kod tjeter ketu
?>
Kodi i kreu.php do dėrgojė HTML tek vizitori dhe shfletuesi i vizitorit do fillojė tė hapė faqen. Pastaj faqja do kėkojė tė dėrgojė cookie dhe PHP tė nxjerr gabim sepse cookie duhen dėrguar tė parat nė faqe. Ky rregull ėshtė standart nga HTTP. Gjithashtu edhe header(), dhe sesionet (session_start() ) duhet tė dėrgohen tė parat dhe pastaj mund tė vazhdosh me .
Pėr tė zgjidhur kėtė problem ka disa mėnyra.
Mėnyra mė e lehtė ėshtė qė include('kreu.php') ta vendosėsh pas include('private.php').
Mėnyra tjetėr ėshtė qė kreu.php ta bėsh include nė krye tė faqes por ta formulosh nė kėtė mėnyrė:
Kodi PHP:
<?php
function kreu(){
?>
<html>
<head>
<body>
<!-- html tjeter ketu -->
<?
}
?>
Tani, kur PHP tė pėrfshijė kreu.php, nuk do dėrgojė HTML tek vizitori, sepse HTML ėshtė futur nė funksion mė vete. Nė module.php e vendosim ne se kur tė hapim faqen, thjesht duke thirrur funksionin kreu();
Kodi PHP:
<?
include('kreu.php');
if( $_GET['faqe'] == 'private') {
include('private.php'); //ketu dergojme cookie
kreu(); //ketu nxjerrim kodin html
}
else
//kod tjeter ketu
?>
Njė mėnyrė mė e llogjikshme ėshtė qė module.php tė mos dėrgojė html tek vizitori por tė jenė vetė modulet qė kontrollojnė atė qė nxjerrin nė faqe.
psh: private.php
Kodi PHP:
if( $_POST['emri'] == 'administratori' && $_POST['fjalekalimi'] == 'fjalekalimi'){
setcookie( 'emer', $emer, time+3600(), '/' );
}
kreu();
//html tjeter ketu
Kėto qė shpjegova mė lart besoj se janė mėnyrat mė tė mira, por nqs ke dėshirė tė bėsh eksperimente PHP ka funksione kastile pėr tė ruajtur HTML deri sa tė mbarojė interpretimi i faqes, dėrgon cookies, headers, sessions, dhe pastaj dėrgon HTML. Kjo mėnyrė pėrdoret nė raste tė veēanta kur mund tė kesh shumė include() dhe disa prej tyre mund tė jenė nė sėrvėra tė ndryshėm dhe ti nuk e di nqs do dėrgojnė HTML apo jo.
E keqja e kėsaj mėnyre ėshtė se PHP
- do zerė pak mė shumė memorje pėr tė ruajtur gjithė HTML
- serveri do ngarkohet pak mė shumė
- faqet do hapen mė ngadalė
Nqs e ke vėnė re nė internet, disa faqe hapen nga pak e nga pak, ndėrsa tė tjera vonohen pak mė shumė por hapen pėrnjėherėsh. Arsyeja pėr kėtė ėshtė pikėrisht pėrdorimi i kėsaj metode (output buffering).
Nė rastin tėnd kjo metodė mund tė pėrdoret nė kėtė mėnyrė.
Kodi PHP:
<?php
//i themi php te grumbulloje HTML por mos ta dergoje
ob_start();
include('kreu.php');
if( $_GET['faqe'] == 'private')
include('private.php'); //dergojme cookie ketu
else
//kod tjeter ketu
//tani i themi php te leshoje HTML
ob_end_flush();
?>
Mendo sikur po pėrdor njė rubinet pėr HTML.
Nė fillim tė faqes e mbyll rubinetin, dėrgon cookies, pastaj hap rubinetin prape.
Krijoni Kontakt