Czy jest sposób, by nie tworzyć nowej podstrony a po kliknięciu w link wyświetlał się tekst napisany w notatniku ? Jeśli tak to proszę o porady w tym temacie. Chodzi o to, by nie tworzyć za każdym razem nowej strony.
Forum > Tematy dowolne > html - czytanie treści na stronie z pliku txt
Wysłane 2014-10-13 20:36
ajaxem (asynchronicznie w tle) możesz zaczytać treść pliku i następnie wyświetlić np. w DIV.
najprościej przy pomocy biblioteki jQuery lub podobnej.
Więcej info np.:
[LINK]
Wysłane 2014-10-13 23:04 , Edytowane 2014-10-13 23:06
Zupełnie ordynarne rozwiązanie - wrzuć pliki .txt na serwer i zrób do nich zwyczajnie linki <a href="plik1.txt" target="_blank">Plik 1</a>. Po kliknięciu otworzą się w nowym oknie (dzięki target="_blank").
Da się to oczywiście zrobić na milion sposóbów z czego pewnie większość lepiej od tego co proponuję wyżej, ale zakładam, że chodzi Ci po prostu o to, aby rozwiązac problem.
A tak btw - to od tłumaczenia masz translate.google.com (całe strony można wkleić) albo choćby Chrome ;)
Wysłane 2014-10-13 23:32 , Edytowane 2014-10-13 23:46
nawet pobieżna znajomość angielskiego się przydaje. Żeby zrozumieć przykłady wystarczy minimalna znajomość języka lub poświęcenia kilku minut na przyjrzenie się przykładom i spróbowanie ich.
Można też skorzystać z wyszukiwarki wpisując hasła odpowiednie np. jquery load. lub wcześniej podstawy jquery.
Zapewne są setki dokumentów po polsku, nie to co kilkanaście lat temu z przed ery google , gdzie brakowało info po polsku, choć altavista i inne wyszukiwarki też nie były złe :)
Jeśli nie masz żadnej wiedzy na temat HTML i Javascript proponuję zacząć od podstaw, np. kursu HTML Pawła Wimmera.
[LINK]
Później poszukać dobry kurs Javascript i CSS, po polsku też coś znajdziesz.
Następnie warto zabrać się za czytanie o jQuery :)
Oraz zainteresować się HTML 5.
Możesz też zerknąć na gotowy przykład: [LINK]
Aby przykład działał musisz:
1. Zrobić katalog pliki/
i w nim umieścić 1.htm i 2.htm (z jakąś treścią przykładową)
2. uruchamiać przykład przez serwer WWW (może być lokalny), a nie normalnie odpalać htm w przeglądarce.
Powodzenia
Wysłane 2014-10-14 12:10
@Luc
problem opisałeś mało precyzyjnie - nie wiadomo o co chodzi :).
Może nie chcesz tego robić w Javascript / ajax (bez przeładowania całej strony).
wtedy może zainteresuj się PHP. zakładając że masz katalog pliki/ w nim 0.txt, 1.txt 2.txt etc. (z treścią podstron)
(nazwy mogę nie być liczbowe, ale trzeba pamiętać o dodatkowym zabezpieczeniu skryptu).
robisz sobie plik (w katalogu wyżej) np. test.php i w nim
Tutaj normalny HTML strony.
A tu miejsce gdzie wstawiamy tresc z plikow na podstawie zmiennej w parametrze id=xxx
<?php
$id = (int) $_GET['id'];
// zakładam, że 100 podstron będziesz miał od 0 do 100, jak mniej zmniejsz wartość 100 na inną :)
if ($id < 0 OR $id > 100) $id = 0;
$plik = 'pliki/' . $id . '.txt';
// dodatkowo możesz sprawdzić czy plik do wstawienia istnieje.
if (file_exists($plik))
{
readfile($plik);
}
else
echo 'nie mogę wczytać pliku o ID: ' . $id;
?>
Dalsza część HTMLa strony
teraz tak plik test.php możesz wywoływać z parametrem ?id=XXX czyli
test.php?id=1
test.php?id=4
etc.
Dość prosto zmienić aby id mogło być tekstowe zamiast liczbowe. Jak doczytaj, poszukaj w sieci.
Nie ma tak łatwo ;]
Pamiętaj tylko o zabezpieczeniu np. usunięciu z $id ewentualnych .. , . , / oraz ewentualnie innych znaków specjalnych i samodzielnemu dodaniu rozszerzenia pliku (.txt) i wywaleniu 2-ch pierwszych linii z w/w kodu php
Powodzenia.
Wysłane 2014-10-15 10:10
Muszę się z tym zapoznać. Co do tego, że temat opisałem zbyt mało precyzyjnie to nie wiem co mam jeszcze napisać. Chodzi mi o to, że na przykład aby nie tworzyć nowych pod stron, po kliknięciu w link na stronie wyświetla się dany tekst, który jest zapisany w notatniku. Może opisze to na przykładzie piłki nożnej. Załużmy, że mam stronę o jedenastu piłkarzach danej drużyny. Zamiast tworzyć dla każdego piłkarza nową pod stronę, chcę aby po kliknięciu w link, tekst ładował się z pliku txt, na jednej stronie.
Ps. Dawno już się stronami nie zajmowałem, a robię swoją prywatną. Ponadto trafiłem na taki problem - mam poniższy kod
<a target="_blank" href="images\korsyka.jpg"><img src="images\korsyka.jpg" alt="Monte Cinto 2706 m npm" border="0" width="45%" height="45%" align="right"/></a>
na kompie (offline) wyświetla zdjęcie, a online już nie i jest tylko tekst Monte Cinto ... . Gdzie tkwi błąd ? Sprawdziłem rozszerzenie zdjęcia i jest ono *.jpg (nie jpeg, nie JPG - tylko jpg). Za moich dawnych czasów to był błąd, który po wrzuceniu strony na serwer powodował, że nie wyświetlały się zdjęcia, ale nie wiem o co chodzi teraz.
Wysłane 2014-10-15 11:14
@luc
To zrób to przez PHP podobnie jak opisałem i ładuj plik HTML/txt z opisem piłkarza na podstawie jego ID.
Później można też opis przerzucić do bazy danych, byłoby to wygodniejsze.
zmień w ścieżkach (href i src) \ na / duże i małe litery także mają znaczenie.
Może być też problem z uprawnieniami do pliku.
Jeśli masz Firefoxa (na Chromie jest podobne oprogramowanie) to zainstaluj sobie dodatek Firebug
[LINK]
Ten dodatek pozwala na wiele ciekawych rzeczy: inspekcję kodu html (także css, js), zmianę w locie (widać od razu jak się strona zmienia). Ale najważniejsze dla Ciebie to Konsola (np. pokaże Ci błąd 404 albo inny w tych plikach).
Pozdrawiam.
Kto jest online: 1 użytkowników, 256 gości
lami ,