HTML-űrlap

HTML-űrlap
2007-07-08T18:21:52+02:00
2009-02-01T12:42:40+01:00
2022-10-24T16:25:39+02:00
Ultramanó
Üdvözlök mindenkit.

Újonnan elkezdtem a HTML-lel komolyabban foglalkozni, de az űrlapoknál megakadtam. Azt szeretném kérdezni, hogy milyen módon tudnám a bevitt adatokat egy, a szerveren található fájlba írni? Olvastam, hogy a "get" metódusnál scriptet kell alkalmazni, de sajnos ilyet nem tudok írni, se nem találtam.
2.:
<input type="file" name="feltolt">

Írtam egy ilyen sort, mely arra hivatott, hogy fájlt lehessen feltölteni a szerverre. Ezt miképp tudnám megtenni?
Ebben kérnék segítséget. Kösz előre.
Mutasd a teljes hozzászólást!
Uppsz. Egyel kevesebb lett a zárójel. Ez a helyes:

<html> <body> <form method="post"action="<? $_POST[PHP_SELF] ?>"> Név:<input type="text"name="your_name"></input><br> Hozzászólás:<textarea name="comment"></textarea><br> <input type="submit"value="Hosszászólás elküldése"> </form> </body> </html> <?php //POST if (isset ($_POST['your_name']) && isset($_POST['comment'])) $their_name = $_POST['your_name']; $their_comment = $_POST['comment']; //rögzítés kezdete $filename = "fajl.txt"; //Az állomány neve $somecontent = "<br>$their_name: $their_comment"; //Ezt írjuk a fájlba //Ha nem létezik a file, vagy 0 a mérete... if(!file_exists($filename) || filesize($filename) == 0) { $fa = fopen($filename, "w"); //Létrehozzuk vagy felülírjuk //különben } else { $fa = fopen($filename, "a"); //Hozzácsatolunk } //Megpróbálunk írni. Ha nem sikerül hibaüzenetet írunk ki. if (fwrite($fa, $somecontent) === FALSE) { echo "Nem tudtunk írni a ".$filename." állományba."; //A hibaüzenet exit; } fclose($fa); //Lezárjuk az állományt. print('Hozzászólás sikeres!') ?>

Nyitsz egy jegyzettömböt, belemásolod, elmented mondjuk akarmi.php néven, feltöltöd a szerverre, és http://akarmi.hu/akarmi.php

És ha ez megvan, megjelenik a form, lehet bele írni. Hogy meg is jelenjenek az üzenetek, az akarmi.php végére másold be ezt:

<? include('fajl.txt') ?>

Akkor működik jól, ha létrejön egy fajl.txt nevű fájl.
Mutasd a teljes hozzászólást!

  • <html> <body> <form method="post"action="<? $_POST[PHP_SELF] ?>"> Név:<input type="text"name="your_name"></input><br> Hozzászólás:<textarea name="comment"></textarea><br> <input type="submit"value="Hosszászólás elküldése"> </form> </body> </html> <?php //POST if (isset ($_POST['your_name']) && isset($_POST['comment']) $their_name = $_POST['your_name']; $their_comment = $_POST['comment']; //rögzítés kezdete $filename = "fajl.txt"; //Az állomány neve $somecontent = "<br>$their_name: $their_comment"; //Ezt írjuk a fájlba //Ha nem létezik a file, vagy 0 a mérete... if(!file_exists($filename) || filesize($filename) == 0) { $fa = fopen($filename, "w"); //Létrehozzuk vagy felülírjuk //különben } else { $fa = fopen($filename, "a"); //Hozzácsatolunk } //Megpróbálunk írni. Ha nem sikerül hibaüzenetet írunk ki. if (fwrite($fa, $somecontent) === FALSE) { echo "Nem tudtunk írni a ".$filename." állományba."; //A hibaüzenet exit; } fclose($fa); //Lezárjuk az állományt. print('Hozzászólás sikeres!') ?>

    Ez egy nagyon egyszerű üzenőfal, benne van, hogy hogyan tudsz rögzíteni fájlba űrlapból.

    Szerk: szerveren való ténykedéshez szerveroldali scriptek kellenek, mint pl. a PHP.
    Mutasd a teljes hozzászólást!
  • Ha jól értem akkor szeretnél file-t is feltölteni. Ehhez a <form>-on belül meg kell adni még az enctype-ot is, méghozzá így enctype="multipart/form-data". Ilyenkor a feltöltött file, a $_FILES-ba kerül. Ja és természetesen a methodnál, "post"-ot megadva nem a $_GET-ben kell keresni a cuccokat, de ez a scriptből látszik is.
    Mutasd a teljes hozzászólást!
  • Köszönöm szépen, el is kezdtem, feltöltöttem a szerverre, de nem működik... PHP-hoz nem értek, ezért kérlek, pontról-pontra írd le, milyen lépéseket csináljak?
    Mutasd a teljes hozzászólást!
  • Uppsz. Egyel kevesebb lett a zárójel. Ez a helyes:

    <html> <body> <form method="post"action="<? $_POST[PHP_SELF] ?>"> Név:<input type="text"name="your_name"></input><br> Hozzászólás:<textarea name="comment"></textarea><br> <input type="submit"value="Hosszászólás elküldése"> </form> </body> </html> <?php //POST if (isset ($_POST['your_name']) && isset($_POST['comment'])) $their_name = $_POST['your_name']; $their_comment = $_POST['comment']; //rögzítés kezdete $filename = "fajl.txt"; //Az állomány neve $somecontent = "<br>$their_name: $their_comment"; //Ezt írjuk a fájlba //Ha nem létezik a file, vagy 0 a mérete... if(!file_exists($filename) || filesize($filename) == 0) { $fa = fopen($filename, "w"); //Létrehozzuk vagy felülírjuk //különben } else { $fa = fopen($filename, "a"); //Hozzácsatolunk } //Megpróbálunk írni. Ha nem sikerül hibaüzenetet írunk ki. if (fwrite($fa, $somecontent) === FALSE) { echo "Nem tudtunk írni a ".$filename." állományba."; //A hibaüzenet exit; } fclose($fa); //Lezárjuk az állományt. print('Hozzászólás sikeres!') ?>

    Nyitsz egy jegyzettömböt, belemásolod, elmented mondjuk akarmi.php néven, feltöltöd a szerverre, és http://akarmi.hu/akarmi.php

    És ha ez megvan, megjelenik a form, lehet bele írni. Hogy meg is jelenjenek az üzenetek, az akarmi.php végére másold be ezt:

    <? include('fajl.txt') ?>

    Akkor működik jól, ha létrejön egy fajl.txt nevű fájl.
    Mutasd a teljes hozzászólást!
  • Köszönöm szépen, úgy tűnik ez menni fog.
    Azt meg lehet oldani, hogy miután elküldtem egy hozzászólást, az oldal újratöltése után ne küldje el újra ugyanazt a hozzászólást? Vagy ez a böngésző hibája?
    Mutasd a teljes hozzászólást!
  • Ha frissítesz, akkor újraküldi. A jobb böngészők figyelmeztetnek is rá.
    A feltöltéssel kapcsolatban meg én nem tudok segíteni.
    Mutasd a teljes hozzászólást!
  • Köszönöm a segítséget. Ment az 50 pont.
    Mutasd a teljes hozzászólást!
  • Köszi a pontot!

    A peltöltésre meg egy kész scriptet tudok javasolni, ami ezen az oldalon található: LINK. Programok>PHP>Fájlkezelés>Simple uploader. Tanulmányozd!
    Mutasd a teljes hozzászólást!
  • Hello olyan kérdésem lenne, hogy nem találom, hogy hogyan kerül a fájlba az elválasztó kettőspont.
    Le szeretném cserélni egy egyenes vonallal.
    Előre is köszi
    Mutasd a teljes hozzászólást!
  • Oké megvan a probléma. Egy if-et kellett berakni a fájlírás elé!
    Mutasd a teljes hozzászólást!
Tetszett amit olvastál? Szeretnél a jövőben is értesülni a hasonló érdekességekről?
abcd