Kirjautuminen

Haku

Tehtävät

Keskustelu: Koodit: PHP: Kommentointi

Khaida [07.01.2006 17:00:19]

#

1. Kopioi "laheta.php" koodi, tallenna se siis nimellä laheta.php
2. Kopioi "lomake.html" koodi, tallenna se siis nimellä lomake.html
3. Luo tiedosto nimeltä tiedosto.txt, anna oikeudet 664, jos ei riitä, anna 666.
4. Kun olet nuo tehnyt, includaa koodi seuraavasti:

<?php
include("tiedosto.txt");
include("lomake.html");
?>

laheta.php

<?php
ob_start();

// Tarkistetaan onko kaikki tiedot annettu
if(!isset($_GET['tiedosto']) || !isset($_GET['nimi']) || !isset($_GET['kommentti']) || !isset($_GET['takaisin'])) die("Et ole antanut tarpeellisia tietoja");

        // Jos komentti on tyhjä annetaan virheilmoitus.
        if( empty($kommentti) ) die("Et antanut kommenttia.");

        // Jos nimi on tyhjä annetaan virheilmoitus.
        if( empty($nimi) ) die("Et antanut nimeä.");
    $file = $_GET['tiedosto'];
    $nimi = $_GET['nimi'];
    $kommentti = $_GET['kommentti'];

    // Otetaan pois vaaralliset tagit.
    $kommentti = stripslashes($kommentti); $nimi = stripslashes($nimi); $kommentti = htmlspecialchars($kommentti); $nimi = htmlspecialchars($nimi);

    // Jos tiedostoa ei ole annetaan virheilmoitus
    if(!file_exists($tiedosto)) die("Virhe, ota yhteyttä ylläpitäjään.");

    // Muodostetaan yhteys.
    $yhteys = fopen($file, "a");
    // Rivi joka kirjoitetaan tiedostoon.

    $rivi = "<b>Nimi:</b> $nimi <br /> <b>Kommentti:</b> $kommentti<br /><br />";

    // Kirjoitetaan...
    fwrite($yhteys, "$rivi\r\n");

    // Ja suljetaan
    fclose($yhteys);

    // Ohjataan käyttäjä katsomaan kommentteja...
        header("Location: ../index.php?sivu=sivut/kommentoi");

    ob_end_flush();
?>

lomake.html

<form action="laheta.php" method="get">
    <input type="hidden" name="tiedosto" value="tiedosto.txt" />
    <input type="hidden" name="takaisin" value="tiedosto.txt" />
Nimi:<br>
    <input type="text" name="nimi" /><br><br>

Palaute:<br>
    <textarea cols="15" rows="3" name="kommentti"></textarea><br><br>
    <input type="submit" value="Lähetä" />
</form>

Vastaus

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

Tietoa sivustosta