Kirjautuminen

Haku

Tehtävät

Keskustelu: Nettisivujen teko: Tiedoston nimeäminen käyttäjän mukaan

JayC [04.02.2005 11:20:06]

#

PHP-sivulla on tekstikenttä, jonka sisältö tallennetaan teksti.txt -tiedostoon. Sivulle pääsee vain sisäänkirjautuneet jäsenet (tunnus, salasana ja keksi tallennettu MySQL-kantaan). Onko mitenkään mahdollista että tuon teksti.txt:n voisi tallentaa levylle niin, että tiedoston nimeksi tulee käyttäjätunnus.txt? Eli jos käyttäjä on vaikka Pekka, tiedoston nimeksi tulee Pekka.txt.

putka1.php

<body bgcolor="#C6E2FF">
<font size="+2">Otsikko</font><br><br>
Kirjoita tekstisi tähän<br>
<FORM method="post" action="putka.php">
<TEXTAREA name="koodi" rows="12" cols="50"></TEXTAREA>
<p><input type='submit' value='Vastaa'></p>
</FORM>
</body>

putka.php joka käsittelee lomakkeen

<?php
$sql_palvelin = "localhost";
$sql_tunnus = "";
$sql_salasana = "";
$sql_tietokanta = "opiskelijat";

$connu = mysql_connect($sql_palvelin,$sql_tunnus,$sql_salasana) or die("Yhdistäminen ei onnistunut");
mysql_select_db($sql_tietokanta) or die ("Virhe yhdistettäessä tietokantaan");

$ff = fopen("teksti.txt", "w");
        fwrite($ff, stripcslashes($_POST["koodi"]));
fclose($ff);
echo '<pre>';

   //haetaan tunnus, jolla on keksin istuntotunnus
  $vast = mysql_query("SELECT tunnus FROM kayttajat WHERE istunto = '".$_COOKIE['istunto']."'");

   //jos haun tuloksena on yksi rivi, on käyttäjä sisällä
  if(mysql_num_rows($vast) == "1"){
    $row = mysql_fetch_array($vast);
    $kayttaja = stripslashes($row['tunnus']); }
    $score = ($retu + $retval);

echo $kayttaja
?>

rndprogy [04.02.2005 11:26:29]

#

$ff = fopen($sql_tunnus . ".txt", "w");

eikö noin?

JayC [04.02.2005 12:51:01]

#

Ei ihan noin, mutta tuosta oli kyllä suuri apu. Eli näin toimii:

$connu = mysql_connect($sql_palvelin,$sql_tunnus,$sql_salasana) or die("Yhdistäminen ei onnistunut");
mysql_select_db($sql_tietokanta) or die ("Virhe yhdistettäessä tietokantaan");

   //haetaan tunnus, jolla on keksin istuntotunnus
  $vast = mysql_query("SELECT tunnus FROM kayttajat WHERE istunto = '".$_COOKIE['istunto']."'");

   //jos haun tuloksena on yksi rivi, on käyttäjä sisällä
  if(mysql_num_rows($vast) == "1"){
    $row = mysql_fetch_array($vast);
    $kayttaja = stripslashes($row['tunnus']); }

$ff = fopen($kayttaja . ".txt", "w");

        fwrite($ff, stripcslashes($_POST["koodi"]));
fclose($ff);
echo '<pre>';

Vastaus

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

Tietoa sivustosta