Kirjautuminen

Haku

Tehtävät

Keskustelu: Nettisivujen teko: Käyttäjän tietojen näyttäminen

Sivun loppuun

Ajattar [15.11.2012 22:06:43]

#

Hei,

Kopsasin sivuilleni ao linkissä olevan sovelluksen ja se toimii hienosti.
http://www.mvnet.fi/index.php?osio­=Kotisivun_teko&sivu=Salasanasuojaus_PHPll%E4

Nyt haluaisin lisätä tälläisen toiminnon:

Käyttäjän kirjauduttua sivuille, hän ohjautuu esim. sivu.php. Tällä sivulla olisi käyttäjäntiedot näkyvissä, jotka hän rekisteröityessään on antanut: nimi, sukunimi, sähköposti, asuinpaikka, ikä yms. Olen saanut käyttäjätunnuksen/sähköpostin näkymään tällä:

<?php

$salakoodi ="XXXXXX";

//Printtaa kuka on käyttäjä

if ($_SESSION["accesslevel"] == "$salakoodi")
{

$kukakayttaa = $_SESSION["username"];
print ("<b>Omat tiedot</b>: "."$kukakayttaa");

}

?>

Mutta miten saisin tuohon näkymään käyttäjän muita tietoja? Varmasti ihan yksinkertainen ratkaisu, jota mä en osaa lisätä :(

Olen täysin aloittelija PHP:n ja MySQL:n osalta, joten pliis, puhukaa niin selkeästi kuin mahdollista. Kaikesta vinkkailusta on apua, kiitos jo etukäteen!

Mod. korjasi kooditagit!

Teuro [15.11.2012 22:19:57]

#

Haet ensin käyttäjän kaikki (haluamasi) tiedot tietokannasta, jonka jälkeen tulostat ne haluamaasi muotoon sivulle. Tietojen hakeminen kannattaa varmaankin eristää omaan funktioonsa, josta sitä on helppo päivittää ja itse tulostava sivu pysyy oleellisesti selkeämpänä.

<?php
function hae_kayttaja($id) {
    $kayttaja_q = db()->prepare("SELECT kayttajanimi, email FROM kayttajat WHERE id = ?");
    $kayttaja_q->execute(Array($id));

    $kayttaja = $kayttaja_q->fetch();

    return $kayttaja;
}

Itse sivulla sitten vain kutsut tuota funktiota käyttäjän id-numerolla, jonka olet kaiketi tallentanut evästeeseen / sessioon.

Metabolix [15.11.2012 22:46:56]

#

Koodi näyttää kylläkin käyttävän tekstitiedostoja, joten Teuron neuvo ei toimi (eikä muutenkaan toimisi suoraan). Joka tapauksessa koodi on yksi huonoimmista, joita olen vähään aikaan nähnyt, joten kannattaa todellakin etsiä jokin laadukkaampi kirjautumisjärjestelmä, jossa ehkä profiilisivukin olisi toteutettu valmiiksi.

Ajattar [15.11.2012 23:10:32]

#

Kiitoksia noistakin neuvoista, opin heti uutta, vaikka ilmeisesti ei ole nyt tähän hätään apuna.

Onko Metabolixilla vinkkejä, mistä sellaisen voisi löytää? Useimmat on "puoliksi tehtyjä", enkä osaa niitä vielä loppuun asti tehdä..

Metabolix [15.11.2012 23:21:28]

#

Ihan ensiksi pitää miettiä, mihin edes tarvitset tällaista järjestelmää ja mitä hyötyä on pelkästä kirjautumisesta, jos et osaa edes jatkokehittää sitä mihinkään suuntaan. Jos taas tarkoitus on opetella ohjelmointia ja saada joskus jotain tehtyä, koodin kopiointi ei ole siihen oikea tapa.

Ajattar [16.11.2012 13:55:56]

#

Tulee käyttöön virtuaalitallille, joten tuota koodia ei tarvitsisi kamalasti "laajentaa" ja tietoturvankaan ei tarvitse olla kovin korkea :) Tarkoitus on tosiaan opetella, ja opin HTML + css koodauksenkin kopioimalla ja muokkaamalla koodeista haluamani.

Toki opettelen tekemään myös alusta itse yksinkertaisempia koodeja, mutta nyt sattui olemaan tarvetta tälläiselle.

Millä tavalla koodi on huono? Tuleeko sen toimivuudessa olemaan ongelmia vai?

Olisi kyllä loistavaa, jos joku osaisi neuvoa, miten saisin nuo käyttäjäntiedot "profiilisivuun" (on kaikille sama sivu (osoite), mutta hakisi kannasta oikean käyttäjän tiedot).

Grez [16.11.2012 14:22:25]

#

Ajattar kirjoitti:

Millä tavalla koodi on huono?

No eihän nyt esim. tämä estä koodia toimimatta, mutta aiheuttaa aiheuttaa kyllä suunnattoman WTF -kohtauksen

print ("<b>Omat tiedot</b>: "."$kukakayttaa");

Jotenkin normaalimman näköinen olisi jompi kumpi seuraavista:

print ("<b>Omat tiedot</b>: ".$kukakayttaa);
print ("<b>Omat tiedot</b>: $kukakayttaa");

Mutta enemmän varmaan huonoudesta kieli tuollaisen salakoodi -muuttujan käyttäminen access leveliin. Sessiossa olevaan access leveliin olisi loogista laittaa joko numero tai enum joka kuvaisi käyttöoikeutta, ei mitään salakoodeja.

Metabolix [16.11.2012 16:54:00]

#

Ajattar kirjoitti:

Millä tavalla koodi on huono? Tuleeko sen toimivuudessa olemaan ongelmia vai?

Enemmänkin voisi kysyä, onko koodissa oikeastaan mitään hyvää (paitsi se, että se tuurilla ehkä näyttää vähän toimivan).

Ajattar [16.11.2012 22:57:13]

#

Kiitos paljon kommentoineille :) Luottaen viisaampiin luovun tuosta koodista.

Öh, löysin googlettelemalla tämän:
https://www.ohjelmointiputka.net/keskustelu/26413-käyttäjän-ohjaus-omalle-sivulleen/sivu-1

Ja tuolla on Metabolixen kirjoittama koodi, saako sitä käyttää?
(En tosin ymmärrä, onko tuohon lisätty "uloskirjautuminen"?)

Lisäys: Ja onko sivuja, joihin käyttäjä kirjauduttuaan ohjautuu, suojattu mitenkään, vai pääseekö niihin vain menemällä kys. osoon? :D

Metabolix [16.11.2012 23:38:47]

#

Löytämässäsi keskustelussa ei oteta mitään kantaa sivujen suojaukseen, vaan kysymys on vain ja ainoastaan käyttäjän ohjautuksesta tietylle sivulle tunnuksen ja salasanan perusteella. Koodissa ei myöskään ole rekisteröitymistä, vaan kaikki käyttäjät on kirjattu koodiin valmiiksi. Siispä tuo koodi ei liity kysymykseesi millään tavalla.

Paremmin ehkä löytyy englanniksi etsimällä, tai voisit vain opetella itse tekemään, jos ei ole kauhea kiire. Mikä PHP:n versio palvelimella on? (echo PHP_VERSION;)

Ajattar [16.11.2012 23:53:37]

#

Metabolix kirjoitti:

Löytämässäsi keskustelussa ei oteta mitään kantaa sivujen suojaukseen, vaan kysymys on vain ja ainoastaan käyttäjän ohjautuksesta tietylle sivulle tunnuksen ja salasanan perusteella. Koodissa ei myöskään ole rekisteröitymistä, vaan kaikki käyttäjät on kirjattu koodiin valmiiksi. Siispä tuo koodi ei liity kysymykseesi millään tavalla.

Paremmin ehkä löytyy englanniksi etsimällä, tai voisit vain opetella itse tekemään, jos ei ole kauhea kiire. Mikä PHP:n versio palvelimella on? (echo PHP_VERSION;)

Tuo linkkaamani koodinpätkäkin voisi olla ihan passeli, rekisteröityminen ei ole mitenkään pakollinen, sillä käyttäjiä sivuilla on vain muutama (alle 5).

Versio on 5.3.18


Sivun alkuun

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta