Mine sisusse
Otsi siit
  • Rohkem valikuid...
Otsi tulemusi mis sisaldab...
Otsi tulemusi...
Süsteemi uuenduse tõttu palume kõikidel registreerunud kasutajatel, kes registreerusid ennem 20.02.2020, muuta oma konto parool, saates oma emailile parooli meeldetuletuse, et sisse logida. ×
  • 0
Jälgi teemat sisse logides  

[php} - klopsee õpib!

Küsimus

SUPERVIP

Tere vahveldajad!

 

Vaikselt nokitsen siin oma ette ning püüdnud leida lahendust ka google abil aga kuskilt ikka jääb miskit puudu.

 

Soov teha siia selline asi, et kuvaks sisse loginud kasutaja andmed ainult - link pildile !!!

nt:

Kasutajanimi: kasutaja1

E-mail: TEST@TEST.EE

Liitunud: 06.09.2019.

 

Kood: https://pastebin.com/z0dQZuWS , minu proovimine.. kuid kuvab kõik test kasutajad

  1. kasutaja 1
  2. kasutaja 2
  3. kasutaja 3
  4. kasutaja 4

Ning minu point asjal kuidas ta näitaks ainult sisseloginud kasutaja 1 andmed

Soov siis aru saada kust ma jooksen juba vastu puud.. võimalik, et juba algusest. Kuid küsija suu pihta ei lööda! ;)


kollanokk

Jaga seda postitust


Postituse link
Share on other sites

Soovitatud postitused

  • 0
VIP

Eeldan, et infot kasutaja kohta hoiad sessioonis. Ehk siis õnnestunud sisselogimisel lisad sisseloginud kasutaja ID tema sessiooni muutujatesse.

Ehk siis sisselogimisel:

session_start(); // Igale lehele, kus kavatsed sessiooniandmeid/-funktsioone kasutada (ühe korra)

/* kõik toimingud päringu valideerimiseks ning autentimiseks */

/* sisselogimine õnnestus, lisa kasutaja ID  $_SESSION muutujatesse */
$_SESSION["user_id"] = $user_id; // kus $user_id on sisselogitud kasutaja ID

Sisselogitud kasutaja ID on nüüd edukalt $_SESSION skoobis.

 

Kasutaja info pärimisel, sa hetkel küsidki ju kõik registreeritud kasutajad ning prindid need üks haaval välja. Lisa päringule piirang, et too tagastaks ainult konkreetse kasutaja andmed.

 

  session_start(); // Oluline!

  $con=mysqli_connect("localhost","root","","database");
// kontrollime ühendust databaasiga
if (mysqli_connect_errno())
 {
 echo "Ei saanud ühenudust: " . mysqli_connect_error();
 }

// Kontrolli kas kasutaja on sisselogitud
$user_id = (isset($_SESSION["user_id"]) && is_numeric($_SESSION["user_id"]))? $_SESSION["user_id"] : null;
$result = null;

if(!is_null($user_id)){ // Pärime ainult siis, kui kasutaja on päriselt sisselogitud
  // Lisa päringule piirang, mille peale tagastatakse vaid ühe kasutaja andmed
  $sql="SELECT * FROM users WHERE id=?";
  // Ning turvalisuse mõttes, kasuta prepared statemente
  $stmt = $con->prepare($sql);
  $stmt->bind_param("i", $user_id); // lisa sisselogitud kasutaja ID turvaliselt päringule
  $stmt->execute();
  $result = $stmt->get_result();
  $stmt->close();
}

if (!is_null($result)){
 // toome andmed nähtavale lehele
 while ($row=$result->fetch())
   {
   printf ("%s (%s)\n",$row[0],$row[1]);
   }
 // Free result set
  $result->free();
}

mysqli_close($con);
?>

 

Peaks toimima, testinud pole. Kindlasti leidub antud väljundi saamiseks mõni elegantsem lahendus, kuid pole mysqli-ga väga tegelenud.


Mama,just killed a man, put a gun against his head, pulled my trigger, now he's dead,

Jaga seda postitust


Postituse link
Share on other sites

Kommentaari lisamiseks loo konto või logi sisse

Kommenteerimiseks peate olema liige

Loo konto

Liituge meie kommuuni uue kontoga. See on lihtne!

Loo uus konto

Logi sisse

On juba konto? Logi sisse siit.

Logi sisse nüüd
Jälgi teemat sisse logides  

×
×
  • Loo uus...

Oluline informatsioon

Selle veebisaidi paremaks muutmiseks oleme teie seadmesse paigutanud küpsised . Võite kohandada oma küpsiste seadeid , vastasel juhul eeldame, et te olete küpsiste kasutamisega nõus kui jätkate veebisaidil sirvimist.. Palun lugege läbi Kasutustingimused ja Privaatsuspoliitika.