Diskuze: Získání detailu uživatele z Databáze pomocí odkazu
V předchozím kvízu, Online test znalostí PHP, jsme si ověřili nabyté zkušenosti z kurzu.
Zobrazeno 4 zpráv z 4.
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.
// tvuj chybny kod
//index.php?stranka=detail=' . htmlspecialchars($zamestnanec['zamestnanci_id']) . '">
// ' . htmlspecialchars($zamestnanec['jmeno']) . ' ' . htmlspecialchars($zamestnanec['prijmeni'])
$url = 'index.php?stranka='.urlencode('detail').'&'.neco='.urlencode($zamestnanec['zamestnanci_id']);
$html .= '<a href="'.htmlspecialchars($url).'">'.'.htmlspecialchars($zamestnanec['jmeno']) . ' ' . $zamestnanec['prijmeni']).'</a>';
$url = 'index.php?stranka=detail&'.neco='.urlencode($zamestnanec['zamestnanci_id']); // nebo takto, pokud jsi si jisty, ze tam nebude zadny parazitni znak
// nebo to melo vypadat takto, coz se proti tvemu kodu znacne lisi, ze?
$html .= '<a href="'.htmlspecialchars('index.php?stranka=detail&'.neco='.urlencode($zamestnanec['zamestnanci_id'])).'">'.'.htmlspecialchars($zamestnanec['jmeno']) . ' ' . $zamestnanec['prijmeni']).'</a>';
// nebo takto, pokud jsi si jisty, ze ani pro html tam nebude parazitni znak
$html .= '<a href="index.php?stranka=detail&neco='.htmlspecialchars(urlencode($zamestnanec['zamestnanci_id'])).'">'.'.htmlspecialchars($zamestnanec['jmeno']) . ' ' . $zamestnanec['prijmeni']).'</a>';
---
//Nebo skladej adresu pres pole nebo si na to udelej funkci
$p = array();
$p[] = 'stranka='.urlencode('detail')
$p[] = 'neco='.urlencode($zamestnanec['zamestnanci_id'])
$url = 'index.php?'.implode('&', $p);
$html .= '<a href="'.htmlspecialchars($url).'">'.'.htmlspecialchars($zamestnanec['jmeno']) . ' ' . $zamestnanec['prijmeni']).'</a>';
function createUrl ($url_main, $p) // a mam pocit, ze v php7 uz takova funkce nekde je
{
foreach ($p as $key=>$value)
{$p[$key] = $key.'='.urlencode($value);}
return $url_main'.implode('&', $p);
}
$html .= '<a href="'.htmlspecialchars(createUrl('index.php?', array(
'stranka' => 'detail',
'neco'=>$zamestnanec['zamestnanci_id']
))).'">'.'.htmlspecialchars($zamestnanec['jmeno']) . ' ' . $zamestnanec['prijmeni']).'</a>';
// ja mam treba funkci, ktera mi vykresuje cely tag A, protoze to pouzivam casto (asi trochu jinaci kod, toto plodim z hlavy)
createOdkaz('index.php', array('name'=>'str', 'id'=>'str', 'text'=>'123', 'target'=>'123', 'onclick'=>'123', 'p'=>array(
'stranka' => 'detail',
'neco'=>$zamestnanec['zamestnanci_id']
)));
function createOdkaz($url, $opt)
{
$text = '';
if (isset($opt['text'])) {$text = $opt['test']; unset($opt['text']);}
if (isset($opt['p'])) {$p = $opt['p']; unset($opt['p']);}
$p = array();
if (isset($opt['p'])) {$p = $opt['p']; unset($opt['p']);}
foreach ($p as $key=>$value) {$p[$key] = $key.'='.urlencode($value);}
foreach ($opt as $key=>$value) {$opt[$key] = $key.'='.htmlspecialchars($value);}
$html .= '<a href="'.htmlspecialchars($ur'.'?'.implode('&', $p)).'"'.implode(' ', $opt)).'>'.htmlspecialchars($text).'</a>';
}
5. zkus si vypsat v prohlizeci html kod stranky a zkus ten kod projet
validatorem html, aspon https://validator.w3.org/#… a pak se zkus podivat, zda je
ten html kod v poradku, podle vsech pravidel, jake se html kod pise.
6. Kdyz si nejsi jisty, jaky html kod vyplodis phpckem, tak si ho zkus napsat
nejdriv spravne v html.
7. Nebo si muze html kod vypisovat do stranky
$html = '';
$code = '';
$html .= '<a href="index.php?stranka=detail&neco='.htmlspecialchars(urlencode($zamestnanec['zamestnanci_id'])).'">'.'.htmlspecialchars($zamestnanec['jmeno']) . ' ' . $zamestnanec['prijmeni']).'</a>';
$code .= $html; // nejsi si jisty, zda tahle cast php kodu je ok, tak ji pridas do promene $code
echo '<pre>'.htmlspecialchars($code).'</pre>'; // a hned na obrazovce vidis i html kod
A radeji mit html kod rozkouskovany na 10.000 promenych nech to placat do jedne nudlicky...
$html .= '
<nav>
<a href="stranka.php">odkaz</a>
<a href="stranka.php">odkaz</a>
<a href="stranka.php">odkaz</a>
</nav>
';
echo $nav;
// nebo
$nav = array();
$nav[] = '<a href="stranka.php">odkaz</a>';
$nav[] = '<a href="stranka.php">odkaz</a>';
$nav[] = '<a href="stranka.php">odkaz</a>';
$nav = implode("\n ", $nav)
$html .= '
<nav>'.$nav.'</nav>
';
Hlavne v dobe, kdyz jsi zacatecnik, tak bych nemachroval s expert zapisy, kdy my to dokazeme seskladat by oko bez chyb, pripadnou chybu najit. Ale ty jsi si nejisty, co vlastne hledas. Nevis, zda se odkaz vypsal spravne, url vyspalo spravne atd.
8. Viz 7, kod ktery vypises php nemusi byt tentyz, ktery zobrazi www
prohlizec jako zobrazit-zdrojovy kod. To je dobre mit na pameti, ze html
prohlizec si z tveho html kodu sklada jakysi vlastni a odstranuje z nej chyby.
Takze prohlizec vzdy zobrazi spravny kod. Ikdyz je treba uplne jiny, nez jsi mu
poslal. To je dobre mit na pameti, a ten kod si prave prohlizet v prohlizeci a
nespolechat na to, co jsem psal v bode 7.
Pokus se stane, ze ti presklada html kod, pak mas ve svem kodu chybu. A pak se
dostavat opet do nejistoty, tenky led, kdy ti kazdy prohlizec ten kod muze
preskladat jinym zpusobem a muze fungovat uplne jinak. Nehlede na to, ze obcas
funguje jinak i se spravnym kodem 
Ahoj, děkuji za vysvětlení. Až budu mít po práci čas, tak se nato
pořádně kouknu, vyzkouším a dám vědět
.
Zobrazeno 4 zpráv z 4.