Już kilka błędów naprawiałem, ale z tym chyba sobie nie poradzę.
A tak poza tym - co robić, aby takich błędów nie robić?

Kod panelu admina:
<?php //charset=iso-8859-2
if((($_SERVER['PHP_AUTH_USER']==$login) && ($_SERVER['PHP_AUTH_PW']==$pass)) || ($HTTP_COOKIE_VARS[\"F3Kartki\".$security] == $login.$pass.$security)) {
if(!$_GET['co']) {
<table cellpadding=\"2\" cellspacing=\"1\" class=\"table\" style=\"background-color: green\" align=\"center\">
<tbody>');
//generowanie nadkategorii:
if($czytaj=opendir(\"../list\")) { while(false !== ($nadk=readdir($czytaj))) { if($nadk != \".\" && $nadk != \"..\") {
if(is_dir(\"../list/\".$nadk)) { echo('<tr><td class=\"dth\" style=\"text-align: left\"><b>'); include(\"../list/\".$nadk.\".txt\"); }
</td>
<td class=\"dth\" colspan=\"2\">
<a href=\"javascript:pyt=confirm('Czy na pewno chcesz skasować nadkategorię '.$nadk.' i usunąć wszystkie podkategorie i kartki, które tam się znajdują?\nAktualnie musisz ręcznie usunąć wszystkie podkategorie i kartki z tej nadk
tegorii.'); if(pyt) { location='index.php?idstr=ekat&co=usunnadk&nadk='.$nadk.'' }
else { void(0); }\">usuń</a></td></tr>');
foreach (glob(\"../list/\".$nadk.\"/*.php\") as $podk) { $nowy_podk=str_replace(\"../list/\".$nadk.\"/\",\"\",$podk); include($podk);
echo('<tr><td class=\"dt1\"><b> · <a href=\"javascript:document.all.h'.$nowy_podk.'.style.display='block
'; '); for($ii=0;$ii<sizeof($kartka);$ii++) {
echo('document.all.t'.$nowy_podk.$ii.'.style.display='block
';'); } } echo('void(0);\">'.$nav[1].'</a></b></td> <td class=\"dt1\">Kartek: <b>'.sizeof($kartka).'</b></td> <td class=\"dt1\" align=\"center\">
<a href=\"javascript:pyt=confirm('Czy na pewno chcesz usunąć tą podkategorię?nPrzed usunięciem usuń wszystkie kartki, które się w niej znajdują!nJeśli w katalogu podkategorii będą pliki, nie zostanie on usunięty.'); if(pyt) { location='index.php?idstr=ekat&co=usunpodk&podk='.$podk.'&nadk='.$nadk.'' }
else { void(0); }\">usuń</a> · <a href=\"index.php?idstr=ekat&co=edytujpodk&podk='.$podk.'&nadk='.$nadk.'\">edytuj</a></td></tr>');
for($i=0;$i<sizeof($kartka);$i++) {
echo('<tr id=\"t'.$nowy_podk.$i.'\"'); if(!$_GET['wszystko']) { echo(' style=\"display: none\"'); } echo('><td class=\"dt2\" style=\"text-align: left; font-size: 14px\"> <b><input type=\"checkbox\" name=\"usun_kartke_'.$i.'_'.$kartkal[$i].'\" /> • '.$kartka[$i].'</b>
</td><td class=\"dt2\">...</td>
//Gdzieś tu jest ten cholerny problem
//Pętla dodająca kartki do listy kartek
<td class=\"dt2\"><a href=\"index.php?idstr=ekat&co=usun&gdzie=kartka&nadk='.$nadk.'&podk='.$podk.'&e='.$i.'\">usuń</a></td></tr>');
echo('<tr id=\"h'.$nowy_podk.'\"'); if(!$_GET['wszystko']==\"t\") {
echo(' style=\"display: none\"'); } echo('><td class=\"dt2\" colspan=\"3\" style=\"text-align: left\"> <b>Ilość kartek: </b><select size=\"1\" name=\"ile_kartek_dodac_'.$nadk.$nowy_podk.'\"> <option selected=\"selected\">1</option><option>2</option><option>3</option><option>4</option><option>5</option><option>6</option><option>7</option><option>8</option><option>9</option><option>10</option>
</select>
<input type=\"button\" value=\"Dodaj kartki\" onclick=\"location='index.php?idstr=ekat&co=dodajkartki&nadk='.$nadk.'&podk='.$nowy_podk.'&ile='+document.all.ile_kartek_dodac_'.$nadk.$nowy_podk.'.selectedIndex\" />
(<a href=\"javascript:document.all.h'.$nowy_podk.'.style.display='none
'; '); if($sfk>0
) { for($ii=0;$ii<$sfk;$ii++) { echo('document.all.t'.$nowy_podk.$ii.'.style.display='none
'; '); } } echo('void(0);\">ukryj kartki</a>) </td></tr>'); }
echo('<tr><td class=\"dt1\" colspan=\"3\"> <b>Ilość: </b>
<select size=\"1\" name=\"ile_podk_dodac_'.$nadk.'\">
<option selected=\"selected\">1</option><option>2</option><option>3</option><option>4</option><option>5</option><option>6</option><option>7</option><option>8</option><option>9</option><option>10</option>
</select>
<input type=\"button\" value=\"Dodaj podkategorie\" onclick=\"location='index.php?idstr=ekat&co=dodajpodk&nadk='.$nadk.'&ile='+document.all.ile_podk_dodac_'.$nadk.'.selectedIndex\" />
</td></tr>');
echo('<tr><td style=\"height: 1px; background-color: green\" colspan=\"3\"></td></tr>'); <tr><td class=\"dth\" colspan=\"3\"><input type=\"button\" value=\"Dodaj nadkategorię\" onclick=\"pyt=prompt('Podaj nazwę dla nowej nadkategorii.'); pyt2=prompt('Podaj nazwę folderu, w którym mają być pliki nadkategorii.'); if(pyt!=null && pyt2!=null) { location='index.php?idstr=ekat&co=dodajnadk&nazwanadk='+pyt+'&nazwakatnadk='+pyt2 } else { alert('Dodanie nowej kartki było niemożliwe!'); }\" /> <input type=\"button\" value=\"Usuń zaznaczone kartki\" onclick=\"submit()\" style=\"width: 180px\" />
</td></tr>
</tbody>
</table>
'); } } /* koniec */
?>
Objawy:W podkategorii 123 Powinno się wyświetlić 5 kartek, a wyświetlają się tylko 3.
W podkategorii wakacje powinna być 1 kartka, a wyświetla się 3. (na liczniku 4).
Jak rozwiązać ten problem?
Dołączam także:- zdjęcie:

- plik danych podkategorii 123:
<?php //charset=iso-8859-2
$nav=Array(\"ee\",\"123\"); ?><?php
$kartka[0]=\"nazwa\";
$kartkal[0
]=Array(\"lokalizacja\",\"roz\",\"roz2\"); $data=\"24.07.2004 19:26\";
$kartka[1]=\"nazwa\";
$kartkal[1
]=Array(\"lokalizacja\",\"roz\",\"roz2\"); $data=\"24.07.2004 19:26\";
$kartka[2]=\"qwe\";
$kartkal[2
]=Array(\"qwe\",\"we\",\"er\"); $data=\"24.07.2004 19:37\";
$kartka[3]=\"tryrty\";
$kartkal[3
]=Array(\"tyuytu\",\"uyu\",\"yuyuyuyu\"); $data=\"24.07.2004 19:37\";
$kartka[4]=\"uiouio\";
$kartkal[4
]=Array(\"uy\",\"yy\",\"hhhh\"); $data=\"24.07.2004 19:37\"; ?>
Wartości zmiennych są tylko testowe.
Do moderatorów: TO nie jest gotowy skrypt - robię go ja...
Już jest OK. Problemem było wstawianie sizeof($kartka) w pętli FOR i skryptach JS, zamiast $sfk (zmienna incjonowana jest odrazu po otworzeniu pliku z danymi).
Gdy pod koniec instrukcji FOR usuwana jest tablica zmiennej, odejmowana jest od sizeof($kartka)...To tak, gdyby ktoś miał podobny problem.
Ten post edytował MP1 24.07.2004, 21:51:58