Skocz do zawartości

Mały problem z PA


Rekomendowane odpowiedzi

Witam.

Zwracam się do osób które dobrze znają się na modyfikowaniu miniacza i zechcą mi pomóc w problemie z dodanie do PA nowych funkcji.

Problem jest następujący:

Domyślnie w PA w zakładce "Wygląd"/"Treść bloków" jest umieszczony blok "Menu". Ja troche to zmieniłem i wpakowalem całe to menu do jednego pliku i zainportowałem w bloku w postaci <php>otwarty_disp/menu.php</php> Wszystko działa bardzo dobrze.

Miałem pomysł aby zrobic w PA możliwość właczania i wyłacznia poszczegolnych linków do podstron.

Zabrałem sie do tego z wielką ochotą, poniewważ już wcześniej bawiłem się w coś podobnego ( dodałem możliwość włacznia i wyłacznia miniaturek), i poradziłem sobie z tym bez problemu. Natomiast z tymi nowymi opcjami nie daje sobie już radzy drugi dzień. Prosze o zapozanie się z poniższymi wpisami i wyjaśnienie mi na czym polega błąd.

Plik menu.php wygląda tak:

<div style="padding-bottom:8px; border-bottom:1px solid #bac2bd; margin:2px 0 8px 0">

<?php

if ($cfg[me0]==0) { echo ("<li><a href=\"/\" class=\"in_link_home_cat_menu\">Strona główna</a></li>"); }
if ($cfg[me1]==0) { echo ("<li><a href=\"/inf.html\" class=\"in_link_home_cat_menu\">Regulamin</a></li>"); }
if ($cfg[me2]==0) { echo ("<li><a href=\"/index.php?a=wpis\" class=\"in_link_home_cat_menu\">Jak dodać wpis?</a></li>"); }
if ($cfg[me3]==0) { echo ("<li><a href=\"/index.php?a=top\" class=\"in_link_home_cat_menu\">Najpopularniejsze</a></li>"); }
if ($cfg[me4]==0) { echo ("<li><a href=\"/index.php?a=mapa\" class=\"in_link_home_cat_menu\">Mapa strony</a></li>"); }
if ($cfg[me5]==0) { echo ("<li><a href=\"/index.php?a=kont\" class=\"in_link_home_cat_menu\">Kontakt</a></li>"); }
if ($cfg[me6]==0) { echo ("<li><a href=\"/index.php?a=str1\" class=\"in_link_home_cat_menu\">Strona 1</a></li>"); }
if ($cfg[me7]==0) { echo ("<li><a href=\"/index.php?a=str2\" class=\"in_link_home_cat_menu\">Strona 2</a></li>"); }
if ($cfg[me8]==0) { echo ("<li><a href=\"/index.php?a=str3\" class=\"in_link_home_cat_menu\">Strona 3</a></li>"); }
if ($cfg[me9]==0) { echo ("<li><a href=\"/index.php?a=str4\" class=\"in_link_home_cat_menu\">Polecane katalogi</a></li>"); }
if (administrator()) { echo "<li><a href=\"otwarty_admin/index.php\" class=\"in_link_home_cat_menu\">Admin Panel</a><br/></li>"; }
?>

</div>

Działa bez zarzutu w bloku. Da się normalnie nawigować po stronach.

Teraz dodałem do pliku "index.php" w katalogu "otwarty_admin", w tabeli "konfiguracja" takie wpisy:

<tr><td colspan=3 width=480><br /><b>Konfiguracja Menu:</b></td></tr>

<?
if ($cfg[me0]==0) { $me0ac="checked";}
if ($cfg[me0]==1) { $me0bc="checked";}
?>
<tr>
<td align=right width=260>Strona Glowna:</td>
<td width=200>
<input type="radio" name="me0" value="0" <?=$me0ac?>> tak | 
<input type="radio" name="me0" value="1" <?=$me0bc?>> nie
</td>
</tr>

<?
if ($cfg[me1]==0) { $me1ac="checked";}
if ($cfg[me1]==1) { $me1bc="checked";}
?>
<tr>
<td align=right width=260>Regulamin:</td>
<td width=200>
<input type="radio" name="me1" value="0" <?=$me1ac?>> tak | 
<input type="radio" name="me1" value="1" <?=$me1bc?>> nie
</td>
</tr>

<?
if ($cfg[me2]==0) { $me2ac="checked";}
if ($cfg[me2]==1) { $me2bc="checked";}
?>
<tr>
<td align=right width=260>Jak dodać wpis:</td>
<td width=200>
<input type="radio" name="me2" value="0" <?=$me2ac?>> tak | 
<input type="radio" name="me2" value="1" <?=$me2bc?>> nie
</td>
</tr>

<?
if ($cfg[me3]==0) { $me3ac="checked";}
if ($cfg[me3]==1) { $me3bc="checked";}
?>
<tr>
<td align=right width=260>Najpopularniejsze:</td>
<td width=200>
<input type="radio" name="me3" value="0" <?=$me3ac?>> tak | 
<input type="radio" name="me3" value="1" <?=$me3bc?>> nie
</td>
</tr>

<?
if ($cfg[me4]==0) { $me4ac="checked";}
if ($cfg[me4]==1) { $me4bc="checked";}
?>
<tr>
<td align=right width=260>Mapa strony:</td>
<td width=200>
<input type="radio" name="me4" value="0" <?=$me4ac?>> tak | 
<input type="radio" name="me4" value="1" <?=$me4bc?>> nie
</td>
</tr>

<?
if ($cfg[me5]==0) { $me5ac="checked";}
if ($cfg[me5]==1) { $me5bc="checked";}
?>
<tr>
<td align=right width=260>Kontakt:</td>
<td width=200>
<input type="radio" name="me5" value="0" <?=$me5ac?>> tak | 
<input type="radio" name="me5" value="1" <?=$me5bc?>> nie
</td>
</tr>

<?
if ($cfg[me6]==0) { $me6ac="checked";}
if ($cfg[me6]==1) { $me6bc="checked";}
?>
<tr>
<td align=right width=260>Strona 1:</td>
<td width=200>
<input type="radio" name="me6" value="0" <?=$me6ac?>> tak | 
<input type="radio" name="me6" value="1" <?=$me6bc?>> nie
</td>
</tr>

<?
if ($cfg[me7]==0) { $me7ac="checked";}
if ($cfg[me7]==1) { $me7bc="checked";}
?>
<tr>
<td align=right width=260>Strona 2:</td>
<td width=200>
<input type="radio" name="me7" value="0" <?=$me7ac?>> tak | 
<input type="radio" name="me7" value="1" <?=$me7bc?>> nie
</td>
</tr>

<?
if ($cfg[me8]==0) { $me8ac="checked";}
if ($cfg[me8]==1) { $me8bc="checked";}
?>
<tr>
<td align=right width=260>Strona 3:</td>
<td width=200>
<input type="radio" name="me8" value="0" <?=$me8ac?>> tak | 
<input type="radio" name="me8" value="1" <?=$me8bc?>> nie
</td>
</tr>

<?
if ($cfg[me9]==0) { $me9ac="checked";}
if ($cfg[me9]==1) { $me9bc="checked";}
?>
<tr>
<td align=right width=260>Strona 4:</td>
<td width=200>
<input type="radio" name="me9" value="0" <?=$me9ac?>> tak | 
<input type="radio" name="me9" value="1" <?=$me9bc?>> nie
</td>
</tr>

w case "cfg", dodałem:

mysql_query("update ".$prefix."konfiguracja set wartosc='$_POST[me0]' where nazwa='me0' ");
mysql_query("update ".$prefix."konfiguracja set wartosc='$_POST[me1]' where nazwa='me1' ");
mysql_query("update ".$prefix."konfiguracja set wartosc='$_POST[me2]' where nazwa='me2' ");
mysql_query("update ".$prefix."konfiguracja set wartosc='$_POST[me3]' where nazwa='me3' ");
mysql_query("update ".$prefix."konfiguracja set wartosc='$_POST[me4]' where nazwa='me4' ");
mysql_query("update ".$prefix."konfiguracja set wartosc='$_POST[me5]' where nazwa='me5' ");
mysql_query("update ".$prefix."konfiguracja set wartosc='$_POST[me6]' where nazwa='me6' ");
mysql_query("update ".$prefix."konfiguracja set wartosc='$_POST[me7]' where nazwa='me7' ");
mysql_query("update ".$prefix."konfiguracja set wartosc='$_POST[me8]' where nazwa='me8' ");
mysql_query("update ".$prefix."konfiguracja set wartosc='$_POST[me9]' where nazwa='me9' ");

a w function cfg_form, dodałem:

if ($cfg[me0]=="" AND $_POST[me0]=="") { $cfg[me0]="1";} else if ($_POST[me0]!="")  { $cfg[me0]=$_POST[me0];}
if ($cfg[me1]=="" AND $_POST[me1]=="") { $cfg[me1]="1";} else if ($_POST[me1]!="")  { $cfg[me1]=$_POST[me1];}
if ($cfg[me2]=="" AND $_POST[me2]=="") { $cfg[me2]="1";} else if ($_POST[me2]!="")  { $cfg[me2]=$_POST[me2];}
if ($cfg[me3]=="" AND $_POST[me3]=="") { $cfg[me3]="1";} else if ($_POST[me3]!="")  { $cfg[me3]=$_POST[me3];}
if ($cfg[me4]=="" AND $_POST[me4]=="") { $cfg[me4]="1";} else if ($_POST[me4]!="")  { $cfg[me4]=$_POST[me4];}
if ($cfg[me5]=="" AND $_POST[me5]=="") { $cfg[me5]="1";} else if ($_POST[me5]!="")  { $cfg[me5]=$_POST[me5];}
if ($cfg[me6]=="" AND $_POST[me6]=="") { $cfg[me6]="1";} else if ($_POST[me6]!="")  { $cfg[me6]=$_POST[me6];}
if ($cfg[me7]=="" AND $_POST[me7]=="") { $cfg[me7]="1";} else if ($_POST[me7]!="")  { $cfg[me7]=$_POST[me7];}
if ($cfg[me8]=="" AND $_POST[me8]=="") { $cfg[me8]="1";} else if ($_POST[me8]!="")  { $cfg[me8]=$_POST[me8];}
if ($cfg[me9]=="" AND $_POST[me9]=="") { $cfg[me9]="1";} else if ($_POST[me9]!="")  { $cfg[me9]=$_POST[me9];}

W bazie też oczywiście dodałem odpowiedznie tabele w "kofiguracji" od me0 do me9.

I tu zaczynają się schody. Opcje w PA zapisują poprawnie wszystkie działania w bazie danych. To znaczy gdy ustawie TAK to w bazie pojawia się 0 , przy nie pojawia się 1. Czyli PA dobrz wykonuje swoją pracę i zapisuje odpowiedznie wartosci w bazie. Z tym nie mam problemu.

Problem pojawia się z menu.php, ponieważ nie chce odpowiednio pobrać danych z bazy. Nie reaguje na jakiekolwiek zmiany w bazie danych. Nie porównuje wartosci z bazą.

Gdy zamienie w menu.php np. ($cfg[me2]==0) << w takiej pozycji odnośnik w bloku się wyświetla, na ($cfg[me2]==1), to odnośnik w boku na stronie znika. CZyli funkcja IF dobrze reaguje na zmiany jako taka. Tylko dlaczego nie chce porównywać danych zapisanych u siebie z bazą danych ? Może czegoś nie dopisuję w któryms pliku ? Jakiejś funkcji czy czegoś podobnego ?

Prosze bardzo o poradę i nakierowanie mnie na błąd który popełniam.

PS.

Dodałem do głównego pliku index.php :

case "menu":
include ("otwarty_disp/menu.php");
break;

mysląc że to pomoże, ale nie pomogło.

Już nie mam sił do tego menu. Próbowałem na wiele sposobów to jakoś naprawić, ale nic nie podziałało.

Jeżeli będzi ktoś potrzebował jeszcze jakichś informacji czy plików ze zmianami to pisać.

Mam jeszcze jedno małe pytnie w związki z tym plikiem meny.php, ale to dopieor jak rozwiąże się ta sprawa. Inaczej nie będzie to istotne.

Pozdrawiam i licze na wasza pomoc.

Odnośnik do komentarza
Udostępnij na innych stronach

Wstaw echo $cfg[me2]; i na bank okaże się że zmienna jest pusta a jak jest pusta to poszukaj deklaracji $cfg = cfg(); i napisz czy jest "wyżej" czy "niżej" od wywołania zmiennej ;)

iDir - skrypt na katalog stron lub firm - następca projektu SEOKatalog, dostosowany do dzisiejszych standardów, w pełni responsywny, na nowoczesnym frameworku.

Odnośnik do komentarza
Udostępnij na innych stronach

Dokładnie coś jest nie tak z pobieraniem tej zmiennej,

sprawdź w pliku funkcje.php czy tam są zwracane te wartości.

..a dokładniej funkcję "function cfg()".

Mar.

Polecam katalog SeoPark.pl, katalog AK47 (5 lata w sieci) ...oraz Wirtualne-miasta.eu
"Dopóki nie skorzystałem z Internetu, nie wiedziałem, że na świecie jest tylu idiotów" - Stanisław Lem

Odnośnik do komentarza
Udostępnij na innych stronach

A tak bardziej łopatologicznie :) Gdzie to echo $cfg[me2]; wstawić ? W menu.php czy index.php ? Deklaracja $cfg = cfg(); jest powyżej zmiennej. Chyba :)

Poniżej są pliczki index.php, menu.php i funkcje.php. możecie je przeglądnąć i sprawdzić co jest nie teges :P

https://czarnobialy.7de.pl/dodatki/pliki.rar

Odnośnik do komentarza
Udostępnij na innych stronach

Hej, naprawdę potrzebuje porady w tej sprawie. Niech ktoś, kto ma czasu trochę teraz, sprawdzi pliki powyżej i pomoze naprawić ten problem. Moje kombinacje spełzły na niczym.

Bardzo proszę. Odwdzięczę się podziękowaniem.

Odnośnik do komentarza
Udostępnij na innych stronach

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...

Powiadomienie o plikach cookie

Umieściliśmy na Twoim urządzeniu pliki cookie, aby pomóc Ci usprawnić przeglądanie strony. Możesz dostosować ustawienia plików cookie, w przeciwnym wypadku zakładamy, że wyrażasz na to zgodę. Warunki użytkowania Polityka prywatności