Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Pomocy w zlokalizowaniu błędu
Forum PHP.pl > Forum > Przedszkole
gervys79
Mam skrypt z poniższą zawartością, wyświetla wszystko ładnie z małym wyjątkiem, a mianowicie jest linia pod koniec która wrzyca mnie dane do wyświetlenia na stronce w tabeli i to działa ale jest też tam tworzony link i z nim jest problem, a mianowicie nie dają się do niego wszystkie wartości i co najdzieniejsze to nie w każdym wyświetlonym wierszu z danymi jedne są OK a drugim brakuje trzech ostatnich zmiennych, plik z którego pobiera dane ma dokładnie takie same dane dla każdego IP, ale to chyba nie to bo wyświetlać wyświetla a nie daje do linku, może ktoś znajdzie tu błąd.

  1. <?
  2. if (session_is_registered("zalogowany"))
  3. {
  4. ?>
  5. <b><table border=1 bordercolor=black align=center>
  6. <b><tr><td><b>Lp.</b></td><td><b>Nazwa - IP</td><td><b>Download min</td><td><b>Download max</td><td><b>Upload min</td><td><b>Upload max</td><td><b>Max.poł.</b></td><td><b>Blok. P2P</b></td><td><center><b>*</b></center></td></tr></b>
  7. <?
  8. require("config.php");
  9. $ile=356;
  10. $licz=1;
  11. for ($kolejka=100; $kolejka<$ile; $kolejka++)
  12. {
  13. if ($licz % 2==0)
  14. {
  15. $kolor="#FFC980";
  16. }
  17. else
  18. {
  19. $kolor=white;
  20. }
  21. $dane=exec("cat /etc/firewall/22/rc.fire_qos|grep -w '1:$kolejka'");
  22. if (!($dane))
  23. {
  24. }
  25. else
  26. {
  27. $ip1=explode(":", $dane);
  28. $ip=$ip1[0];
  29. if (!($ip1[1]==auto))
  30. {
  31. $drate="$ip1[1] kbit";
  32. }
  33. else
  34. {
  35. $drate="$ip1[1]";
  36. }
  37. if (!($ip1[2]==auto))
  38. {
  39. $dceil="$ip1[2] kbit";
  40. }
  41. else
  42. {
  43. $dceil="$ip1[2]";
  44. }
  45. if (!($ip1[3]==auto))
  46. {
  47. $urate="$ip1[3] kbit";
  48. }
  49. else
  50. {
  51. $urate="$ip1[3]";
  52. }
  53. $ip11=explode(" ", $ip1[4]);
  54. if (!($ip11==auto))
  55. {
  56. $uceil="$ip11[0] kbit";
  57. }
  58. else
  59. {
  60. $uceil="$ip11[0]";
  61. }
  62.  
  63. # Hosty z zalokowanym P2P
  64. $blokp2p=exec("cat /etc/firewall/22/rc.fire_p2p|grep -w '1:$kolejka'");
  65. $k1=explode(" ", $blokp2p);
  66. if ($k1[1]==true)
  67. {
  68. $blok_p2p="YES";
  69. }
  70. else
  71. {
  72. $blok_p2p="NO";
  73. }
  74.  
  75. # Maksymalna ilość połączeń
  76. $maxcon1=exec("cat /etc/firewall/22/rc.fire_nat|grep -w '1:$kolejka'");
  77. $maxcon2=explode(":", $maxcon1);
  78. $maxcon=$maxcon2[1];
  79.  
  80. # Maksymalna ilość połączeń P2P
  81. $polp2p1=explode(":", $maxcon1);
  82. $polp2p=$polp2p1[2];
  83.  
  84. # Maksymalna ilość połączeń P2P na sekunde
  85. $polsek1=explode(" ", $maxcon1);
  86. $polsek2=explode(":", $polsek1[0]);
  87. $polsek=$polsek2[3];
  88.  
  89. $nazwa=gethostbyaddr($ip);
  90. if ($nazwa==$ip)
  91. {
  92. $nazwa="";
  93. }
  94.  
  95. $drate0=$ip1[1];
  96. $dceil0=$ip1[2];
  97. $urate0=$ip1[3];
  98. $ip11=explode(" ", $ip1[4]);
  99. $uceil0=$ip11[0];
  100. $maxcon0=$maxcon2[1];
  101. $polp2p0=$polp2p1[2];
  102. $polsek0=$polsek2[3];
  103. echo "<tr bgcolor=$kolor><td align=center>$licz</td><td>$nazwa - $ip</td><td align=center>$drate</td><td align=center>$dceil</td><td align=center>$urate</td><td align=center>$uceil</td><td align=center>$maxcon/$polp2p/$polsek</td><td align=center>$blok_p2p</td><td align=center><a href=index2.php?strona=zmien&ip=$ip&drate=$drate0&dceil=$dceil0&urate=$urate0&uceil=$uceil0&ilpol=$maxcon0&polp2p=$polp2p0&polnasek=$polsek0>zmień</a></td></tr>";
  104. $licz=$licz+1;
  105. }
  106. }
  107. }
  108. else
  109. {
  110. echo "Błąd autoryzacji";
  111. }
  112. ?>
  113. </table>


Proszę używać odpowiedniego bbCode - DeyV
kocurkiewicz
spróbuj w tej formie, a następnie podaj co dokładnie nie działa:

  1. <?
  2. if (session_is_registered('zalogowany')){
  3. ?>
  4. <b><table border=1 bordercolor=black align=center>
  5. <b><tr><td><b>Lp.</b></td><td><b>Nazwa - IP</td><td><b>Download min</td><td><b>Download max</td><td><b>Upload min</td><td><b>Upload max</td><td><b>Max.poł.</b></td><td><b>Blok. P2P</b></td><td><center><b>*</b></center></td></tr></b>
  6. <?
  7. require('config.php');
  8. $ile=356;
  9. $licz=1;
  10. for ($kolejka=100; $kolejka<$ile; $kolejka++){
  11. if ($licz % 2==0) $kolor='#FFC980';
  12. else $kolor=white;
  13.  
  14. $dane=exec('cat /etc/firewall/22/rc.fire_p2p|grep -w '1:'.$kolejka.''');
  15. if ($dane){
  16. $ip1=explode(':', $dane);
  17. $ip=$ip1[0];
  18. if (!$ip1[1]!=auto) $drate=$ip1[1].' kbit';
  19. else $drate=$ip1[1];
  20.  
  21. if (!($ip1[2]==auto)) $dceil=$ip1[2].' kbit';
  22. else $dceil=$ip1[2];
  23. if ($ip1[3]!=auto)$urate=$ip1[3].' kbit';
  24. else $urate=$ip1[3];
  25. $ip11=explode(' ', $ip1[4]);
  26. if ($ip11!=auto)$uceil=$ip11[0].' kbit';
  27. else $uceil=$ip11[0];
  28.  
  29. # Hosty z zalokowanym P2P
  30. $blokp2p=exec('cat /etc/firewall/22/rc.fire_p2p|grep -w '1:'.$kolejka.''');
  31. $k1=explode(' ', $blokp2p);
  32. if ($k1[1]==true) $blok_p2p=YES;
  33. else $blok_p2p=NO;
  34.  
  35. # Maksymalna ilość połączeń
  36. $maxcon1=exec('cat /etc/firewall/22/rc.fire_p2p|grep -w '1:'.$kolejka.''');
  37. $maxcon2=explode(':', $maxcon1);
  38. $maxcon=$maxcon2[1];
  39.  
  40. # Maksymalna ilość połączeń P2P
  41. $polp2p1=explode(':', $maxcon1);
  42. $polp2p=$polp2p1[2];
  43.  
  44. # Maksymalna ilość połączeń P2P na sekunde
  45. $polsek1=explode(' ', $maxcon1);
  46. $polsek2=explode(':', $polsek1[0]);
  47. $polsek=$polsek2[3];
  48.  
  49. $nazwa=gethostbyaddr($ip);
  50. if ($nazwa==$ip) $nazwa=null;
  51. $drate0=$ip1[1];
  52. $dceil0=$ip1[2];
  53. $urate0=$ip1[3];
  54. $ip11=explode(' ', $ip1[4]);
  55. $uceil0=$ip11[0];
  56. $maxcon0=$maxcon2[1];
  57. $polp2p0=$polp2p1[2];
  58. $polsek0=$polsek2[3];
  59. echo '<tr bgcolor='.$kolor.'><td align=center>'.$licz.'</td><td>'.$nazwa.' - '.$ip.'</td><td align=center>'.$drate.'</td><td align=center>'.$dceil.'</td><td align=center>'.$urate.'</td><td align=center>'.$uceil.'</td><td align=center>'.$maxcon.'/'.$polp2p.'/'.$polsek.'</td><td align=center>'.$blok_p2p.'</td><td align=center><a href=index2.php?strona=zmien&ip='.$ip.'&drate='.$drate0.'&dceil=$dceil0&urate='.$urate0.'&uceil='.$uceil0.'&ilpol='.$maxcon0.'&polp2p='.$polp2p0.'&polnasek='.$polsek0.'>zmień</a></td></tr>';
  60. $licz=$licz+1;
  61. }}}
  62. else echo 'Błąd autoryzacji';
  63. ?>
  64. </table>



Edit: poprawka kodu
gervys79
Rozwiązałem problem okazało się że w pliku skąd pobieram dane były spacje zamiast tabulatora, ale dzięki za pomoć rozjaśniło mi to trochę jak można inaczej zapisać kod php.
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.