Diskuze: Nahrání index.php na web?
V předchozím kvízu, Online test znalostí PHP, jsme si ověřili nabyté zkušenosti z kurzu.
Zobrazeno 25 zpráv z 25.
K personalizaci obsahu a reklam, poskytování funkcí sociálních médií a analýze naší návštěvnosti využíváme soubory cookie. Informace o tom, jak náš web používáte, sdílíme se svými partnery pro sociální média, inzerci a analýzy. Partneři tyto údaje mohou zkombinovat s dalšími informacemi, které jste jim poskytli nebo které získali v důsledku toho, že používáte jejich služby.
Používáme nezbytné cookies pro fungování webu a s tvým souhlasem také analytické a marketingové cookies.
Zajišťují základní funkce, bezpečnost a služby, které sis vyžádal. Nelze je vypnout.
| Služba | Poskytovatel | Účel | Cookies a úložiště | Doba uložení |
|---|---|---|---|---|
| ITnetwork | ITnetwork | Provoz webu, relace, přihlášení a uložení nastavení cookies. | PHPSESSID, auth_token, sid, itn_consent_impression, __Host-itn_consent | Relace až 1 rok |
| Google Tag Manager | Správa značek a načítání měřicích nástrojů webu. | Žádné | Neukládá se | |
| Google Fonts | Načítání typografie webu. | Úložiště řízené poskytovatelem | Dle podmínek poskytovatele | |
| Google Hosted Libraries | Načítání potřebných knihoven a stylů webu. | Úložiště řízené poskytovatelem | Dle podmínek poskytovatele | |
| Google reCAPTCHA | Ochrana formulářů a webu před zneužitím. | _GRECAPTCHA, rc::a, rc::b, rc::c, rc::f | Relace až 180 dní | |
| YouTube | Přehrávání vloženého video obsahu. | localStorage, IndexedDB; cookies after playback interaction | Relace až trvalé úložiště | |
| Vimeo | Vimeo | Přehrávání vloženého video obsahu. | __cf_bm, _cfuvid, vuid, localStorage, IndexedDB | Relace až 2 roky |
| Facebook Login | Meta | Přihlášení pomocí účtu třetí strany. | Úložiště řízené poskytovatelem | Relace až 1 rok |
| GoPay | GoPay | Zpracování uživatelem vyžádané platby. | Úložiště řízené poskytovatelem | Dle podmínek poskytovatele |
Pomáhají nám porozumět používání webu a zlepšovat ho.
| Služba | Poskytovatel | Účel | Cookies a úložiště | Doba uložení |
|---|---|---|---|---|
| Google Analytics 4 | Měření návštěvnosti a používání webu. | _ga, _ga_* | Až 2 roky | |
| Microsoft Clarity | Microsoft | Měření návštěvnosti a používání webu. | _clck, _clsk, _cltk | Relace až 1 rok |
Slouží k měření kampaní, personalizaci reklamy a marketingové komunikaci.
| Služba | Poskytovatel | Účel | Cookies a úložiště | Doba uložení |
|---|---|---|---|---|
| Google Ads | Měření kampaní, reklama a remarketing. | _gcl_au, _gcl_ls | Relace až 90 dní | |
| Meta Pixel | Meta | Měření kampaní, reklama a remarketing. | _fbp, _fbc, localStorage | Až 90 dní |
| Sklik | Seznam.cz | Měření kampaní, reklama a remarketing. | retargeting, sid, szn:* | Relace až trvalé úložiště |
| LinkedIn Insight | Měření kampaní, reklama a remarketing. | bcookie, li_gc, lidc, __cf_bm | Relace až 1 rok | |
| Ecomail | Ecomail.cz | Měření kampaní, reklama a remarketing. | ecmid, Úložiště řízené poskytovatelem | Dle podmínek poskytovatele |
| Atribuce kampaní ITnetwork | ITnetwork | Přiřazení návštěvy a objednávky ke kampani. | campaign_clid[*], user_session_context | Až 1 rok |
V předchozím kvízu, Online test znalostí PHP, jsme si ověřili nabyté zkušenosti z kurzu.
vyhodí ti to nějakou chybu, ale máš nastaveno zakazování zobrazení chyb.
Určitě tam máš někde error a na Endoře vypnuté zobrazování chyb.

Jako zakázáno na webu nebo v prohlížeči?
V administraci Endory máš vypnutí/zapnutí zobrazování PHP errorů.
Myslím že u nastavení hostingu, úplně dole 
Tam to mám zapnuté, ale pořád se nic neobjevuje.
Zkuste se prosím podívat na http://eni-story.cekuj.net/index.php Díky 
Otevři si F12 (ve Chrome) - Fatal error: require(): Failed opening required 'Db.php' (include_path='.:/usr/share/pear:/usr/share/php') in /home/users/enistory/eni-story.cekuj.net/web/index.php on line 3
cesta... nenašlo ti to soubor co chceš přidat...
Prosím, teď jsem to upravil a stále error.
Mrkněte teďka na web www.eni-story.cekuj.net
Díky
Ten error to nevypisuje jen tak - má ti říci, co máš, případně
můžeš mít, špatně...
Tak si ho prosím přečti, pogoogli a uprav to...
Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[HY000] [2002] No such file or directory' in /home/users/enistory/eni-story.cekuj.net/web/Db.php:48 Stack trace: #0 /home/users/enistory/eni-story.cekuj.net/web/Db.php(48): PDO->__construct('mysql:host=;dbn...', NULL, NULL, Array) #1 /home/users/enistory/eni-story.cekuj.net/web/index.php(4): Db::connect() #2 {main} thrown in /home/users/enistory/eni-story.cekuj.net/web/Db.php on line 48
Já už jsem si ho prošel několikrát, ale ztrácím se v takové záplavě
:-/
Navíc mi to vyhazuje i nějaký error v Db.php , který mám stažený odtud, v
něm se nevyznám :-/
Nevidíš v tom nějaký jasný řešení? Já se s tím jinak budu prát celou
noc..
Kód můžeš mít odtud, ale pokud ho špatně použiješ tak bude házet chyby...
Sem dej ten zdroják, ne? Jak ti asi jinak pomoc... 
Takhle vypadá můj index.php:
<?php
require('Db.php');
Db::connect();
if (isset($_GET['clanek']))
$url = $_GET['clanek'];
else
$url = 'uvod';
$clanek = Db::queryOne('
SELECT *
FROM clanky
WHERE url=?
', $url);
if (!$clanek)
{
if ($url != 'chyba')
{
header('Location: index.php?clanek=chyba');
exit();
}
else
die('Nebyl nalezen chybovy clanek');
}
?>
<!DOCTYPE html>
<html lang="cs-cz">
<head>
<meta charset="utf-8" />
<meta name="description" content="<?= htmlspecialchars($clanek['popisek']) ?>" />
<meta name="keywords" content="<?= htmlspecialchars($clanek['klicova_slova']) ?>" />
<link rel="shortcut icon" href="images/E2.bmp" />
<link rel="stylesheet" href="css/style.css" type="text/css" />
<title><?= htmlspecialchars($clanek['titulek']) ?></title>
</head>
<body>
<header>
<div id="logo"><h1>Eni-story</h1></div>
<nav>
<ul>
<li><a href="index.php?clanek=uvod">Domů</a></li>
<li><a href="clanky.php">Příběhy</a></li>
<li><a href="index.php?clanek=kontakt">Kontakt</a></li>
</ul>
</nav>
</header>
<article>
<div id="centrovac">
<header>
<h1><?= htmlspecialchars($clanek['titulek']) ?></h1>
</header>
<section>
<?= $clanek['obsah'] ?>
</section>
<div class="cistic"></div>
</div>
</article>
<footer>
Vytvořil ©Eni-story.cz
<a href="administrace.php">Administrace</a>
</footer>
</body>
</html>
Podle indexu a toho erroru tipuji, že chyba bude v prvních 4 řádcích
<?php
require('Db.php');
Db::connect();
Máš index.php ve složce na stejné úrovni jako Db.php?
Přidej sem ještě Db.php prosím. (označ mi, co je řádek 48)
Zde je část Db.php , chybový řádek je hned ten první. A mám oba soubory na stejné úrovni.
**public static function query($query) {**
$statement = self::executeStatement(func_get_args());
return $statement->rowCount();
}
Doufám že nevadí, že Db::connect() je prázdné, jen jsem vymazal údaje k databázi, které tam předtím byly.
Tak jsem zkusil zase nějakou dobu problém řešit, ale nenacházím východisko. Zřejmě nejsem dostatečně zběhlý na to, abych byť triviální problém okamžitě odhalil :-/
Jan Bezdíček jestli se chceš dohadovat, můžete se přesunout do PMka, tady je fórum. Vaše zprávy mažu.
Nemá přece vůbec vyplněněné parametry pro připojení k databázi ...
Db::connect();
Chybí ti tam hostitel, heslo, jméno a název databáze. Hostitel bude u Endory localhost, zbylé údaje si zadáš v administraci v správě databází. Založíš si pro hosting db (pokud nemáš) a uživatele(pokud nemáš), údaje doplníš v kódu a bude to fungovat.
Já tam ty údaje měl, jen jsem je vymazal, protože se jednak zobrazovaly v chybové hlášce, ale možná to bylo špatně zadané.. Na první pozici má být tedy SLOVY localhost?
Záleží na tom jak máš funkci connect napsanou v Db.php.
function connect($host, $db, $user, $pass){}
pokud takhle tak zápis bude:
Db::connect('localhost', 'db_k_webu', 'db_username', 'db_password' );
Místo těchto údaju dáš to co ti hosting vygeneruje pří vytvoření pro přístup k DB.
Díky, měl jsem to předtím zřejmě špatně zadáno popořadě
Ale vyskytla se mi další chyba a
opět tomu nerozumím, jelikož mě to odkazuje na Db.php :/
"Fatal error: Call to a member function execute() on a non-object in
/home/users/enistory/eni-story.cekuj.net/web/Db.php on line 61"
Pro jistotu odkaz na web: eni-story.cekuj.net
nejspíše mě to odkazuje na tuto část souboru Db.php :
private static function executeStatement($params)
{
$query = array_shift($params);
$statement = self::$connection->prepare($query);
$statement->execute($params);
return $statement;
}
Tak to vypadá zatím vyřešeně!
Trošku jsem si pohrál s drobnostmi, naodkazoval jsem vše na
správnou databázi a ejhle, zřejmě vše funguje.
Podívejte se ještě prosím jednou na web eni-story.cekuj.net , zda se vám
načte alespoň úvodní stránka 
Zobrazeno 25 zpráv z 25.
