Autor Zpráva
Začátečních
Profil *
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
Začátečních:
nedávno se tady řešilo podobné téma, viz Default profil
Začátečních
Profil *
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
A zkusil si nad tím trochu popřemýšlet? Neco napsat sám?
Začátečních
Profil *
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
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 *
Nastav $_SESSION["name"] = "jmeno_uzivatele", kde za "jmeno_uzivatele" dosaď jméno přihlášeného uživatele.
Kubo2
Profil
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.
Začátečních
Profil *
Zkoušel jsem vše co mě napadlo nemohl by někdo kapku víc poradit jak to napsat jinak ?
Lorin
Profil *
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 *
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 *
Zkus přepsat 10. řádek tak aby WHERE porovnávalo ID v databázi s obsahem $_SESSION["a01id"] a ne jen a01id.
slowK
Profil
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 :-)

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0