Autor | Zpráva | ||
---|---|---|---|
Začátečních Profil * |
#1 · Zasláno: 11. 9. 2013, 20:58:18
Dobrý den,
chtěl bych se zeptat jestli by neměl někdo kus kódu jak jednoduše vypsat osobní údaje uživatel který je aktuálně přihlášen. V podstatě profil uživatele. Díky za pomoc. :-) |
||
Taps Profil |
#2 · Zasláno: 11. 9. 2013, 21:02:29
Začátečních:
nedávno se tady řešilo podobné téma, viz Default profil |
||
Začátečních Profil * |
#3 · Zasláno: 11. 9. 2013, 21:24:27
Já bych to chtěl vypsat do formuláře což nevím jak by tohle fungovalo. Nebylo by nějaké jiné řešení ?
|
||
aDAm Profil |
#4 · Zasláno: 11. 9. 2013, 22:40:50
A zkusil si nad tím trochu popřemýšlet? Neco napsat sám?
|
||
Začátečních Profil * |
#5 · Zasláno: 12. 9. 2013, 08:57:41
Tak jsem něco teda vymyslel, ale když se přihlásím tak mi to vypíše jednoho uživatele údaje , ale když se přihlásím jako druhý uživatel tak pořád vidím údaje toho prvního . Nevíte co s tím ?
if(isset($_SESSION['a01id'])){ $sql=mysql_query("SELECT a01email FROM a01zakaznik WHERE a01id"); $uzivatel=mysql_fetch_array($sql); echo "Uživatel:".$uzivatel["a01email"]; } |
||
xciza Profil |
#6 · Zasláno: 12. 9. 2013, 19:02:49
To bude nejspíš tím že ze session taháš furt jedno a to samé jméno které následně dáváš do SQL dotazu ;)
|
||
Lorin Profil * |
#7 · Zasláno: 12. 9. 2013, 19:17:56
Nastav $_SESSION["name"] = "jmeno_uzivatele", kde za "jmeno_uzivatele" dosaď jméno přihlášeného uživatele.
|
||
Kubo2 Profil |
#8 · Zasláno: 12. 9. 2013, 19:23:31
Začátečních:
Jednoducho pri prihlasovaní musíš do session zadať práve informáciu o používateľovi, ktorého si prihlásil, aby ti to fungovalo. |
||
Časová prodleva: 4 dny
|
|||
Začátečních Profil * |
#9 · Zasláno: 16. 9. 2013, 19:20:58
Zkoušel jsem vše co mě napadlo nemohl by někdo kapku víc poradit jak to napsat jinak ?
|
||
Lorin Profil * |
#10 · Zasláno: 16. 9. 2013, 19:51:43
Co vše jsi zkoušel? Nějaká ukázka kódu by nebyla?
Vytvoříš stránku login.php, kde vložíš HTML kód s formem pro přihlášení (standardně jméno a heslo). Data si odešleš na server, kde je vyhodnotíš. Tedy zjistíš, zda v databázi uživatel s daným jménem a heslem existuje. Pokud ano, přihlásíš ho a do $_SESSION["name"] uložíš jméno uživatele a pro lepší hledání do $_SESSION["id"] můžeš vložit i ID uživatele v DB.
V profilu pak jen zjistíš, zda je uživatel přihlášen (můžeš kontrolovat zda $_SESSION něco obsahuje), vytvoříš dotaz na db (ID i jméno máš v SESSION ) a data vypíšeš pomocí echo .
Jen podotknu že přihlášení pouze založené na session není příliš bezpečné, ale pro začátek by ti to mělo stačit. |
||
Začátečních Profil * |
#11 · Zasláno: 16. 9. 2013, 20:01:30
Tady je kód:
include_once "dbConnect.php"; if(isset($_GET['logout'])) { unset($_SESSION["a01id"]); echo"Byl jsi odhlášen.<meta http-equiv='refresh' content='1;url=index.php'>.<br/>"; } if(isset($_SESSION['a01id'])){ $sql=mysql_query("SELECT a01jmeno FROM a01zakaznik WHERE a01id"); $uzivatel=mysql_fetch_array($sql); echo "Uživatel:".$uzivatel["a01jmeno"]; ?> <a href="profil.php">Profil</a> <a href='?logout=true'>Odhlásit</a><br /><br /><br /><br /><br /> <?php }else { ?> <form id="frm" name="frm" method="POST" action="index.php"> <span>Login</span><input type="text" name="email"/><br/> <span>Heslo</span><input type="password" name="heslo" /><br/> <input type="submit" value="Přihlásit se"/> <?php if (isset($_POST['email']) && isset($_POST['heslo'])) { $sql = mysql_query("SELECT a01id FROM a01zakaznik WHERE a01email = '".$_POST['email']."' AND a01heslo = '".md5($_POST['heslo'])."';"); if(mysql_num_rows($sql) == 1) { $row = mysql_fetch_array($sql); $_SESSION['a01id'] = $row['a01id']; echo "Jste přihlášen.<meta http-equiv='refresh' content='1;url=index.php'>"; }else{ echo "<br/>Jejda zkuste to znovu."; } } } ?> Tak jde o to že nevím jak jinak vyplnit session aby to doopravdy psalo aktulně přihlášeného uživatele. Tím pádem mi to nevypisuje ani profil aktuálně přihlášeného uživatele. Byl bych moc rád kdyby mi někdo řekl jaký řádek mám přepsat . |
||
Lorin Profil * |
#12 · Zasláno: 16. 9. 2013, 21:25:46
Zkus přepsat 10. řádek tak aby WHERE porovnávalo ID v databázi s obsahem $_SESSION["a01id"] a ne jen a01id.
|
||
slowK Profil |
#13 · Zasláno: 16. 9. 2013, 21:38:34 · Upravil/a: slowK
A jestli se mohu ještě zeptat jak se porovnává v SQL dotazu ? Nikdy sem to nedělal. Jinak moc děkuji za odpověď.
Děkuji za radu už jsem to udělal :-) |
||
Časová prodleva: 11 let
|
0