![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 21 Pomógł: 0 Dołączył: 19.04.2012 Ostrzeżenie: (0%) ![]() ![]() |
Witam,
Panowie/Panie, jak zrobić stronkę w php (wydaje mi się, że będzie najlepiej) aby można było sterować przekaźnikami na serwerze? Mam programik dzięki któremu steruje (konsola Linux, Debian) w ten sposób: /var/www/power.sh on 1 -włączy przekaźnik nr.1 /var/www/power.sh off 1 -wyłączy przekaźnik nr.1 /var/www/power.sh status 1 -wyświetli status (on/off) przekaźnika nr.1 Do sedna... jak to zrobić, aby na stronie była ikona (ikony-docelowo około 100) która jest obrazkiem on.png lub off.png (według statusu) a jak ją kliknę to się zmieni w stan przeciwny? Tak na chłopski rozum... Otwieram przeglądarkę, wchodzę na swoją stronę i wyświetlają mi się ikony z aktualnym stanem przekaźników. Kliknę na ikonę z np. "on", a ona mi się zmieni na "off" i w tle uruchomi program, czyli wyłączam przekaźnik. Ten post edytował piterek-23 19.08.2014, 21:01:45 |
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 1 798 Pomógł: 307 Dołączył: 13.05.2009 Skąd: Gubin/Wrocław Ostrzeżenie: (0%) ![]() ![]() |
Ten post edytował by_ikar 19.08.2014, 20:49:04 |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 21 Pomógł: 0 Dołączył: 19.04.2012 Ostrzeżenie: (0%) ![]() ![]() |
Chyba nie bardzo umiem to zastosować-nie działa, nic się nie dzieje po kliknięciu na ikonę.
To co pokazałeś to dwie ikony, a można zrobić tak aby to była jedna ikonka-takie wszystko w jednym? Ten post edytował piterek-23 19.08.2014, 21:08:09 |
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 1 798 Pomógł: 307 Dołączył: 13.05.2009 Skąd: Gubin/Wrocław Ostrzeżenie: (0%) ![]() ![]() |
Można tak zrobić żeby była jedna ikona, tyle że wtedy powiedzmy twój power.sh musiał by zwracać stan w jakim się znajduje, w przeciwnym wypadku, możesz się już tylko sugerować tym czy przed chwilą został użyty "włącznik", tyle że wtedy kiedy otworzyłbyś stronę jeszcze raz, znów było by ON zamiast OFF. To jest tylko przykład jak może to być zrobione, pod warunkiem że niektóre dane podmienisz, bo ja nie wiem co ty tam masz. Jeżeli sobie z czymś takim nie radzisz (tzn nie rozumiesz tego co ci wysłałem) to przykro mi, ale nie wiem czy jestem w stanie ci jakoś to wytłumaczyć, ponieważ to są absolutne podstawy co ci tutaj wysłałem.
Możesz do tego przykładu dodać sobie wyświetlanie co zwraca exec:
W ten sposób będziesz mógł sprawdzić czy komenda się wykonuje lub czy nie wyświetla jakichś błędów (np niepoprawna ścieżka do power.sh). |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 21 Pomógł: 0 Dołączył: 19.04.2012 Ostrzeżenie: (0%) ![]() ![]() |
Z pomocą wujka Google zrobiłem coś takiego
Na stronie mam dwa guziki "on" i "off" wszystko działa. Jak teraz zrobić aby to był jeden obrazek, a nie dwa ? Jak to zrobić aby obrazek (obazek 2w1-on/off) sam się ustawił do stanu? Napisałem skrypt /var/www/status1.sh który sprawdza stan: #!/bin/bash status1=$(/var/www/power.sh status 1) echo "$status1" Po wywołaniu w konsoli podaje stan "on" lub "off" zależnie od stanu przekaźnika 1 Jak to teraz wszysko wsadzić w jeden "guzik"? |
|
|
![]()
Post
#6
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Skoro masz wartosc to robisz prosty IF ELSE i wyswietlasz odpowiedni guzi w zaleznosci od wartosci
-------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 21 Pomógł: 0 Dołączył: 19.04.2012 Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#8
|
|
![]() Grupa: Zarejestrowani Postów: 2 958 Pomógł: 574 Dołączył: 23.09.2008 Skąd: wiesz, że tu jestem? Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#9
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Dzis jakaś mania nieczytania ze zrozumieniem....
@CuteOne chodzi o to by się pojawiał jeden guzik a nie jak teraz dwa naraz... Jeden guzik a nie jeden IF ELSE.... ![]() To są guziki <a href="?on=on"><img src="images/on.png"></a> <a href="?off=off"><img src="images/off.png"></a> To one mają być w IF. Teraz jak już wszystko jasne, to możesz pomóc jeszcze raz CuteOne ![]() -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#10
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
To weź sie wkoncu obudz bo skrypt jest nadal bledny.... Nigdzie nie inicjalizujesz zmiennej $icon. Weź pod uwage fakt, że gdy pierwszy raz wejdziesz w skrypt to ani OFF a ni ON nie pojdzie.
$icon ma byc ustalona na podstawie statusu ktory jest w zmiennej $status, a nie na podstawie wcisnietego guzika... Zeby takie podstawy musiec jeszcze tlumaczyc.,.. ![]() -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#11
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Po odswiezeniu nadal masz zle. Powtarzam po raz kolejny
Cytat $icon ma byc ustalona na podstawie statusu ktory jest w zmiennej $status, a nie na podstawie wcisnietego guzika edit: Aj, @CuteOne, nieladnie tak kasowac posty, na ktore ktos odpowiadał :/ A juz szczegolnie ze było tam 95% odpowiedzi i wystarczylo zrobic drobną poprawkę -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#12
|
|
Grupa: Zarejestrowani Postów: 21 Pomógł: 0 Dołączył: 19.04.2012 Ostrzeżenie: (0%) ![]() ![]() |
Kolego @CuteOne
Możesz jeszcze raz pokazać kod o którym mówi @nospor? |
|
|
![]()
Post
#13
|
|
Grupa: Zarejestrowani Postów: 64 Pomógł: 14 Dołączył: 25.09.2010 Ostrzeżenie: (0%) ![]() ![]() |
Jeżeli wszystko dobrze zrozumiałem to by tak to miało wyglądać + dodałem warunek, by nie było możliwości wywoływać ponownego uruchomienia, kiedy jest już on aktywny
|
|
|
![]()
Post
#14
|
|
Grupa: Zarejestrowani Postów: 21 Pomógł: 0 Dołączył: 19.04.2012 Ostrzeżenie: (0%) ![]() ![]() |
Kolego @Rochu
Coś jest nie tak, bo jak wejdę na stronę to pokazuje mi się ikonka "off" (nie zależnie czy jest włączony czy nie przekaźnik) mogę na nią kliknąć tylko raz. Jeżeli jest wyłączony przekaźnik to go włączę i na tym koniec. Gdy jest włączony to nic nie zrobię ![]() Czy w ogóle da się coś takiego zrobić jak sobie wymyśliłem? |
|
|
![]()
Post
#15
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
No dobra, ale skopiowales to bezmyslnie:
$status = shell_exec("/var/www/status1.sh") ? Czy moze jednak podstawiles swoją komende? Bo przeciez na sprawdzanie statusu masz inną komendę niz podano ci w kodzie. -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#16
|
|
Grupa: Zarejestrowani Postów: 21 Pomógł: 0 Dołączył: 19.04.2012 Ostrzeżenie: (0%) ![]() ![]() |
Kolego @nospor
Tak zmieniłem ścieżki, @Rochu odwołał się do skryptu /status1.sh o którym pisałem. Ten skrypt również poda stan. |
|
|
![]()
Post
#17
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
No dobra, a patrzyles czy ten skrypt w podanym kodzie zwraca ci poprawną wartosc?
$status = shell_exec("/var/www/status1.sh") var_dump($status); wyswietla to co ma wyswietlac? -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#18
|
|
Grupa: Zarejestrowani Postów: 21 Pomógł: 0 Dołączył: 19.04.2012 Ostrzeżenie: (0%) ![]() ![]() |
Odczytuje, ale "guzik nie przełącza.
Stan dobrze odczytuje. https://imageshack.com/i/p5XX20TEj (czy tu na forum można wrzucać obrazki?) |
|
|
![]()
Post
#19
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
No wlasnie masz złe wartosci. Widac wyraznie, ze masz na koncu dodane dwa biale znaki, np. dwie spacje...
Tak ma byc: $status = shell_exec("/var/www/status1.sh"); //pobierasz aktualny status $status = trim($status); //wyrzucenie bialych znakow -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#20
|
|
Grupa: Zarejestrowani Postów: 21 Pomógł: 0 Dołączył: 19.04.2012 Ostrzeżenie: (0%) ![]() ![]() |
Teraz już ładnie pobiera status i odpowiednia ikona (on.png, off.png) ustawia się do aktualnego stanu przekaźnika
![]() Nie mogę teraz sobie przełączać on/off "guzikiem ![]() Ten post edytował piterek-23 21.08.2014, 12:50:16 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 21.08.2025 - 18:46 |