Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] Funkcja Włącz/Wyłącz obiekt w panelu admina
Forum PHP.pl > Forum > Przedszkole
travi
Witam.

Poszukałem w Google, ale nie znalazłem odpowiedzi na rozwiązanie mojego problemu.
Otóż mam prosty panel administracyjny (taki raczej edytor treści poszczególnych podstron) z plikami txt (tak wiem TXT, bleeeh) biggrin.gif

Chciałbym na stronie głównej zrobić okienko popup lub jakiś banner reklamowy. Chciałbym mieć możliwość prostego wyłączenia/włączenia go na zapleczu (panel admina).
Chodzi o to aby nie otwierać co chwile pliku i kasować albo komentowac kodu.

Jak to zrobić? Zapewne jest potrzeby jakiś formularz który to wykona + np. elementy HTML: radio. Niestety moja znajomość PHP jest mała i ogranicza się do znajomości kilku funkcji typu include itp. Z zawodu jestem grafikiem i trochę mi daleko do programowania, ale staram się nadrabiaćsmile.gif

Bardzo proszę o jakieś podpowiedzi, ewentualnie link do skryptu który mógłbym łatwo zastosować do moich potrzeb.
Może ktoś z was dysponuje takim skrypcikiem i mógłby sie podzielić?

Czy potrzeba jest współpraca z MYSQL w takim przypadku? Może napisać jakąs zmienną która doda lub usunie element CSS: display:none; dla div'a z reklamą?

Pozdrawiam serdecznie.
Turson
Zrób sobie plik o nazwie np. config.php i tam będziesz trzymał wartość "1" (włączone) lub "0" (wyłączone). W panelu admina zmieniasz właśnie np. radio zawartość tego pliku a wczytując stronę główną, pobierasz zawartość z config.php i sprawdzasz czy jest 1 czy 0 i albo włączasz albo nie
travi
Powiedzmy, że zrozumiałem koncepcjębiggrin.gif
Ale nie bardzo wiem jak to napisać tongue.gif
Pomagier
Tak samowidzę jak ja kiedyś bałem się operowania na bazie ale nie zdajesz sobie sprwy jaksobie życie komplikujesz pracując na plikach. Ściągnij sobie jakiś system newsów, który potrzebuje połączenia z bazą i wtedy na jakimś przykładzie nauczysz się jak robić takie rzeczy szybciej i prościej. Pisałem kiedyś troszkę większy projekt oparty o pliki i dzisiaj stwierdzam, że jest on dowyrzucenia przez taką głupotę że bałem się "skomplikowanej" bazy a wcale tak nie jest. Znajdź sobie cel i napisz stronę od podstaw z pobieraniem danych z bazy. Swoją drogą operowanie na plikach jest też przydatne. Nie jestem tutaj jakimś szpecem bo sam się uczę i wiele rzeczy dla mnie narazie to czarna magia, ale taka rada dla Ciebie.
travi
No wiem o czym mówisz, ale nie mam czasu żeby "szukać sobie celu" w programowaniu PHP. prowadze agencje reklamowa od 6 lat i mam tam swoje "cele". Czasu brakuje na wszystko. Tutaj potrzebuje napisać prosty skrypcik który bedzie działał. Robie to tez dla zabawy i nauki bo nie ukrywam że PHP jest moja niespełniona "miłością". No i tak się bawie i bawię i zrobiłem coś takiego, ale nie działa. Zapewne coś zrobiłem źle. Czy ktoś może mnie nakierować? smile.gif

skrypt PHP

  1. <?php
  2. $plik = fopen("config.txt", "r");
  3. if(!strcmp($plik, 'on')){
  4. echo 'zawartośc pliku to ON więc wczytuje tutaj kod...';
  5. }
  6. else{
  7. echo"nie wyświetlam DIVa z reklamą";
  8. }
  9. ?>


no i do tego jest plik TXT w którym jest albo: on, albo off.
Plik TXT zapisywalny z prostego formularza na zapleczu.
Turson
usuń wykrzyknik z strcmp
emillo91
travi wysłałem tobie wiadomość. Jakby co to odpisz.
travi
Skasowałem ten wykrzyknik bo faktycznie działałoby na odwrót tongue.gif
Teraz wygląda to tak:

  1. <?php
  2. $plik = fopen("config.txt", "r");
  3. if(strcmp($plik, 'on'))
  4. {
  5. echo 'Jest OK. Pokazuje reklame';
  6. }
  7. else
  8. {
  9. echo 'Nie pokazuje reklamy';
  10. }
  11. ?>


i po odpaleniu skryptu (w txt jest: on) wywala mi:
  1. Warning: strcmp() expects parameter 1 to be string, resource given in /strona/test/test.php on line 3
  2. Nie pokazuje reklamy


Czyli nie pokazuje reklamy, a teoretycznie jest ON w pliku tekstowym oraz wywala Warning :/
Turson
  1. $plik = fopen("config.txt", "r");

zastąp
  1. $plik = file_get_contents("config.txt");

i będzie dobrze
travi
OK, warning się nie pojawia, ale instrukcja warunkowa printuje komunikat z "else" cały czas, a powinna drukować "Jest OK. Pokazuje reklame" bo w pliku txt jest on.
Czy gdzieś jest błąd?
Turson
Spróbuj:
  1. $plik = file_get_contents("config.txt");
  2. if($plik=='on'){
  3. //pokaż
  4. }
  5. else{
  6. //nie pokazuj
  7. }
travi
Super, teraz działa. Bardzo dziękuje za pomoc. Mógłbyś mi wytłumaczyć dlaczego poprzednia wersja z:

  1. if(strcmp($plik, "on"))


Nie działała? smile.gif Z tego co się orientuje powyższa komenda zabezpiecza skrypt przed białymi znakami...?
Turson
Cytat
Returns < 0 if str1 is less than str2; > 0 if str1 is greater than str2, and 0 if they are equal.

http://pl1.php.net/strcmp
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.
Invision Power Board © 2001-2025 Invision Power Services, Inc.