Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Wykonywanie skryptu co jakiś czas.
ratosluaf
post 26.01.2013, 23:00:08
Post #1





Grupa: Zarejestrowani
Postów: 91
Pomógł: 4
Dołączył: 14.10.2012

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


Cześć, chciałbym zrobić skrypt, który zapisuje dane do bazy danych, albo pliku (co lepsze dla malutkiej ilości danych). Rozumiem, że mam to zrobić w cronie.
Co zrobić, aby użytkownik przypadkiem natrafiając na ten skrypt nie mógł go otworzyć? Czy to możliwe?

W drugim pliku php mam pobrać te dane z bazy danych / pliku, tak?

Albo jak zrobić to tak, że mam zewnętrzny hosting bez crona, a na moim pobieram co 5 minut zawartość (file_get_contents) i zapisuję go?

Ten post edytował ratosluaf 26.01.2013, 23:04:26
Go to the top of the page
+Quote Post
pedro84
post 26.01.2013, 23:08:47
Post #2





Grupa: Nieautoryzowani
Postów: 2 249
Pomógł: 305
Dołączył: 2.10.2006

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


Cytat(ratosluaf @ 26.01.2013, 23:00:08 ) *
Cześć, chciałbym zrobić skrypt, który zapisuje dane do bazy danych, albo pliku (co lepsze dla malutkiej ilości danych). Rozumiem, że mam to zrobić w cronie.
Co zrobić, aby użytkownik przypadkiem natrafiając na ten skrypt nie mógł go otworzyć? Czy to możliwe?

Umieścić go nad katalogiem dostępnym z poziomu www.

Cytat(ratosluaf @ 26.01.2013, 23:00:08 ) *
W drugim pliku php mam pobrać te dane z bazy danych / pliku, tak?

Jakim drugim pliku?

Cytat(ratosluaf @ 26.01.2013, 23:00:08 ) *
Albo jak zrobić to tak, że mam zewnętrzny hosting bez crona, a na moim pobieram co 5 minut zawartość (file_get_contents) i zapisuję go?

Nie rozumiem o co Ci chodzi.


--------------------
Google knows the answer...
Go to the top of the page
+Quote Post
ratosluaf
post 26.01.2013, 23:34:23
Post #3





Grupa: Zarejestrowani
Postów: 91
Pomógł: 4
Dołączył: 14.10.2012

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


Więc chodzi mi o to, że mam dwa hostingi, oddzielne. Na jednym mam skrypt, na drugim mam forum - na serwerze z forum nie mogę postawić skryptu, gdyż mam zablokowane porty. Na serwerze ze skryptem nie mam crona.

Więc chciałem na serwerze zrobić skrypt, który pobierał by zawartości kilku plików, i wrzucał je do mysql. A w drugim skrypcie pobierałbym te wartości i wypluwał na forum.
Go to the top of the page
+Quote Post
pedro84
post 26.01.2013, 23:42:52
Post #4





Grupa: Nieautoryzowani
Postów: 2 249
Pomógł: 305
Dołączył: 2.10.2006

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


Cytat(ratosluaf @ 26.01.2013, 23:34:23 ) *
Więc chodzi mi o to, że mam dwa hostingi, oddzielne. Na jednym mam skrypt, na drugim mam forum - na serwerze z forum nie mogę postawić skryptu, gdyż mam zablokowane porty. Na serwerze ze skryptem nie mam crona.

Więc chciałem na serwerze zrobić skrypt, który pobierał by zawartości kilku plików, i wrzucał je do mysql. A w drugim skrypcie pobierałbym te wartości i wypluwał na forum.

I z czym masz problem, bo dalej nie łapię? Sensowne rozwiązanie, aczkolwiek sensowniejsze byłoby zmienienie hostingu na taki, co takie podstawy jak CRON daje wink.gif


--------------------
Google knows the answer...
Go to the top of the page
+Quote Post
aras785
post 26.01.2013, 23:43:05
Post #5





Grupa: Zarejestrowani
Postów: 859
Pomógł: 177
Dołączył: 29.10.2009

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


Jeśli dobrze Cię rozumiem to robisz tak:
FORUM
ustawiasz cron co 5minut na skrypt na drugim serwrze (a w cron.php sprawdzasz skad pochodzi lub jakis klucz uzyj by pozwolic na uruchomienie)



SKRYPT

cron.php -> ten skrypt pobiera coś co 5 minut i zapisuje do zapisane.txt, później wysyła curl_post do pliku na forum, który nazywał by się odbierz.php (podczas przesyłania sprawdzić czy skąd pochodzi post i wtedy zapisujesz na serwerze gdzie masz forum)
Go to the top of the page
+Quote Post
ratosluaf
post 27.01.2013, 00:04:33
Post #6





Grupa: Zarejestrowani
Postów: 91
Pomógł: 4
Dołączył: 14.10.2012

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


Można bardziej łopatologicznie?
Ustawiam crona na http://moja.strona/skrypt.php
Skrypt pobiera dane z serwera gry (liczbę graczy, czas grania, itd - to już jest).
Skrypt zapisuje te dane do bazy danych

Ja z forum pobieram te dane za pomocą nowego skryptu i wstawiam je w odpowiednie miejsca w kodzie tak?

O co chodzi z curl_post?
Wytłumacz mi proszę, o co biega w tym zdaniu:
Cytat
(a w cron.php sprawdzasz skad pochodzi lub jakis klucz uzyj by pozwolic na uruchomienie)
Go to the top of the page
+Quote Post
aras785
post 27.01.2013, 00:07:29
Post #7





Grupa: Zarejestrowani
Postów: 859
Pomógł: 177
Dołączył: 29.10.2009

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


Dałem przykład. Jeśli możesz się łączyć zdalnie do swojej bazy mysql (forum) to od razu zapisuj po pobraniu i tyle roboty.
Go to the top of the page
+Quote Post
ratosluaf
post 27.01.2013, 00:55:22
Post #8





Grupa: Zarejestrowani
Postów: 91
Pomógł: 4
Dołączył: 14.10.2012

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


Wyskrobałem coś takiego:
  1. <?php
  2. $mysqli = new mysqli("host", "user", "haselko", "baza");
  3. if ($mysqli->connect_errno) {
  4. echo "Failed to connect to MySQL: (" . $mysqli->connect_errno . ") " . $mysqli->connect_error;
  5. die;
  6. }
  7. $sidebar = file_get_contents("http://rxxl/asd.php");
  8. $gracze = file_get_contents("http://rxxl/gracze.php");
  9. $hostname = file_get_contents("http://rxxl/hostname.php");
  10.  
  11. $query = "INSERT INTO tabela_serwerow VALUES (".$sidebar.", ".$gracze.", ".$hostname.")";
  12.  
  13. mysqli_query($con, $query);
  14. ?>


Co tu jest źle?
Go to the top of the page
+Quote Post
kristaps
post 27.01.2013, 01:30:46
Post #9





Grupa: Zarejestrowani
Postów: 279
Pomógł: 36
Dołączył: 1.03.2012

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


Co w ogóle zwraca $sidebar, $gracze, itd?
Cytat
Co tu jest źle?

Łatwiej będzie jeśli przetestujesz skrypt i podasz jaki występuje błąd.
Go to the top of the page
+Quote Post
ratosluaf
post 27.01.2013, 01:47:49
Post #10





Grupa: Zarejestrowani
Postów: 91
Pomógł: 4
Dołączył: 14.10.2012

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


  1. <?php
  2. $con = mysql_connect("localhost","xx","xx");
  3. mysql_select_db("xx", $con);
  4.  
  5.  
  6. $sidebar = file_get_contents("http://ratosluaf.website.pl/asd.php");
  7. $gracze = file_get_contents("http://ratosluaf.website.pl/gracze.php");
  8. $hostname = file_get_contents("http://ratosluaf.website.pl/hostname.php");
  9.  
  10.  
  11. $sql = "INSERT INTO tabela_serwerow (sidebar, gracze, nazwa) VALUES (".$sidebar.",".$gracze.",".$hostname.")";
  12. $result = mysql_query($sql);
  13.  
  14. if($result){
  15. echo("<br>Input data is succeed");
  16. } else{
  17. echo("<br>Input data is fail");
  18. }
  19.  
  20. ?>

Trochę zmodyfikowałem.
Co zwracają? Kod html. Gdy zamiast zmiennych dam "asd" - dane wchodzą do bazy.
Znalazłem błąd, leżał w niejednoznacznym użyciu cudzysłowiów pojedyńczych i podwójnych.

Ten post edytował ratosluaf 27.01.2013, 01:58:20
Go to the top of the page
+Quote Post
kristaps
post 27.01.2013, 01:51:13
Post #11





Grupa: Zarejestrowani
Postów: 279
Pomógł: 36
Dołączył: 1.03.2012

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


Bo pewnie nie chcesz wrzucać całego kodu html do rekordu. smile.gif
Go to the top of the page
+Quote Post
ratosluaf
post 27.01.2013, 02:15:11
Post #12





Grupa: Zarejestrowani
Postów: 91
Pomógł: 4
Dołączył: 14.10.2012

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


Jednak nadal jest problem. Gdy pobieram listę graczy - wystarczy, że gracz będzie miał w nicku " ' " lub " " ", wtedy wszystko przestaje działać. Jak można temu przeciwdziałać?
Go to the top of the page
+Quote Post
kristaps
post 27.01.2013, 02:25:46
Post #13





Grupa: Zarejestrowani
Postów: 279
Pomógł: 36
Dołączył: 1.03.2012

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


Apostrof, cudzysłów, itd. to znaki specjalne, trzeba je escapować. Zainteresuj się mysql_real_escape_string i stripslashes.
Go to the top of the page
+Quote Post
ratosluaf
post 27.01.2013, 14:02:14
Post #14





Grupa: Zarejestrowani
Postów: 91
Pomógł: 4
Dołączył: 14.10.2012

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


Przyuważyłem jeszcze jeden błąd.
Jeżeli gracz ma nick "/nick", to pokazuje samo "/", w mysql jest jeszcze "/nick"
Go to the top of the page
+Quote Post

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: 10.05.2024 - 07:42