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
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 include
a saadaksesi arvostelut näkymään sivulla.
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.
Nyt siis pitäis tietää, että miten saan ne aina uudelle riville? :)
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.
Suora lainaus ohjelmointiputkan oppaista
https://www.ohjelmointiputka.net/oppaat/opas.
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.
Muistaakseni kaipasit vielä kirjautumissysteemiä. Eli kuka vain ei pääsisi tiedostoon kirjoittelemaan. Käytätkö apunasi tietokantaa?
https://www.ohjelmointiputka.net/koodivinkit/
https://www.ohjelmointiputka.net/koodivinkit/
https://www.ohjelmointiputka.net/koodivinkit/
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");
Vasta_alkaja: Mulla on jo toimiva kirjautumissysteemi :) Kiitos kuitenkin, ja kiitos teille muillekin.
Aihe on jo aika vanha, joten et voi enää vastata siihen.