⊗ppPmAuAc 428 of 447 menu

Osobní kancelář v PHP

Osobním kancelářem se rozumí místo, kde uživatel může upravovat data svého profilu. Vytvořme stránku account.php, na kterou když uživatel vstoupí, uvidí formulář pro úpravu dat svého profilu (kromě přihlašovacího jména a hesla, ty je třeba zpracovávat zvláštním způsobem).

Všimněte si, že id uživatele nepředáváme GET parametrem - my to zařídíme tak, aby každý uživatel na stránce account.php viděl data svého profilu, a ne cizího.

K tomu je třeba při autorizaci uživatele do session zapsat id tohoto uživatele, takto:

<?php if (password_verify($_POST['password'], $hash)) { $_SESSION['auth'] = true; $_SESSION['id'] = $user['id']; } ?>

Poté při vstupu na stránku account.php budeme dělat SELECT dotaz, který vytáhne z databáze uživatele s id ze session:

<?php $id = $_SESSION['id']; $query = "SELECT * FROM users WHERE id='$id'"; $res = mysqli_query($link, $query); $user = mysqli_fetch_assoc($res); ?>

Data uživatele musíme zobrazit v formuláři pro úpravu. Nechť to jsou například jméno a příjmení uživatele:

<form action="" method="POST"> <input name="name" value="<?= $user['name'] ?>"> <input name="surname" value="<?= $user['surname'] ?>"> <input type="submit" name="submit"> </form>

Po stisknutí tlačítka pro odeslání formuláře musíme provést dotaz na aktualizaci uživatele:

<?php if (!empty($_POST['submit'])) { $name = $_POST['name']; $surname = $_POST['surname']; $query = "UPDATE users SET name='$name', surname='$surname' WHERE id=$id"; mysqli_query($link, $query); } ?>

Realizujte popsaný osobní kancelář.

Čeština
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Používáme soubory cookie pro fungování webu, analýzu a personalizaci. Zpracování údajů probíhá v souladu s Zásadami ochrany osobních údajů.
přijmout vše přizpůsobit odmítnout