Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

2 Stron V   1 2 >  
Reply to this topicStart new topic
> Tekst w <input > a zapis do pliku
marcin98721
post 16.12.2012, 18:04:10
Post #1





Grupa: Zarejestrowani
Postów: 14
Pomógł: 0
Dołączył: 16.12.2012

Ostrzeżenie: (0%)
-----


Witam
Czy istnieje możliwość aby wszystko to co wpisze użytkownik w pole input zapisywało się automatycznie do pliku? bez żadnego naciskania przycisku oczywiście.
Proszę o pomoc.
Pozdrawiam
Go to the top of the page
+Quote Post
Damonsson
post 16.12.2012, 18:12:28
Post #2





Grupa: Zarejestrowani
Postów: 2 355
Pomógł: 533
Dołączył: 15.01.2010
Skąd: Bydgoszcz

Ostrzeżenie: (0%)
-----


http://lmgtfy.com/?q=javascript+zdarzenia
http://lmgtfy.com/?q=php+zapis+do+pliku
Go to the top of the page
+Quote Post
marcin98721
post 16.12.2012, 18:20:11
Post #3





Grupa: Zarejestrowani
Postów: 14
Pomógł: 0
Dołączył: 16.12.2012

Ostrzeżenie: (0%)
-----


szukałem już w google, ale nie znalazłem dokładne tego samego o co proszę. a zapisywać do pliku w php wydaje mi się że potrafię, gorzej z javascript
Go to the top of the page
+Quote Post
kamil4u
post 16.12.2012, 18:33:30
Post #4





Grupa: Zarejestrowani
Postów: 2 350
Pomógł: 512
Dołączył: 4.01.2009
Skąd: Wrocław / Świdnica

Ostrzeżenie: (0%)
-----


Poczytaj o zdarzeniu onkeydown/onkeyup/onkeypress i/lub onchange i o AJAX. Teraz po każdym wciśnięciu przycisku wysyłasz żądanie przez AJAX na serwer, który zapisuje to co wysłałeś. Jeśli nie znasz JS to użyj jakieś biblioteki np. jQuery - tam obsługa AJAX-u jest naprawdę prosta.


--------------------
Go to the top of the page
+Quote Post
marcin98721
post 16.12.2012, 19:29:21
Post #5





Grupa: Zarejestrowani
Postów: 14
Pomógł: 0
Dołączył: 16.12.2012

Ostrzeżenie: (0%)
-----


wiem, że to mi się przyda http://api.jquery.com/blur/ ale niestety nie wiem jak to zaimplementować...
Go to the top of the page
+Quote Post
kamil4u
post 16.12.2012, 19:34:44
Post #6





Grupa: Zarejestrowani
Postów: 2 350
Pomógł: 512
Dołączył: 4.01.2009
Skąd: Wrocław / Świdnica

Ostrzeżenie: (0%)
-----


Napisałem Ci co Ci się przyda. Zadaj pytania związane z tym. I poczytaj o tym.


--------------------
Go to the top of the page
+Quote Post
marcin98721
post 16.12.2012, 20:00:40
Post #7





Grupa: Zarejestrowani
Postów: 14
Pomógł: 0
Dołączył: 16.12.2012

Ostrzeżenie: (0%)
-----


Wspomniałeś coś o jQuery a tam znalazłem właśnie tą funkcję blur();

A co do tego co podałeś to np: http://help.dottoro.com/ljlwfxum.php nie wiem jak to wykorzystać. Pierwszy przykład zwraca np kod Unicode danego znaku, co mi się chyba nie przyda...
Go to the top of the page
+Quote Post
kamil4u
post 16.12.2012, 20:11:57
Post #8





Grupa: Zarejestrowani
Postów: 2 350
Pomógł: 512
Dołączył: 4.01.2009
Skąd: Wrocław / Świdnica

Ostrzeżenie: (0%)
-----


Problem polega na tym, że czkasz na gotowca i nie chcesz o niczym poczytać, się czegoś nauczyć. No i teraz pytanie co z Tobą zrobić smile.gif

Dostaniesz gotowca, ale w formie pseudokodu. Twoim zadaniem będzie przepisanie tego na JS. Myślę, że to dobry kompromis.

Kod
Pobierz_element_o_ID('mojeID').przypisz_zdarzenie_change({ //$('#') , change
  Wyślij_zapytanie_metodąGet( 'TwójPlikPHP', {'zmienna': this.wartosc ); //get, val
});



W komentarzach funkcje, które masz użyć. W następnym poście oprócz ew. pytań , podaj kod jak przerobiłeś mój powyższy kod.
Pozdrawiam

Ten post edytował kamil4u 16.12.2012, 20:12:28


--------------------
Go to the top of the page
+Quote Post
marcin98721
post 16.12.2012, 20:48:07
Post #9





Grupa: Zarejestrowani
Postów: 14
Pomógł: 0
Dołączył: 16.12.2012

Ostrzeżenie: (0%)
-----


znalazłem coś innego. tyle tylko że tym razem zapisuje mi do konsoli javascript
  1. function send(pass){
  2. /* save serverside biggrin.gif */
  3. console.log("$$$: "+pass);
  4. }


i z tego co czytam to nie da się tego zapisać do pliku używając tylko samego javascript, ale do konsoli normalnie zapisuje w formie:
Cytat
$$$: p
$$$: ph
$$$: php

Czy może jestem w błędzie i da radę?

Cytat
Problem polega na tym, że czkasz na gotowca i nie chcesz o niczym poczytać, się czegoś nauczyć. No i teraz pytanie co z Tobą zrobić

Niestety muszę się z Tobą zgodzić, ale działam pod presją czasu, na jutro muszę mieć to zrobione więc nie mam za bardzo czasu na czytanie obszernych dokumentacji. :C
Go to the top of the page
+Quote Post
kamil4u
post 16.12.2012, 20:53:08
Post #10





Grupa: Zarejestrowani
Postów: 2 350
Pomógł: 512
Dołączył: 4.01.2009
Skąd: Wrocław / Świdnica

Ostrzeżenie: (0%)
-----


To zamiast szukać coś co Ci jest zupełnie niepotrzebne użyj swojego czasu na przeczytanie dokumentacji 4 funkcji.

Cytat
do pliku używając tylko samego javascript

Dlatego używasz AJAX, czyli metody GET, czyli prosić serwer, żeby uruchomił skrypt PHP, który już potrafi zapisywać dane. Skrypt PHP będzie wyglądał tak, że pod zmienną super globalną $_GET['zmienna'] będziesz miał to co podasz w JS.

Tak więc podsumowując: do roboty! smile.gif


--------------------
Go to the top of the page
+Quote Post
marcin98721
post 16.12.2012, 21:04:03
Post #11





Grupa: Zarejestrowani
Postów: 14
Pomógł: 0
Dołączył: 16.12.2012

Ostrzeżenie: (0%)
-----


  1. <input id="search" name="random" type="text" size="15" onChange="">
  2.  
  3. $('#random').przypisz_zdarzenie_change({ //$('#') , change
  4. $.get( 'plik.txt', {'zmienna': this.value); //get, val
  5. });
  6.  

Tyle wiem na dzień dzisiejszy
Go to the top of the page
+Quote Post
kamil4u
post 16.12.2012, 21:26:51
Post #12





Grupa: Zarejestrowani
Postów: 2 350
Pomógł: 512
Dołączył: 4.01.2009
Skąd: Wrocław / Świdnica

Ostrzeżenie: (0%)
-----


Źle:
- nie zgadza się id
- nic nie zrobiłeś z przypisz_zdarzenie_change
- masz odwołać się do pliku PHP, nie do txt
- musisz stworzyć plik PHP, który stworzy i zapisz Ci dane
- nie this.value tylko użyj metody .val(); -> to akurat nie jest błąd, ale zrób tak jak mówię
- JS umieszczamy w <script>

Popraw co Ci się uda i pokaż kod + stwórz plik PHP i go również podaj.


--------------------
Go to the top of the page
+Quote Post
marcin98721
post 16.12.2012, 21:41:19
Post #13





Grupa: Zarejestrowani
Postów: 14
Pomógł: 0
Dołączył: 16.12.2012

Ostrzeżenie: (0%)
-----


plik.php
  1. <?php
  2.  
  3. $dane = $_GET['search']; //nie wiem skąd mam brać te dane?!
  4.  
  5. $file = "dane.txt";
  6. $fp = fopen($file, "x");
  7. flock($fp, 2);
  8. fwrite($fp, $dane);
  9. flock($fp, 3);
  10. fclose($fp);
  11. ?>


Cytat
nie zgadza się id

To id wykorzystuję akurat w stylach css, no ale ok, jeśli to nie przeszkadza.

Cytat
JS umieszczamy w <script>

ojj śpieszyłem się, skoro jest to pseudokod to nie robi to różnicy wink.gif

index.html
  1. <input id="search" name="random" type="text" size="15" onChange="zdarzenie">
  2. .
  3. .
  4. .
  5. <script>
  6. $('#search').zdarzenie({
  7. $.get( 'plik.php', {'zmienna': this.val());
  8. </script>
  9. });


Ten post edytował marcin98721 16.12.2012, 21:42:02
Go to the top of the page
+Quote Post
kamil4u
post 16.12.2012, 21:49:01
Post #14





Grupa: Zarejestrowani
Postów: 2 350
Pomógł: 512
Dołączył: 4.01.2009
Skąd: Wrocław / Świdnica

Ostrzeżenie: (0%)
-----


-Spr. w dokumentacji co ma być zamiast "zdarzenie". Napisałem Ci co ma tam.
-
Cytat
$dane = $_GET['search']; //nie wiem skąd mam brać te dane?!

Właśnie po to jest AJAX i
Cytat
$.get( 'plik.php', {'zmienna': this.val());

- nie sprawdziłeś o co chodzi z val - zrób to w końcu, bo robi się to denerwujące. Marnujesz mój czas( i swój ) zamiast poświęcić 30s i sprawdzić jak ma być
- pseudokod to był mój, a nie Twój, więc tu wszystko robi różnicę
- nie zgadzają Ci się nawiasy {}


--------------------
Go to the top of the page
+Quote Post
marcin98721
post 16.12.2012, 22:02:11
Post #15





Grupa: Zarejestrowani
Postów: 14
Pomógł: 0
Dołączył: 16.12.2012

Ostrzeżenie: (0%)
-----


plik.php
  1. <?php
  2.  
  3. $dane = $_GET['zmienna']; //nie wiem skąd mam brać te dane?!
  4.  
  5. $file = "dane.txt";
  6. $fp = fopen($file, "x");
  7. flock($fp, 2);
  8. fwrite($fp, $dane);
  9. flock($fp, 3);
  10. fclose($fp);
  11. ?>


index.html
  1. <input id="search" name="random" type="text" size="15" onChange="change">
  2. .
  3. .
  4. .
  5. <script>
  6. $('#search').change({
  7. $.get( 'plik.php', {'zmienna': this.val());
  8. });</script>


Dalej nie wiem co z tym onChange. Dlatego strzelam. Pierwszy lepszy link z google https://www.ssbbartgroup.com/reference/inde...nChange_Opinion i nic tam nie ma.
Tak, wiem że to denerwujące.
Go to the top of the page
+Quote Post
kamil4u
post 16.12.2012, 22:15:03
Post #16





Grupa: Zarejestrowani
Postów: 2 350
Pomógł: 512
Dołączył: 4.01.2009
Skąd: Wrocław / Świdnica

Ostrzeżenie: (0%)
-----


- Usuń cały atrybut "onchange"
- wszystko czytaj tylko i wyłącznie stąd: http://api.jquery.com/ - przynajmniej na temat tego co robisz teraz
- co to za kropki? po co?
- nie zgadza się ilość { z }
- nadal nic nie zrobiłeś z val - otwórz w końcu dokumentację i zobacz jak ma być
- w PHP użyj: file_put_contents

Ten post edytował kamil4u 16.12.2012, 22:15:48


--------------------
Go to the top of the page
+Quote Post
marcin98721
post 16.12.2012, 22:25:54
Post #17





Grupa: Zarejestrowani
Postów: 14
Pomógł: 0
Dołączył: 16.12.2012

Ostrzeżenie: (0%)
-----


kropki oznaczają że coś tam jeszcze innego jest. ale po co mam wklejać cały mój plik index.html jak reszta nie dotyczy tematu wink.gif
  1. <input id="search" name="random" type="text" size="15">
  2.  
  3.  
  4.  
  5. <script>
  6. $('#search').change({
  7. $.get( 'plik.php', {'zmienna': this.val()});
  8. });</script>


plik.php
  1. <?php
  2.  
  3. $dane = $_GET['zmienna'];
  4. $file = "baza.txt";
  5. file_put_contents($file, $dane, FILE_APPEND);
  6. ?>


Czy teraz będzie działać?

PS. jeszcze jedno. Czy można to #search jakoś zastąpić i użyć np tej nazwy z "name" bo tak jak obstawiałem tak też się stało. Nie działa mi jeden element przez to. Bo ten input pojawia się w przeglądarce po naciśnięciu danego przycisku (ESC), po dodaniu tego kodu przestał się pojawiać...

Ten post edytował marcin98721 16.12.2012, 23:33:09
Go to the top of the page
+Quote Post
kamil4u
post 16.12.2012, 22:36:06
Post #18





Grupa: Zarejestrowani
Postów: 2 350
Pomógł: 512
Dołączył: 4.01.2009
Skąd: Wrocław / Świdnica

Ostrzeżenie: (0%)
-----


Sprawdź. Nie będzie. Przeczyta jeszcze raz moje posty i popraw to co tam napisałem. A pisałem o tym 3 razy!!


--------------------
Go to the top of the page
+Quote Post
marcin98721
post 16.12.2012, 22:45:52
Post #19





Grupa: Zarejestrowani
Postów: 14
Pomógł: 0
Dołączył: 16.12.2012

Ostrzeżenie: (0%)
-----


zapewne chodzi o val() ale na prawdę nie mam pojęcia co tam wstawić. czytałem i to http://api.jquery.com/val/ i jakieś przykłady z tego forum i nie wiem jaką wartość wstawić między te nawiasy...
Chyba sobie odpuszczę. Porwałem się na zbyt trudną rzecz dla mnie do zrobienia...

PS. jeszcze jedno. Czy można to #search jakoś zastąpić i użyć np tej nazwy z "name" bo tak jak obstawiałem tak też się stało. Nie działa mi jeden element przez to. Bo ten input pojawia się w przeglądarce po naciśnięciu danego przycisku (ESC), po dodaniu tego kodu przestał się pojawiać...

Ten post edytował marcin98721 16.12.2012, 22:46:47
Go to the top of the page
+Quote Post
kamil4u
post 16.12.2012, 22:52:13
Post #20





Grupa: Zarejestrowani
Postów: 2 350
Pomógł: 512
Dołączył: 4.01.2009
Skąd: Wrocław / Świdnica

Ostrzeżenie: (0%)
-----


Nie widzisz różnicy między:
Kod
$(this).val()

, a
Kod
this.val()
?

To może rzeczywiście sobie odpuść.

Id ma się zgadzać, czyli: <input id="search" name="random" type="text" size="15"> i $('#search').change({ ma być takie samo.


--------------------
Go to the top of the page
+Quote Post

2 Stron V   1 2 >
Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 13.06.2025 - 10:07