Diskuze: Úprava vloženého článku (inzerátu)
V předchozím kvízu, Online test znalostí PHP, jsme si ověřili nabyté zkušenosti z kurzu.
Zobrazeno 12 zpráv z 12.
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.
A co ti přesně nefunguje?? Jak tam vypisuješ data (ta nastavená při vytvoření)?? A tím vypisováním myslím: vytáhneš to z databáze a jak ty data vypisuješ do toho formuláře pro vytvoření. A budeš potřebovat udělat ještě script na změnu dat (po úpravě).
Ahoj, píšeš "PHP ošetřující úpravu inzerátu", ale já zde vidím
dotaz SELECT. Navíc na konci máš přesměrování, takže se se ti to vypsat
ani nemůže, protože se ti to přesměruje. Čeho jsi chtěl v tom druhém
skriptu dosáhnout? 
Jinak bys mohl použít stránku na vytváření nového inzerátu a
předělat ji tak, aby mohla i inzeráty upravovat. Je to snad ta
nejjednodušší možnost 
To SELECT chtěl použít nejspíš na získání starých dat z databáze. Tyto data by vypsal do stejného formuláře, který používá k vytváření inzerátů. Tam by šli data pozměnit a následně by přepsal aktuální data v databázi za tyto upravená.
Ano, máš pravdu, trochu mě to popletlo. V tom případě si myslím, že mu tam přebývá řádek:
header('Location:administrace.php');
(Michal Kuba) Vytáhne data z databáze a potom stránku přesměruje. Každopádně není tu celý kód, tak to nemůžu posoudit.
Pokud ty data někam uloží, půjde to i takto. Ovšem bych to řešil v tomto souboru a tento řádek by tam nebyl.
Tak ta stránka je vlastně zkopírovaná a jen nachystaná na úpravu inzerátů.. Který kus kódu bych měl ještě pro úplnost dodat?
trochu jsem to upravil do jedné stránky PHP, ale když chci zkusit onu editaci, tak mi to právěže vypíše, že inzerát neexistuje:
$inzerat= array(
'ID' => '',
'autor' => '',
'datum_vlozeni' => '',
'titulek'=>'',
'text' => '',
'kategorie' => '',
'upresneni' => '',
'mesto' => '',
);
if ($_POST){
if(!$_POST['ID']){
if ( isset($_POST['kategorie']) AND isset($_POST['upresneni_' . $_POST['kategorie']]) )
$upresneni = $_POST['upresneni_' . $_POST['kategorie']];
$autor = $_SESSION['uzivatel_jmeno'];
Db::query('
INSERT INTO inzeraty (autor, datum_vlozeni, titulek, text, kategorie, upresneni, mesto)
VALUES (?,CURRENT_TIMESTAMP(),?, ?, ?, ?, ?)
',$autor, $_POST['titulek'], $_POST['text'], $_POST['kategorie'],$upresneni,$_POST['mesto'] );
header('Location: podat_inzerat.php');
exit();
}
else
{
Db::query('
UPDATE inzeraty
SET titulek=?, text=?, kategorie=?, upresneni=?, mesto=?
WHERE ID=?
', $_POST['titulek'], $_POST['text'], $_POST['kategorie'],$upresneni, $_POST['mesto'], $_POST['ID']);
}
header('Location: administrace.php');
exit();
}
else if (isset($_GET['ID']))
{
$nactenyClanek = Db::queryOne('
SELECT *
FROM inzeraty
WHERE ID=?
', $_GET['ID']);
if ($nactenyInzerat)
$inzerat = $nactenyInzerat;
else
$zprava = 'Inzerát nebyl nalezen';
}
Máš tam malou chybičku ke konci. Data načítáš do proměnné
$nactenyClanek, ale potom používáš jinou proměnnou
$nactenyInzerat... 
Jo vidíš, toho jsem si nevšiml
už to víceméně funguje, když napíšu nový titulek, text atd tak
se to přepíše, jen při otevření editace se mi nevypíší původní
hodnoty. :/
Tak musíš mít někde v kódu chybu. Postupně si testuj proměnné, co
obsahují a zjistíš, co děláš špatně. Také by sis mohl psát komentáře
a mít pořádek v kódu, odhalíš hodně chyb již tak, že uvidíš, jak moc
je daný řádek odsazený od okraje 
var_dump($inzerat); // Vypíše obsah proměnné, abych se ujistil, že je vše správně.
Zobrazeno 12 zpráv z 12.
