Close
Duke shfaqur rezultatin -9 deri 0 prej 3
  1. #1
    i/e regjistruar Maska e al5f1nx
    Anėtarėsuar
    23-03-2004
    Vendndodhja
    pothuajse se aty ku duhet
    Postime
    92

    PHP - Pyetje mbi cookie

    Pershendetje te gjitheve.
    Une kisha nje aspekt qe do doja te diskutoja sepse me duhet nje medim.

    Kam nje problem me impostimin e cookie per nje faqe web.
    Aktualisht faqja funksionon ne kete menyre:
    Gjithcka kalon permes skedarit module.php dhe kalon neper file te module/file te ndryshme qe therrasin file te tjere sipas instruksioneve. Pra eshte nje strukture peme e ndertuar me instruksioni SWITCH.
    Keto te gjitha jene te shoqeruara me nje file kreu.php qe permban logon dhe nje menu me linket e moduleve aktive te zgjedhura nga database.
    Ky file " kreu.php" eshte bere INCLUDE nje here ne module.php per te shoqeruar faqet me template te faqes.

    Ketu del problemi.
    Nje nga modulet eshte llogari private e anetareve. Ne momentin kur merret akses ne filen e llogarise, aty une kam nevoje te krijoj cookie.

    Kodi PHP:
    <?php 
    setcookie
    'emer''$emer'time+3600(), '/' ); 
    ?>
    Ja kodi standard per cookie qe duhet te shtohet para cfaredolloj gjeje ne ate faqe, dha ke nevoje per taget e veta php.

    Problemi eshte nje Error i php:
    " Cannot sent headers(). Output already started in kreu.php in line 6"

    Kjo vjen ngaqe gjithcka kalon ne module.php dhe kjo faqe vete nuk ka output po file i includuar ne te , " kreu.php" ka dhe cookie kane nevoje te jene putputi i pare.


    Tani mua me duhet nje opinion se si mund ta shmange kete problem. E kam fjalen llogjikisht
    Ndryshuar pėr herė tė fundit nga al5f1nx : 08-10-2004 mė 16:01
    Geniality is a state of mind

  2. #2
    Programues Softueresh Maska e edspace
    Anėtarėsuar
    04-04-2002
    Vendndodhja
    Filadelfia, SHBA
    Postime
    2,565
    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'$emertime+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'$emertime+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'$emertime+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.
    Ndryshuar pėr herė tė fundit nga edspace : 08-10-2004 mė 20:01
    Edi

  3. #3
    i/e regjistruar Maska e al5f1nx
    Anėtarėsuar
    23-03-2004
    Vendndodhja
    pothuajse se aty ku duhet
    Postime
    92
    shume faleminderit edspace. tani po nis localhost dhe te bej ca ndryshime ne kod. do kthej pergjigje sa me shpejt
    Geniality is a state of mind

Tema tė Ngjashme

  1. Prifeterinjte Pyesin Hoxhallaret Pergjigjen
    Nga Fjala e drejte nė forumin Komuniteti musliman
    Pėrgjigje: 29
    Postimi i Fundit: 05-02-2009, 07:33
  2. Del nė shitje "Njė dosje pėr Kadarenė"
    Nga Albo nė forumin Tema e shtypit tė ditės
    Pėrgjigje: 20
    Postimi i Fundit: 17-03-2007, 01:53
  3. C'far pyetje duhet te beni!
    Nga Noerti nė forumin Lojra dhe rebuse
    Pėrgjigje: 4
    Postimi i Fundit: 27-08-2004, 19:00
  4. Pyetje shkencore , por
    Nga Anton nė forumin Problematika shqiptare
    Pėrgjigje: 22
    Postimi i Fundit: 03-07-2004, 02:22

Regullat e Postimit

  • Ju nuk mund tė hapni tema tė reja.
  • Ju nuk mund tė postoni nė tema.
  • Ju nuk mund tė bashkėngjitni skedarė.
  • Ju nuk mund tė ndryshoni postimet tuaja.
  •