PHP a jQuery: relační proměnné

Mr.Host

PHP a jQuery: relační proměnné
« kdy: 06. 07. 2015, 12:23:01 »
Zdravim,

pisu si jednoduchy chat zalozeny na predavani zprav pomoci MYSQL + JavaScript + Ajax. Do chatu je vyzadovano prihlaseni.
Stranka index.php pak pomoci Jquery taha ze stranky show_messages.php zpravy. Mam vsak, ale problem, ze stranka show_messages.php nerozpozna, ze session existuje ....

Kód: [Vybrat]

<script type="text/javascript">
    $(document).ready(function() {
                     
        var interval=setInterval(function(){
       
          $.ajax({
              type: 'GET',
              cache: false,
                 
          url: 'http://192.168.2.10/show_messages.php',
          success: function(data){
           $( "#messages" ).html(data);
         
                    }
          });
       
        }, 3000);
    });
</script>

« Poslední změna: 06. 07. 2015, 23:33:42 od Petr Krčmář »


Mr.Answer

Re:PHP + jquery - relacni promenne
« Odpověď #1 kdy: 06. 07. 2015, 16:36:29 »
Jenom otazecka, nebylo by lepsi sem dat kod ze souboru show_messages.php? Tam zrejme bude ta chyba, kdyz ta stranka nerozpozna, ze session existuje.

Re:PHP + jquery - relacni promenne
« Odpověď #2 kdy: 06. 07. 2015, 17:25:23 »
Session předpokládám máte identifikovanou pomocí cookie. Posílá se ta cookie s tím AJAX požadavkem? Nevím z hlavy, zda ji tam prohlížeč přibaluje automaticky, nebo zda je nutné to udělat ručně.

Ondrej

Re:PHP a jQuery: relační proměnné
« Odpověď #3 kdy: 07. 07. 2015, 13:32:00 »
Standardně to browser přibaluje sám. Máte v tom show messages nastartovanou session?

karel

Re:PHP a jQuery: relační proměnné
« Odpověď #4 kdy: 08. 07. 2015, 07:58:16 »
No a mas natartovane session, bud uprava v php.ini kam castno nemas na hostingu pristup,
nebo holt v kazdem souboru volat session_start(); teda jen jednou pro dany dotaz.


karel

Re:PHP a jQuery: relační proměnné
« Odpověď #5 kdy: 08. 07. 2015, 08:08:56 »
Standardně to browser přibaluje sám. Máte v tom show messages nastartovanou session?
Browser ti přiděluje velke prd, session je zaležitosti serveru, a i server posila cookies s identifikatorem, a jak všici jistě vědí všechna cookies pro danou stranku se posilaji spatky na server a to uz dela browser pri kazdem pozadavku.

Navic plati ze velmi casto jsou session v php.ini vyple a je jen na programatorovi aby se postaral prave pres session_start o aktivaci, navic prave protoze se casto na prenaseni pouziva cookies melo by k aktivaci dojit pred prvnim vypsanim jakeho koliv textu.
Ale todle jsou zaklady, co nejsou uplne zaklady, ale mirne pokrocili je duvod proc se defaultne nezapinaj. A nezapinaj se protoze se velmi casto vyuziva defaultniho uloziste pro session a tim je disk, a kazda session vytvari soubor, a kdyz vam na web zacne chodit moc lidi tak session muzou byt jednim z duvodu proc se stranky nacitaji o neco dele. Zvlaste pokud aktivne nastavite expiraci treba na mesic aby se vam user nemusel stale prihlasovat. A kdyz Vam web zacne navstevovat google bot ktery cookies ignoruje je to hromada session co se jen vali na disku. A verte tomu nebo ne, ale kdyz se vam na disku v jedne slosce vali statisice souboru najit konkretni holt pak chvili trva. Snad sem to vysvetlil dost polopate, kdyz ne tak me vemte lopatou.


Filip Jirsák nepřihlášený

Re:PHP a jQuery: relační proměnné
« Odpověď #6 kdy: 08. 07. 2015, 08:26:03 »
Standardně to browser přibaluje sám. Máte v tom show messages nastartovanou session?
Browser ti přiděluje velke prd, session je zaležitosti serveru, a i server posila cookies s identifikatorem, a jak všici jistě vědí všechna cookies pro danou stranku se posilaji spatky na server a to uz dela browser pri kazdem pozadavku.
Aneb jak se pořádně rozohnit jenom na základě toho, že jste si něco špatně přečetl…

Ondřej má pravdu, XMLHTTPRequest se standardně provádí v kontextu dané stránky, takže se odesílají cookies i přihlašovací informace. Pokud to chce autor vypnout, může v některých prohlížečích použít nestandardní rozšíření.

eL

Re:PHP a jQuery: relační proměnné
« Odpověď #7 kdy: 08. 07. 2015, 08:37:21 »
Pokud tam pro kazdym requestu jakoby vznika nova session, tak pak to muze byt tim, ze to prohlizec bere jako crossdomain. Treba kdyz to ladis na http://localhost a ajax posilas na "http://192.168.2.10/", tak to jiste bude ten problem.