Eli onko sellainen mahdollista että on nimi kenttä siihen kirjoittaa nimensä ja sitten se tekee on automaattisesti palvelimelle esim joku satunnainen_numerosarja.php ja sivun sisältö olisi se nimi, jonka teksti kenttään kirjoitti. Siis saako PHPllä tehtyä sellaista sciptiä joka luo sivun annetuista tiedoista? Kiitos jo etukäteen, jos joku auttaisi! :D
Saa. Avaat haluamasi nimisen tiedoston, jolloin se luo sen, ellei sitä ole olemassa, ja sitten vain kirjoitat sinne tiedostoon mitä haluat.
https://www.ohjelmointiputka.net/oppaat/opas.
Tarkoituksiisi ehkä sopivan tiedostonimen saa luotua vaikka funktiolla uniqid. Tiedostoon voi kirjoittaa funktiolla file_put_contents. Muista käyttää sivun sisällön kanssa htmlspecialchars-funktiota tms., ettei sivullesi tule tietoturva-aukkoa (XSS-aukkoa tai jopa täyteen sivuston hallintaan johtavaa aukkoa).
Uusien sivujen luominen tuolla tavalla on harvoin järkevää, vaan tiedostoon kannattaa tallentaa pelkät käyttäjän syöttämät tiedot. Kun selain hakee sivun, PHP-skripti parsii tiedoston ja liittää sen sisällön valmiiseen pohjaan. Tällöin muutosten tekeminen on paljon helpompaa.
Mikäli tarkoitus on kuitenkin näyttää pelkästään lomakkeeseen kirjoitettu teksti sellaisenaan, ei erillistä skriptiä tarvita, mutta kannattaa käyttää muuta tiedostopäätettä kuin .php.
No siis kun käyttäjä syöttää tiedot se siis loisi uuden sivun, mutta eikö tämä siis ole mahdollista? vai pitäisikö se totauttaa tuolla .txt avulla? Ja mitenkä se sillä totautettaisiin?
On mahdollista, mutta tapauksesta riippuen ei ole järkevää. Millainen systeemistä tarkalleen ottaen tulisi? Joka tapauksessa tutustu PHP:n funktioihin uniqid ja file_put_contents kuten Metabolix sanoi.
Mikäli on tarkoitus sallia HTML- ja PHP-koodi sivulla, onnistuu sivun luonti vaikkapa näin:
$sivun_id = uniqid(); $sisalto = $_POST['sisalto']; file_put_contents("$sivun_id.html", $sisalto);
Oikeammin näin:
$sivun_id = uniqid(); $sisalto = $_POST['sisalto']; file_put_contents("{$sivun_id}.html", $sisalto);
Teuron koodissa ei ole mitään "oikeampaa", vaan se tekee täsmälleen saman asian ja on täsmälleen yhtä oikein kuin edellinenkin versio.
Joko selityksessä tai koodissa on kuitenkin pieni ajatusvirhe, nimittäin .html-päätteisessä tiedostossa olevaa PHP-koodia ei tietenkään yleensä ajeta, vaan PHP-koodin salliminen vaatisi .php-päätteisen tiedoston. Onni onnettomuudessa on, että mielivaltaisen PHP-koodin salliminen olisikin äärimmäisen typerää eikä yleensä ole järkevää sallia myöskään HTML-koodia, ellei kyseessä ole hyvin suojattu sivuston hallintapaneeli tai muu erittäin hallittu ympäristö.
Kohta luetaan taas ilttiksesta "hakkeroinnista" ja tietovuodoista...
Lisäys:
qeijo kirjoitti:
Kohta luetaan taas ilttiksesta "hakkeroinnista" ja tietovuodoista...
Hyvin sanottu.
Aihe on jo aika vanha, joten et voi enää vastata siihen.