NOVINKA: Získej 40 hodin praktických dovedností s AI – ZDARMA ke každému akreditovanému kurzu!
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.

Diskuze: PHP chat- špatný kód?

V předchozím kvízu, Online test znalostí PHP, jsme si ověřili nabyté zkušenosti z kurzu.

Aktivity
Avatar
weverka
Člen
Avatar
weverka:18.1.2021 9:40

Mám vytvořený podle tutoriálu zde na itnetwork naprogramovaný chst v PHP. Na localhostu funguje dobře, ale když jdem ho hodil na server s hostingem tak mi konzole vypíše za chybu

https://domena.cz/…messages.php 500: internal server error

ještě je tam vypsáno: jquery.min.js:4
doména je zamaskovaná, takže nefunguje.

Chci docílit: Chci zprovoznit web s chatem.

Odpovědět
18.1.2021 9:40
Weby jsou budoucnost IT
Avatar
Peter Mlich
Člen
Avatar
Peter Mlich:18.1.2021 15:39

Clanky tady jsou placene, nejspis. Pokud ne, pridej odkaz. Pripadne napis autorovi clanku. Pokud totiz je placeny, tak vetsinou ho lide koupeny nemaji, takze, pak se mu po precteni tveho dotazu mihle myslenka, A o co jako go? Zadny kod nedal, ukazku, nic. Jedine, co by se dalo tipovat je snad, ze na serveru bezi https. Ale, jestli to ma nebo nema vliv na php kod, ktery neexistuje, se rici neda. Nemelo by.
A pak je spousta dalsich zaludnosti, ktere se daji najit se zapnutymi error reporting.
Error 500 vetsinou znamena, ze server nefunguje spravne (coz by mozna vedeli admini). Nebo je neco spatne nastavene v htaccess.

Editováno 18.1.2021 15:40
 
Nahoru Odpovědět
18.1.2021 15:39
Avatar
weverka
Člen
Avatar
weverka:18.1.2021 16:16

Článek placený není, posílám odkaz.
"":https://www.itnetwork.cz/…y-chat-v-php

Edit: Napadlo mě jestli to není hostingem. Mám free od Webzdarma

Editováno 18.1.2021 16:17
Nahoru Odpovědět
18.1.2021 16:16
Weby jsou budoucnost IT
Avatar
weverka
Člen
Avatar
weverka:18.1.2021 16:32

Omlouvám se, ale posílám jsem to špatně, pro jistotu posílám printscreen.

Nahoru Odpovědět
18.1.2021 16:32
Weby jsou budoucnost IT
Avatar
weverka
Člen
Avatar
Odpovídá na Peter Mlich
weverka:18.1.2021 16:36

Myslíš, že by to pokud by byl problém v .htaccess tak by to nešlo už 3 týdny?

Nahoru Odpovědět
18.1.2021 16:36
Weby jsou budoucnost IT
Avatar
Jan Poláček
Tvůrce
Avatar
Odpovídá na weverka
Jan Poláček:18.1.2021 17:29

Ahoj, stále máme celkem málo informací, já co bych zkusil, tak vynutit vypsat chybu a to tak, že bych do get_messages.php úplně na začátek přidal

ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
error_reporting(E_ALL);

zad to něco nevyhodí (samozřejmě otevři ten soubor napřímo - tedy http://nazev_webu/…messages.php)
Máš v db.php správně zadanej přístup k DB a vytvořené tabulky?

Nahoru Odpovědět
18.1.2021 17:29
Instrukce na adrese 0x77104f29 odkazovala na adresu paměti 0x00000014. S pamětí nelze provést operaci: written.
Avatar
weverka
Člen
Avatar
Odpovídá na Jan Poláček
weverka:18.1.2021 17:48

do souboru jsem to vložil a když otevřu soubor get_messages.php přímo tak mi to vyhodí chybovou hlášku viz. PrintScreen

Nahoru Odpovědět
18.1.2021 17:48
Weby jsou budoucnost IT
Avatar
Jan Poláček
Tvůrce
Avatar
Odpovídá na weverka
Jan Poláček:18.1.2021 18:17

No je to někde u tebe, schválně jsem to zkusil taky: http://johny881.borec.cz
Nahrál jsem soubory, vytvořil databázi (přes jejich web) a tabulku(přes PHPMyAdmin), změnil db.php, kde jsem upravil údaje k databázi

// Údaje pro připojení k databázi
$host = "sql5.webzdarma.cz";
$db = "johny881bore9751";
$user = "johny881bore9751";
$password = "vygenerovane_heslo";

a hotovo, funkční

Nahoru Odpovědět
18.1.2021 18:17
Instrukce na adrese 0x77104f29 odkazovala na adresu paměti 0x00000014. S pamětí nelze provést operaci: written.
Avatar
weverka
Člen
Avatar
Odpovídá na Jan Poláček
weverka:19.1.2021 9:18

A co s tím?

Nahoru Odpovědět
19.1.2021 9:18
Weby jsou budoucnost IT
Avatar
Peter Mlich
Člen
Avatar
Peter Mlich:19.1.2021 9:19

No, ale error 500 je serverova hlaska (internal server error), stejne jako error 404 (stranka nenalezena). S tim php kod nema nic spolecneho.
Server muzes ovlivnit:

  • admini
  • htaccess

https://www.itnetwork.cz/…y-chat-v-php
A ten kod psal nejaky pip :)

  • proc tam treba prerusuje php a v zapeti jej znovu otevira?
session_start();
?>
<?php
  • a proc startuje session duplicitne? Nejspis to ma nejaky duvod, ze to na nejakem serveru nenabehlo na poprve. Ale je to rozhodne divne. IE ma pro iframe spesl kod. Coz by mohl byt duvod, ze pak cely program pouziva v iframu. A tez je dobre tam pridat kodovani
header('P3P: CP="CAO PSA OUR"');        // aby session fungovala spravne v iframe v IE
header("Content-Type: text/html; charset=UTF-8");
  • a je tam spoustu dalsich veci, ktere se takto zkratka nedelaji. Takovy kod bych nechtel opravovat. V tom se ani nemuzes vyznat. Mel to obalit vsechno class a mit v jedinem souboru, vsechen php kod. index.php + send_message.php + get_messages.php
  • Nicmene, tam nevidim nic, kvuli cemu by vypisoval chybu, pokud mas cesty k souborum spravne, radky.
$.post("send_message.php", // URL pro požadavek
$.get("get_messages.php", function(data) {
 
Nahoru Odpovědět
19.1.2021 9:19
Avatar
Peter Mlich
Člen
Avatar
Peter Mlich:19.1.2021 9:23

Napada mne snad, ze mas spatne pojmenovane soubory nebo diakritiku a on, misto aby vyhodil arror 404, tak vyhodi error 500. Ale jinak bych se ptal adminu u tveho hostingu. A jine php ti tam funguje?

--- tvujweb/test.php ---
<? php echo 'Ahoj'; ?>

A neni mozne, ze tam mas soubory: index.php, index.htm, index.html v jednom adresari? Spravne by asi mel nabehnout index.html nebo index.php a ostatni ignorovat. Ale pokud je nekde neco spatne v nastaveni, mohl by vyhodit i error, neco na zpusob konflikt souboru a teoreticky by to mohlo skoncit 500 chybou.

Editováno 19.1.2021 9:25
 
Nahoru Odpovědět
19.1.2021 9:23
Avatar
weverka
Člen
Avatar
Odpovídá na Peter Mlich
weverka:19.1.2021 9:39

index.html mám v kořenovém adresáři a index.php mám v složce chat v kořenové adresáři. Php skript nějak nefunguje a vypíše chybu viz. poslední printscreen. Vypadá to skoro jako by hosting nezpracoval PHP kód. Pokusím se index.php přejmenovat na chat.php

Editováno 19.1.2021 9:40
Nahoru Odpovědět
19.1.2021 9:39
Weby jsou budoucnost IT
Avatar
weverka
Člen
Avatar
Odpovídá na weverka
weverka:20.1.2021 11:38

Ozkoušeno, nic nefunguje. Znáte nějakou alternativu chatu?

Nahoru Odpovědět
20.1.2021 11:38
Weby jsou budoucnost IT
Avatar
Peter Mlich
Člen
Avatar
Odpovídá na weverka
Peter Mlich:20.1.2021 22:39

Zkus jiny hosting, nejaky free. Treba nemas zaple php. Nebo je to asp dot NET microsoft hosting :)
Co ten error reporting? nic nepise?
Ten muj jednoduchy php musi fungovat. Pokud ti to zobrazi php jako txt soubor, tak hosting nema zaple php nebo ho nema vubec.

Misto php a mysql existuji i jine prog. jazyky, java, json, asp, ruby, python... Db: ms sql, oracle, ... Existuji sql, ktere zapisuji na disk (coz vede k rychlemu zruseni disku).

U php je vyhodne pouzit chat, ktery bezi v pameti.

Lepsi by bylo pouzit web-socket chat nebo real-time-comunication chat. Prenos dat je tak 1%. Ale data se zapisuji jako prosty text, doporucuji json format.

 
Nahoru Odpovědět
20.1.2021 22:39
Avatar
weverka
Člen
Avatar
Odpovídá na Peter Mlich
weverka:21.1.2021 8:41

Šla by endora?

Nahoru Odpovědět
21.1.2021 8:41
Weby jsou budoucnost IT
Avatar
Milan Turyna
Tvůrce
Avatar
Odpovídá na weverka
Milan Turyna:21.1.2021 8:48

Nevim, zda na endore sprovoznis web-sockety, coz by byla idealni volba pro sestrojeni chatu, ale PHP ti tam pujde.

Nahoru Odpovědět
21.1.2021 8:48
Řeš pouze to, co dokážeš ovlivnit.
Avatar
weverka
Člen
Avatar
Odpovídá na Peter Mlich
weverka:21.1.2021 10:51

Přikláním se asi spíše k web-socketu, zde na itnetwork je tutoriál na real-time návštěvní knihu, ale poslední dvě lekce jsou placené a já mám pouze 3 body. Nevíte o nějakém jiném návodu?

Nahoru Odpovědět
21.1.2021 10:51
Weby jsou budoucnost IT
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 17 zpráv z 17.