Diskuze: MySQL
V předchozím kvízu, Online test znalostí SQL a databází, jsme si ověřili nabyté zkušenosti z kurzu.


Zobrazeno 30 zpráv z 30.
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í SQL a databází, jsme si ověřili nabyté zkušenosti z kurzu.


To znamená ?
ja som tie
kódy nerobil takže sa dotoho veľmi nerozumiem.
a řádku $id = $zaznam['id'] ti chybí středník
$id = $zaznam['id']
// Tady ti chybí ten středník----^
To znamená, že bys ten program neměl používat, protože je úplně špatně. Používá POST tam, kde má být GET. Je děravý jak řešeto. Má SQL injection i XSS injection. Nemá šifrovaná hesla v databázi. Používá zastaralý přístup k databázi, který v dalších verzích PHP již nebude podporován.
no tieto kody som nerobil ja ale programátor ktorí tu už pridal dve články kde mu tiež nefungujú kódy na mojej stránke kde sa snažíme vytvoriť databázu.
Teraz mi stránku nechce načítať. Nemáte niejaký normálny návod na tvorbu databázi na webzdarma ? táto nefunguje.
Zkus třeba tohle:
http://www.itnetwork.cz/…-a-modularne
ale na WZ fungují použitelně všechny databáze kromě MySQL.
Aha. Tak ja viacero databáz nepoznám to je premňa novinka.
A môžem prepojiť wz z databázou na endore ? Bude to fungovať ?
Teoreticky by to sice šlo, ale o spolehlivosti by sis mohl nechat zdát. Nejde to však propojit přímo, pouze přes nějaké RESTapi. Nedělal bych to.
Na WZ mám dobré zkušenosti s databází SQLite.
Takže už mi to ide. Zapisuje to užívateľov do databázy aj ked tam je nejaký bug a zapisuje mi to len ip,id,validation a email.
Jestli ti už funguje ten původní skript, tak je to docela neštěstí.
v podstate ani nevím co mi funguje
Jen to nechce zapisovat do databáze pass a username
oukej vkladám další kod ktorí tiež nefunguje: login.
<?
session_start();
?>
<?
echo "<html lang='cz-cs'>";
echo "<head>
<title>Prihlásiť</title>
<meta charset='UTF-8'>
<link rel='stylesheet' href='styles.css'>";
$id = $_POST['id'];
$submit = $_POST['submit'];
echo "<form action='login.php' methnod='POST'>
Uživatelké jméno: <input type='text' name='username' title='Meno'><br>
Heslo: <input typpe='password' name='password' title='Heslo'><br>
<input type='submit' name='submit' value='Login'>";
if($submit)
{
$username = $_POST['username'];
$password = $_POST['password'];
$query = mysql_num_rows($dotaz);
$dotaz = mysql_query("SELECT * FROM users WHERE username='$username' AND password='$password' ;");
while($zaznam = mysql_fetch_array($dotaz))
{
$username = $zaznam['username'];
$password = $zaznam['password'];
$email = $zaznam['email'];
$validation = $zaznam['validation'];
}
}
Na SELECTy se stejně má používat GET, takže by to mělo být jedno. Jenom by to měl i zpracovat jako GET.
Takže. Index je tak pekne blbý že nevie spracovávať a nevie rozlíšiť registráciu a login. Zase dávam do vedomia že som to nerobil ja. Ked vyplním registráciu, do databázy mi vloží len email. Ked vyplním login a stlačím registrovať sa, do databázy sa zapíše username aj pass. Takže kód nevie čo má kjde spracovať. Mohli by ste mi to prosím nejak rozdeliť ? Osobitný kód na login a osobitný kód na registráciu. Je tam vlasnte blbé spojenie. kód indexu:
<?php
session_start();
echo '<head>
<title>Villligers Online</title>
<meta charset="UTF-8">
</head>';
include ("connect.php");
$id = $_POST['id'];
$username = $_POST['username'];
$password = $_POST['password'];
$email = $_POST['email'];
$ip = $_SERVER['REMOTE_ADDR'];
$validation = $_POST['validation'];
$submit = $_POST['submit'];
echo '<form action "index.php" method="POST">
Uživateské jméno:<input type="text" name="username" title="Sem zadejte Uživatelské jméno, které se Vám bude zobrazovat v profilu"><br>
Heslo: <input type="password" name="password" title="Sem zadejte heslo, které si zapamatujete" ><br>
Email: <input type="text" name="email" title="Sem zadejte Váš e-mail, na který budete dostávat informace o tom, co se děje na webu"><br>
<input type="submit" name="submit" value="Registrovat se do hry !"><br>';
if ($submit) {
echo "<p style='color:green'>Bol si úspešne registrovaný.</p><br>";
echo "Uživ. jméno : $username <br>";
echo "Heslo : <i>Vaše tahné heslo</i><br>";
echo "Email: $email<br>";
}
else
echo "<p style='color:green'>Vitaj vo Villagers</p>";
$zapis = mysql_query("INSERT INTO users SET username='$username', password='$password', email='$email', validation='1', ip='$ip' ;");
echo "<form action='login.php?id=$id' method='POST'>
Uživatelké jméno: <input type='text' name='username'><br>
Heslo: <input typpe='password' name='password'><br>
<input type='submit' name='submit' value='Přihlásit se !'>";
?>
Celé to smaž a ušetříš si práci
Máš tam sql injekce, starý
ovladač k db, logiku pomíchanou s výstupem,...
Vlastním hru Villagers na ktorej mám ochvíľu 30 hráčov no a celú bez databáze. Tak stím treba niečo robiť aby hra pracovala sama.
Pamatuj si jedno základní pravidlo: Pokud zapisuješ do databáze, nikdy nevypisuj žádné HTML. Ani hlavičky, vůbec nic. Pouze udělej přesměrování.
Proč je lepší přesměrovat a nvypisovat žádné HTML ? Rád se
přiučím 
Aby uživatel nemohl stisknutím F5 odeslat data znovu a aby se to neukládalo do historie browseru. Také je nutné v MVC nějak přesměrovat controller do vieweru a protože spolu nemají (kromě modelu) žádnou vazbu, tak je to jedno z nejjednodušších řešení.
ale když chci ten element nastylovat a chci, aby se toi zobrazilo v tom nastylovaným elementu, tak to přece musím dát do toho tagu, nebo snad ne?
na ten, jak jsi říkal, že zásadně se to nedává mezi tagy
To jsem nikde nenapsal. Pouze "nikdy nevypisuj žádné HTML". Žádné tagy jsem nezmiňoval a když není HTML ani text, tak ani není co stylovat.
ok, trochu mě to právě zaskočilo, asi jsem ten komentář špatně pochopil.
To nic, v tomhle se hodně často chybuje. Kdekdo vypíše hlavičku HTML a pak teprve začne testovat, zda mu náhodou něco nepřišlo přes POST. Když pak chce třeba odeslat cookie, tak už nemůže. Stejně se z té stránky nic nezobrazí, takže je zbytečné ji vytvářet.
Zobrazeno 30 zpráv z 30.