Papub
25.01.2007, 22:46:06
Jak zrobić to co zamieściłem w temacie. Bo przecież kod <input type button .... to jest w htmlu.
Odczytać z pliku dane umię tylko się głowie jak zrobić żeby po naciśnięciu buttona dane wyskakiwały NA TEJ SAMAEJ STRONIE bez przeładowania.
Cienki1980
25.01.2007, 22:54:39
Umieść dane w ukrytym div'ie i po klknięciu na button pokaż div'a ( czyli zmień jego display=none na display=inline ).
Papub
25.01.2007, 23:15:48
No zrobiłem tego diva
echo '<div id="ukryty" style="display: none">';
póżniej dałem to:
echo '<input type=button value=Wczytaj onClick="document.getElementById('ukryty').style.display='inline';">';
i otrzymałem to:
Parse error: syntax error, unexpected T_STRING, expecting ',' or ';' in mojastrona.php on line 65
Cienki1980
26.01.2007, 08:24:41
Mimo, że nie podświetliłeś składni ( BBCode ) to strzelam, że masz problem z apostrofami i cudzysłowami.
Powinno coś takiego być:
<?php
echo "<div id="ukryty
" style="display
: none
">tresc ukrytego diva</div>";
echo "<input type="button
" value="Wczytaj
" onClick="document
.getElementById
('ukryty').style
.display
='inline';">"; ?>
Papub
26.01.2007, 13:30:53
Cały problem polega na tym że chce zrobić aby zawartosć pliku dane.txt załadowała się <textarea>; tresc</textarea>;
i w miejsce tresc dałem skrypt php
<?php
$fp = fopen("dane.txt", "r"); $tekst = fread($fp, 1000
); ?>
tylko nie moge tu dać elementu z htmla z tym niewidocznym divem bo traktuje to jako zwykły tekst który wyświetlany jest w textarea a nie jakieś komendy które mają coś na celu
Cienki1980
26.01.2007, 13:44:42
Ja chyba czegoś nie rozumiem ... chcesz wyświetlić w polu textarea zawartość pliku textowego odczytywanego przez php tak

Jeżeli tak to w czym masz problem

Można to zrobić w sposób jak pokazałem, bez większych problemów...
No chyba że chodzi o coś innego.
PS. Zacznij w końcu korzystać z BBCode.
Papub
26.01.2007, 13:56:30
Patrz jak robie tak
<?php
?>
w tym momencie wyświetli słowo tresc w tym polu
a jak zrobie tak
<?php
echo '<div id="ukryty" style="display: none">'; $fp = fopen("dane.txt", "r"); $tekst = fread($fp, 1000
); ?>
to teog diva czyta mi jak zwykły tekst. Nie czeka az wcisne wczytaj żeby załadowało te dane z zpliku tylko od razu ładuje i to jeszcze oprócz wczytango tekstu pojawia się przed tym
<?php
<div id="ukryty" style="display: none">wczytany tekst</div>
?>
Cienki1980
26.01.2007, 13:59:32
No takie założenie było ( przynajmniej z mojej strony ), że DIV jest już wypełniony treścią, tylko jest ukryty, w momencie jak klikasz na button to DIV się pokazuje.
Jeżeli chcesz, żeby tekst nie był wcześniej wogole widoczny, musisz zrobic to przez przeładowanie strony, lub korzystając z AJAX'a. W momencie przeładowania strony, odczytujesz plik i jego zawartość wyświetlasz w textarea.
nospor
26.01.2007, 14:01:40
@Cienki1980 zalozenie miales byc moze sluszne, ale zobacz jak on zrobil: on wklada diva do textarea, a nie na odwrot

(pomijam juz totalna sieczke w znacznikach zamykajacych oraz ich brak)
ps: pozatym skoro mamy juz textarea, to mozna olac diva i operacja pokazywanie/ukrywanie robic bezposrednio na textarea
ps2: sorki za wciecie, kontynuujcie
Cienki1980
26.01.2007, 14:07:06
@nospor : racja

ja spojrzałem na pierwszy kawałek kodu bez znaczników i nie przeglądałem dalej .. myślałem że aż tak źle nie bedzie.
@Papub : mam wrażenie jednak, że chodzi Ci o coś innego niż tylko ukrycie textarea .. to textarea ma być cały czas widoczne, ale dopiero po kliknięciu ma się wypełnić treścią.
Możesz to zrobić na 3 sposoby:
- przeładowanie strony
- AJAX
- lub JS przypisując zawartość pliku do zmiennej JS, po kliknięciu buttona przypisać wartość tej zmiennej do wartości textarea.
Papub
26.01.2007, 14:30:25
Dokładnie o to mi chodzi mam pole textarea i trzy buttony zapisz, reset i wczytaj. Jak coś napisze w polu i zrobie zapisz zapisuje mi do pliku z atybutem W czyli zawsze jak coś napisze to poprzednie skasuje. A plik wczytaj ma ładować treść z pliku do pola. Nawet myślałem żeby zrobić nastęne pole textarea na następnej stronie i po naciśnięciu buttonu wczytaj tylko by sie poleciało do tej nastęnej strony, tylko u mnie ten 1 textarea pojawia się gdy wpisze dobrze login i hasło. Gorzej jest jak ktoś w przęglądarce wpisze odrazu link do do tego 2 textarea wpisze sobie coś wyśle mi do pliku. Przecież na tej 2 stronie znowu nie będe robił 2 logowania. Bym musiał mieć skrypcik który by sprawdzał czy na poprzedniej stronie był zalogowany jak nie to wypad
Cienki1980
26.01.2007, 15:03:44
Logowanie i sprawdzanie czy użytkownik jest zalogowany to osobna kwestia nie raz nie dwa poruszana na forum.
Skoro masz takie założenia i nie chcesz robić w AJAXie .. to albo przeładowanie strony, albo za pomocą JS.
Jeżeli zawartość pliku jest duża to lepiej zrobić to poprzez przeładowanie strony.
Podpinasz pod buttona akcje zatwierdzającą formę jednocześnie ustawiając wartość jakiegoś pola hidden.
W php sprawdzasz wartość tego pola, jeżeli jest odpowiednie to otwierasz plik a zawartość wyświetlasz w textarea.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę
kliknij tutaj.