Kirjautuminen

Haku

Tehtävät

Keskustelu: Nettisivujen teko: Lisäysformi

Sivun loppuun

crackmann [16.02.2008 15:34:34]

#

Noniin, nyt lähdin tekemään tuota arvostelun lisäämisformia. Nyt olen luonut ton lomakkeen, ja nyt pitäs saada selko siitä, että miten saan lomakkeeseen syötetyt tiedot toiseen tiedostoon sisällytettyä?

<form action="index.php?lisaa=tehty" method="get">
Kirjoittanut: <input type="text" name="author"><br />
Arvostelu:<br /><textarea rows="6" name="arvostelu"></textarea><br />
Arvosana: <input type="text" name="arvosana">
<br /><br />
<input type="submit" value="Lisää">
</form>

Tollanen on se lomake tähän mennessä, eli toi on index.phpssa ja haluisin noi tohon syötetyt tiedot arvostelu.php tiedostoon, kuinka? :S

Pallo [16.02.2008 17:19:49]

#

Käyttämällä fopen ja fwrite saat tallennettua lomakkeen tiedot
tiedostoon.

(Vaatii vielä muuttelua kunnon käyttöön, tämä on vain pieni esimerkki)

** lisaa.php**

<?php

// kerätään lomakkeen tiedot

$kirjoittaja = $_GET['author'];
$arvostelu = $_GET['arvostelu'];
$arvosana= $_GET['arvosana'];

$avaa = fopen("arvostelut.txt", a); // avataan tiedosto johon tiedot kirjoietaan

// kirjoitetaan lomakkeeseen syötetyt tiedot tiedostoon

fwrite($avaa, $kirjoittaja . $arvostelu . $arvosana);

fclose ($avaa);

?>

Ja käytät includea saadaksesi arvostelut näkymään sivulla.

crackmann [16.02.2008 18:26:08]

#

Tota joo, kai ton pitäis toimia, muttakun ei kirjoita mitään arvostelut.txt tiedostoon... Kyllä se sen luo, muttei kirjoita..

edit: Johtuikin siitä, että tossa on $_GET ja formin methodis luki post :) Nyt siis toimii. Pitää vielä saada tohon niin, että se tekee ne aina uudelle riville, ei luulis olevan vaikeeta, kattelen jos löydän jotain.

crackmann [16.02.2008 19:53:00]

#

Nyt siis pitäis tietää, että miten saan ne aina uudelle riville? :)

hunajavohveli [16.02.2008 20:13:17]

#

Lisäämällä rivivaihdon perään.

fwrite($avaa, $kirjoittaja . $arvostelu . $arvosana . "\n");

Windows-tyylisen rivivaihdon saa yhdistelmällä "\r\n", mutta PHP:n funktiot ymmärtävät kyllä molempia.

Vasta_alkaja [16.02.2008 20:14:03]

#

Suora lainaus ohjelmointiputkan oppaista

https://www.ohjelmointiputka.net/oppaat/opas.php?tunnus=phpj5

<?php
//avataan tiedosto kirjoitustilassa
$tt = fopen("testi2.txt", "w");

//kirjoitetaan tiedostoon kolme riviä; \n tarkoittaa rivinvaihtoa
fwrite($tt, "Rivi 1\n");
fwrite($tt, "Rivi 2\n");
fwrite($tt, "Rivi 3");

//suljetaan tiedosto
fclose($tt);
?>

Short Php [16.02.2008 20:14:50]

#

Itse tykkään kylläkin enemmän

fwrite($avaa, $kirjoittaja . $arvostelu . $arvosana . "
");

koska tuo ei tee niitä ihme []-merkkejä jotka saattaa sekottaa kaiken.

E: Kiinnostavaa, 3 viestiä ~1,5 min.

Vasta_alkaja [16.02.2008 20:22:29]

#

Muistaakseni kaipasit vielä kirjautumissysteemiä. Eli kuka vain ei pääsisi tiedostoon kirjoittelemaan. Käytätkö apunasi tietokantaa?

https://www.ohjelmointiputka.net/koodivinkit/24572-php-kirjautumissysteemi

https://www.ohjelmointiputka.net/koodivinkit/24301-php-kirjautuminen-rekisteröityminen-mysql-llä

https://www.ohjelmointiputka.net/koodivinkit/23878-php-kirjautuminen-sessioneilla

Siinä esimerkkejä mitä näin äkkiseltään löytyi putkan sivuilta kirjautumisten tekemisestä. Jos et kuitenkaan käytä tietokantaa, eikä tarpeesi ole tuon mittakaavan kirjautumisille kannattaa tutustua .htaccessiin.

http://luth.adslinfo.us/htaccess.html

Luot vain sitten tuon kirjoitussivun tuon taakse ja suojaus on kohtuullinen.

short php.. Kyllä kiinnostavaa, hyvin sattui monta seikkailijaa yhtä aikaa.
PS. Crackman, kannattaa miettiä tätä vaihtoehtoa

fwrite($avaa, $kirjoittaja . $arvostelu . $arvosana . "\n");

crackmann [16.02.2008 20:29:34]

#

Vasta_alkaja: Mulla on jo toimiva kirjautumissysteemi :) Kiitos kuitenkin, ja kiitos teille muillekin.


Sivun alkuun

Vastaus

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

Tietoa sivustosta