Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [php] Wykonywanie skryptu o określonej dacie-pomocy.
miccom
post 8.02.2008, 16:52:13
Post #1





Grupa: Zarejestrowani
Postów: 493
Pomógł: 8
Dołączył: 7.07.2007
Skąd: Tychy

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


Witam.
Mam pytanie. Czy jest możliwość aby skrypt php a w nim zapytania sgl wykonywały się o określonej dacie?
Chodzi mi o to, aby skrypt wykonywał sie cyklicznie codziennie o określonej porze.
Sprawdzał warunek if{}, i jeśli warunek jest spełniony- to wykonuje się z góry określone zadanie?
Tylko proszę mnie nie odsyłać do manuala bo jeszcze nic tam nie znalazłem;/

Z góry dziękuję za podpowiedzi. Pozdrawiam. miccom


--------------------
Jeśli pomogłem- kliknij POMÓGŁ-przyda się ;)- jeśli piszę bzdury- pisz pod postami. Poprawię się.
PISZĘ POPRAWNIE PO POLSKU!
Go to the top of the page
+Quote Post
nowotny
post 8.02.2008, 16:55:08
Post #2





Grupa: Zarejestrowani
Postów: 875
Pomógł: 122
Dołączył: 2.02.2008

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


Do tego musisz mieć serwer z obsługą crona i dodać dany skrypt do niego...

EWENTUALNIE, (i to takie duuuże "ewentualnie" ;D) możesz dodać odpowiednie wpisy do strony głównej... ale jak nikt tego dnia nie wejdzie na stronę główną to skrypt się nie wykona...
Go to the top of the page
+Quote Post
miccom
post 8.02.2008, 17:58:17
Post #3





Grupa: Zarejestrowani
Postów: 493
Pomógł: 8
Dołączył: 7.07.2007
Skąd: Tychy

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


No tak. Mam crona, ale jak ma wyglądać skrypt? Zwykły php? CZy jakis inny ...


--------------------
Jeśli pomogłem- kliknij POMÓGŁ-przyda się ;)- jeśli piszę bzdury- pisz pod postami. Poprawię się.
PISZĘ POPRAWNIE PO POLSKU!
Go to the top of the page
+Quote Post
webdice
post 8.02.2008, 19:14:42
Post #4


Developer


Grupa: Moderatorzy
Postów: 3 045
Pomógł: 290
Dołączył: 20.01.2007




Widzę że nie bardzo wiesz co to cron, więc poczytaj sobie to i to.
Go to the top of the page
+Quote Post
miccom
post 9.02.2008, 07:37:25
Post #5





Grupa: Zarejestrowani
Postów: 493
Pomógł: 8
Dołączył: 7.07.2007
Skąd: Tychy

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


A możesz mi odpowiedzieć na takie pytanie:
Mam webowy interfejs crontab, gdzie ustalam czas wykonania zadania, miejsce edycji do wpisania komendy do uruchomienia, i miejsce z adresem e-mail na który będą wysyłane wyniki wykonanego zadania. I nic więcej. Nie mam na serwerze pliku crona do edycji gdzie mógłbym dodać odpowiedni kod. Czy w miejscu na podanie zadania do wykonania mogę podać ścieżkę do skryptu php?


--------------------
Jeśli pomogłem- kliknij POMÓGŁ-przyda się ;)- jeśli piszę bzdury- pisz pod postami. Poprawię się.
PISZĘ POPRAWNIE PO POLSKU!
Go to the top of the page
+Quote Post
qrees
post 9.02.2008, 10:25:16
Post #6





Grupa: Zarejestrowani
Postów: 275
Pomógł: 44
Dołączył: 23.11.2007

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


Cytat(miccom @ 9.02.2008, 07:37:25 ) *
A możesz mi odpowiedzieć na takie pytanie:
Mam webowy interfejs crontab, gdzie ustalam czas wykonania zadania, miejsce edycji do wpisania komendy do uruchomienia, i miejsce z adresem e-mail na który będą wysyłane wyniki wykonanego zadania. I nic więcej. Nie mam na serwerze pliku crona do edycji gdzie mógłbym dodać odpowiedni kod. Czy w miejscu na podanie zadania do wykonania mogę podać ścieżkę do skryptu php?

jako komendę do wykonania podaj:
Kod
php ścieżka/do/skryptu

Czyli na początku musisz podać php (albo php-cgi jeżeli samo php nie działa).
Go to the top of the page
+Quote Post
Virti
post 9.02.2008, 10:45:39
Post #7





Grupa: Zarejestrowani
Postów: 115
Pomógł: 12
Dołączył: 11.01.2005
Skąd: Zduńska Wola

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


ew. spróbuj
Kod
wget ścieżka/do/skryptu
Go to the top of the page
+Quote Post
qrees
post 9.02.2008, 11:34:14
Post #8





Grupa: Zarejestrowani
Postów: 275
Pomógł: 44
Dołączył: 23.11.2007

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


Cytat(Virti @ 9.02.2008, 10:45:39 ) *
ew. spróbuj
Kod
wget ścieżka/do/skryptu


Jak wget to powinno być:
Kod
wget http://strona.pl/adres.php

Czyli po wget po prostu podajesz cały adres tak samo jak w przeglądarce.
Go to the top of the page
+Quote Post
Virti
post 9.02.2008, 11:38:48
Post #9





Grupa: Zarejestrowani
Postów: 115
Pomógł: 12
Dołączył: 11.01.2005
Skąd: Zduńska Wola

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


A faktycznie, sorki, małe przeoczenie winksmiley.jpg
Go to the top of the page
+Quote Post
.radex
post 9.02.2008, 11:57:34
Post #10





Grupa: Zarejestrowani
Postów: 1 657
Pomógł: 125
Dołączył: 29.04.2006

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


tylko nie zapomnij o jakimś zabezpieczeniu, np. ustalonego kodu w GET, for example:

Kod
wget http://strona.pl/adres.php?code=LoremIpsum


--------------------
blog | Tadam — minutnik do Pomodoro na Maka :)
Go to the top of the page
+Quote Post
miccom
post 9.02.2008, 12:37:20
Post #11





Grupa: Zarejestrowani
Postów: 493
Pomógł: 8
Dołączył: 7.07.2007
Skąd: Tychy

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


Cytat(radex_p @ 9.02.2008, 11:57:34 ) *
tylko nie zapomnij o jakimś zabezpieczeniu, np. ustalonego kodu w GET, for example:

Kod
wget http://strona.pl/adres.php?code=LoremIpsum

A po polsku można winksmiley.jpgquestionmark.gif Ja nie jestem orzeł jeśli chodzi o "to" o czym mówicie. biggrin.gif


--------------------
Jeśli pomogłem- kliknij POMÓGŁ-przyda się ;)- jeśli piszę bzdury- pisz pod postami. Poprawię się.
PISZĘ POPRAWNIE PO POLSKU!
Go to the top of the page
+Quote Post
qrees
post 9.02.2008, 13:02:47
Post #12





Grupa: Zarejestrowani
Postów: 275
Pomógł: 44
Dołączył: 23.11.2007

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


A w ogóle masz zrobiony ten skrypt co ma się wykonywać? jak tak, to zapamiętaj pod jakim adresem jest, a następnie w miejscu gdzie masz wpisać polecenie crona wpisz:
Kod
wget zapamiętany_adres

I tyle. A jak GET'a nie rozumiesz, to proponuje się zapoznać z czymś takim jak manual do php: http://php.net (bardzo przydatny winksmiley.jpg ).
Go to the top of the page
+Quote Post
miccom
post 9.02.2008, 23:57:14
Post #13





Grupa: Zarejestrowani
Postów: 493
Pomógł: 8
Dołączył: 7.07.2007
Skąd: Tychy

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


Cytat(qrees @ 9.02.2008, 13:02:47 ) *
A w ogóle masz zrobiony ten skrypt co ma się wykonywać? jak tak, to zapamiętaj pod jakim adresem jest, a następnie w miejscu gdzie masz wpisać polecenie crona wpisz:
Kod
wget zapamiętany_adres

I tyle. A jak GET'a nie rozumiesz, to proponuje się zapoznać z czymś takim jak manual do php: http://php.net (bardzo przydatny winksmiley.jpg ).

Ale mądrala jesteś? Chcesz pomóc czy się pośmiać??
Mój skrypt do wykonania wygląda tak:
  1. <? include('config.php');
  2. $data= date ('w'); // dzien tygodnia liczbowo
  3. $rok= date ('Y'); // rok
  4. $dzien= date('d');// dni
  5. $miech = date ('n'); // miesiac
  6. $miesiac = array(
  7. 01 => 'Styczeń',
  8. 02 => 'Luty',
  9. 03 => 'Marzec',
  10. 04 => 'Kwiecień',
  11. 05 => 'Maj',
  12. 06 => 'Czerwiec',
  13. 07 => 'Lipiec',
  14. 08 => 'Sierpień',
  15. 09 => 'Wrzesień',
  16. 10 => 'Październik',
  17. 11 => 'Listopad',
  18. 12 => 'Grudzień');
  19.  
  20.  
  21. $date=''.$rok.'-'.$miesiac[$miech].'-'.$dzien.'';
  22. $kod= md5(uniqid(rand()));
  23. $zapytanie = "select * from `rezerwacja` where `data`='$date'";
  24.  
  25. $wykonaj = mysql_query($zapytanie);
  26. while($wiersz=mysql_fetch_row($wykonaj))
  27. {
  28. $username = $wiersz['username'];
  29. $e  = $wiersz['login goscia'];
  30. $status  = $wiersz['status'];
  31. }
  32.  
  33. if($status == 'tak') {
  34.  
  35. $sql="INSERT INTO komentarze (`kod`) VALUES('$kod') WHERE `username`='$username'";
  36. $result1=mysql_query($sql);
  37. }
  38.  
  39. // jesli dodane do tabeli komentarze- wysyłamy e-mail
  40. if($result1){
  41.  
  42. // ---------------- Formularz wysyłania e-mail ----------------
  43.  
  44. // adresat
  45. $to=$e;
  46.  
  47. // Temat
  48. $subject="Dodaj pozytyw firmie z Naszej bazy! ";
  49.  
  50. // Od kogo
  51. $header="from: Administrator bazy <mój e-mail>";
  52.  
  53. // Wiadomość
  54. $message="Witaj ! r\n";
  55. $message.="tralalalla.r\n";
  56. $message.="Jeżeli jesteście zadowoleni z usług ww firmy- dodajcie na Ich konto Wasz punkt pozytywny.r\n";
  57. $message.="Wprowadziliśmy taki system punktacji- aby Inni szukającym mogli zasugerować się ilością pozytywów przy wyborze odpowi
    edniej firmy.r\n"
    ;
  58. $message.="Jeżeli nie macie nic przeciw- pomóżcie innym szukającym w wyborze odpowiednich firm z naszej bazy.r\n";
  59. $message.="Kliknijcie w link poniżej aby dodać punkt pozytywny.r\n";
  60. $message.="http://moja_strona.pl/dodajkomentarz.php?passkey=$kodr\n";
  61. $message.="Dziękujemy - TEAM BFBW";
  62. // wysyłamy e-mail
  63. $sentmail = mail($to,$subject,$message,$header);
  64.  
  65. }
  66.  
  67.  
  68.  
  69.  
  70. ?>



A tak nawiasem gress, czy ten skrypt sie wykona?? Napisz czy będzie działał, a jeśli nie- to napisz co zmienić aby był dobry.

Format daty w bazie danych w rekordzie 'data' to '2008- Luty-15' np.
Odnośnie CRONA już się dowiedziałem, w poleceniu wpisuję php adres_skryptu.php Ale proszę o sprawdzenie kodu.

Ten post edytował miccom 14.02.2008, 09:40:45


--------------------
Jeśli pomogłem- kliknij POMÓGŁ-przyda się ;)- jeśli piszę bzdury- pisz pod postami. Poprawię się.
PISZĘ POPRAWNIE PO POLSKU!
Go to the top of the page
+Quote Post
nowotny
post 10.02.2008, 00:05:16
Post #14





Grupa: Zarejestrowani
Postów: 875
Pomógł: 122
Dołączył: 2.02.2008

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


Cytat(miccom @ 9.02.2008, 23:57:14 ) *
Format daty w bazie danych w rekordzie 'data' to '2008- Luty-15'

Sorry, ale już gorszego nie mogłeś wymyślić...? :/ od tego jest typ danych DATETIME czy TIMESTAMP żeby z nich korzystać...
Go to the top of the page
+Quote Post
miccom
post 10.02.2008, 07:14:23
Post #15





Grupa: Zarejestrowani
Postów: 493
Pomógł: 8
Dołączył: 7.07.2007
Skąd: Tychy

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


Cytat(nowotny @ 10.02.2008, 00:05:16 ) *
Sorry, ale już gorszego nie mogłeś wymyślić...? :/ od tego jest typ danych DATETIME czy TIMESTAMP żeby z nich korzystać...

No niestety nie mogłem;/
Taki czas dodaję z checkbox, których w formularzu mam 365,
Dziwi mnie to, że jak pytam na forum- jak to najlepiej zrobić- to nie ma chętnego który pomoże- Ale jak już zrobiłem skrypt który dodaje daty- to teraz wszyscy piszą że do tego jest inna funkcja;/ Dzięki za pomoc;/


--------------------
Jeśli pomogłem- kliknij POMÓGŁ-przyda się ;)- jeśli piszę bzdury- pisz pod postami. Poprawię się.
PISZĘ POPRAWNIE PO POLSKU!
Go to the top of the page
+Quote Post
Virti
post 10.02.2008, 09:57:43
Post #16





Grupa: Zarejestrowani
Postów: 115
Pomógł: 12
Dołączył: 11.01.2005
Skąd: Zduńska Wola

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


Cytat
jeśli piszę bzdury- pisz do mnie na PV. Poprawię się

Z Twojej sygnaturki. Rozumiem, że jak ktoś publicznie wytyka Ci błędy to już jest be?

Cytat
Ale jak już zrobiłem skrypt który dodaje daty- to teraz wszyscy piszą że do tego jest inna funkcja

Człowiek uczy się na błędach.

Co do poprawności działania skryptu, możesz przecież go sprawdzić wywołując normalnie poprzez przeglądarkę.
Pozdrawiam.

Edit:
A jeśli chodzi o get:
  1. <?php
  2. echo $_GET['o'];
  3. ?>

Wywołanie takiego skryptu poprzez adres: skrypt.php?o=test spowoduje wyświetlenie się "test"

Jako zabezpieczenie możesz to wykorzystać np. aby użytkownik z zewnątrz nie mógł tego skryptu wykonać. Wtedy masz pewność, że skrypt uruchamia się cyklicznie, a nikt inny nie ma na to wpływu.

Ten post edytował Virti 10.02.2008, 10:13:50
Go to the top of the page
+Quote Post
miccom
post 10.02.2008, 10:47:19
Post #17





Grupa: Zarejestrowani
Postów: 493
Pomógł: 8
Dołączył: 7.07.2007
Skąd: Tychy

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


Ok. Więc: sygnaturę zmieniłem;)
Ludzie, którzy chcą pomagać słabszym, nie są be. Ale jeśli gość w odpowiedzi wrzuca tylko link do manuala( traktując tym samym usera jako gościa, który nie zagląda nigdzie i od razu pyta;/) Ja za każdym razem zaglądam do mauala, mam go na kompie w wersji off line, ale uważam że jest do kitu jak kursy podane w przedszkolu. Na każdym z nich byłem- i to jest kopia jednego kursu;/ nawet przykład ten sam;/ pipen i gracze,bee.
Ale nie o tym chciałem...
Wracając do skryptu.
Nie ma znaczenia kto zainicjuje wykonanie tego skryptu ( nawet myślałem aby wrzucić go na pierwszą stronę- i jakikolwiek user wywoła wykonanie, ale skrzynka pocztowa by mi się zapchała;)
A jak wywołam skrypt przez url, to nic się nie dzieje. Ani błędu, nic.
Dlatego prosiłem o przeanalizowanie kodu- bo może (mimo błędu) nic się nie wyświetli.
Dziękuję za dotychczasową pomoc.


--------------------
Jeśli pomogłem- kliknij POMÓGŁ-przyda się ;)- jeśli piszę bzdury- pisz pod postami. Poprawię się.
PISZĘ POPRAWNIE PO POLSKU!
Go to the top of the page
+Quote Post
Virti
post 10.02.2008, 11:53:52
Post #18





Grupa: Zarejestrowani
Postów: 115
Pomógł: 12
Dołączył: 11.01.2005
Skąd: Zduńska Wola

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


no to, jeżeli nie wyświetla żadnego błędu to chyba dobrze, tak? Sprawdź czy maile dochodzą i masz skrypt sprawdzony. Spróbuj też pobawić się error_reporting" title="Zobacz w manualu PHP" target="_manual.

Ten post edytował Virti 10.02.2008, 11:55:56
Go to the top of the page
+Quote Post
miccom
post 14.02.2008, 09:42:31
Post #19





Grupa: Zarejestrowani
Postów: 493
Pomógł: 8
Dołączył: 7.07.2007
Skąd: Tychy

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


ok. CRON działa, ale czy może ktoś przeanalizować mój skrypt powyżej?? Proszę...

up^

Nikt nie pomoże??
A tak fajnie sie gadało...


--------------------
Jeśli pomogłem- kliknij POMÓGŁ-przyda się ;)- jeśli piszę bzdury- pisz pod postami. Poprawię się.
PISZĘ POPRAWNIE PO POLSKU!
Go to the top of the page
+Quote Post
Virti
post 14.02.2008, 22:20:32
Post #20





Grupa: Zarejestrowani
Postów: 115
Pomógł: 12
Dołączył: 11.01.2005
Skąd: Zduńska Wola

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


Nie rozumiem Ciebie.
Czy przy wykonywaniu tego skryptu dostajesz jakiekolwiek błędy? Nie?
Czy w takim razie maile dochodzą tak, jak się tego spodziewasz? Tak?
Wychodzi na to, że skrypt jest w porządku.
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: 13.06.2025 - 06:13