Kirjautuminen

Haku

Tehtävät

Keskustelu: Nettisivujen teko: Miten lukea vain tietty rivi tiedostosta?

vmjs [08.11.2003 20:37:48]

#

Pitäis saada luettua vain yhden käyttäjän rivi tiedostosta, mutta en tiedä kuinka. Käyttäjät on tiedostossa tyyliin: nimi|salasana|salasana2...

Tää tulis sellaselle käyttäjät-sivulle, jota oon tehnyt jo tän verran:

SIVU JOSSA LISTA KAIKISTA KÄYYTÄJISTÄ:

<?php

$kayttajat = file("newbieBBS/foorumi/kayttajat.dat");
$kayttajienmaara = count($kayttajat);

for ($i = 0; $i < $kayttajienmaara; $i++) {
	$tiedot = explode("|", $viestit[$i], 4);
	$nimi = $tiedot[0];
	$email = $tiedot[3];
	echo "<a href=\"kaytinfo.php?tunnus=$nimi\">$nimi</a>";
}
?>

SIVUJOLLE YKSITTÄISEN KÄYTTÄJÄN TIEDOT:

<?php
echo"<center><p class=\"teksti\"> <b><u>".$_GET['tunnus']."</u></b></p><br>";
?>

Sitte pitäs saada tolle jälkimmäiselle sivulle muut tiedot, kuten email, ym. Mutta kuinka teen sen?

Tuli vähä astetta pitempi viesti :D

sooda [08.11.2003 20:50:27]

#

Hmmööää onks ne sun emailit tossa tiedostossa kans

k-mikko [08.11.2003 20:57:12]

#

Siis jos nyt oikein ymmärsin, sen voisi tehdä näin. Tämä muuten edellyttää, että id-numerot menee rivien kanssa synkassa, siis käyttäjä-id 0 rivillä 0 jne...

En testannut tms. joten en takaa toimivuutta.

<?php
$id = $_GET['tunnus'];

$tiedot = file("käyttäjät tai mikä onkaan.txt");

$tiedot = $tiedot[$id];

$tiedot = explode("|", $tiedot);

/*
Yksittäisen käyttäjän tiedot esim.

echo $tiedot[0] //Käyttäjän id
echo $tiedot[26] // Käyttäjän serkun kissan kummin toinen nimi

jne...

Toisin sanoen:
*/

echo "Moi mun nimi on " . $tiedot[0] . " ja mun email on " . $tiedot[3] . "."; //Lauseen perään tulee yleensä piste.

arcatan [08.11.2003 21:01:22]

#

No käyt läpi kaikki rivit kunnes osut oikean nimen kohdalle.

<?php

  // helpottaa vähän koodausta, kun tehdään näin
  $tunnus = $_GET['tunnus'];

  // avataan tiedosto
  $kayttajat = file("newbieBBS\foorumi\kayttajat.dat");

  // käydään kaikki rivit läpi yksitellen
  foreach ($kayttajat as $rivi) {
    // hajotetaan rivi palasiin merkin | perusteella
    $tiedot = explode("|", $rivi);

    // jos rivi on oikea...
    if ($tiedot[0] == $tunnus) {
      // ...tallennetaan rivin palaset muuttujaan $oikearivi
      $oikearivi = $tiedot;

      // ...lopetetaan tiedoston selaaminen
      break;
    }
  }

  if (isset($oikearivi)) {
    // käyttäjä löytyi

    $email = $oikearivi[3];
    // jne.. tähän sitten ne käyttäjätietojen tulostukset
  }
  else {
    // käyttäjää ei löytynyt, asiasta kannattaa tiedottaa
    echo "<P>Käyttäjää <U>$tunnus</U> ei löytynyt!</P>";
  }
?>

k-mikko [08.11.2003 21:03:25]

#

Semmoinen juttu, että mitään käyttäjätietokantaa tms. ei kannata käyttää ilman id-pohjaista tunnistusta.

Esimerkiksi, jos forumtietokantaan viestin kirjoittajaksi merkitään jouman91 ja hän päättää myöhemmin vaihtaa nimensä, ei siitä tule mitään. Jos sen sijaan forumviestin on kirjoittanut id# 295, joka on joumannin id, nimen vaihtuessa vaihtuu forumviestin kirjoittajakin.

ZcMander [08.11.2003 21:11:23]

#

Sittehän hän pääsee muuttelemaan "ei omia" viestejä. :D

k-mikko [08.11.2003 21:53:43]

#

Milloin?

Vastaus

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

Tietoa sivustosta