Anzeige

kleines script Fehler habe

kleines script Fehler habe | PSD-Tutorials.de

Erstellt von devilofcrash007, 06.06.2009.

  1. devilofcrash007

    devilofcrash007 Nicht mehr ganz neu hier

    Dabei seit:
    17.05.2009
    Beiträge:
    75
    Geschlecht:
    männlich
    kleines script Fehler habe
    hallo leute, ich habe mit jemanden aus einem irc network nen bissel php gewürfelt... nun habe ich aber ein problem... ich habe hier das script das soll eine anzeige aller generierten streamboxen anzeigen... nun habe ich unten noch ne seitenzahl stehen wieviele seiten das Gbook umfasst... nun wenn die beiträge vollständig ausgeschöpft sind für jede seite, erhalte ich immer eine neue seite schon dran (automatisch) die is aber noch leer, also sollte die ned zu sehen sein eig.. nun meine frage, wer kann mir da helfen?

    PHP:
    1. Hier finden wir Alle Generierten Streamboxen. Möchtest du auch eine?<br><br><center><a href="?id=stream-1">Hier klicken um eine Streambox zu generieren</a></center><br><br><table border="0" width="100%"><tr><?php
    2. function bcdiv($op1, $op2, $num=0)
    3. {
    4.     return number_format($op1/$op2, $num);
    5. }}
    6.  
    7. if (!isset($_GET['offset'])) {$offset = 0;} else {$offset = htmlentities(strip_tags($_GET['offset']));}
    8.  
    9. if (!mysql_connect($mysql_host,$mysql_user,$mysql_pass)) die('DB-Fehler');
    10. if (!mysql_select_db($mysql_table)) die('Table-Select Fehler');
    11.  
    12. $query = 'SELECT id,host,port,ip,img FROM streambox ORDER BY id DESC LIMIT '.$offset.' ,9;';
    13. if (!($sql = mysql_query($query))) {
    14.     die ('Etwas stimmte mit dem Query nicht: '.$query);
    15. }
    16. while ($row = mysql_fetch_row($sql)) {  // NULL ist äquivalent zu false
    17.     // $row ist nun das Array mit den Werten
    18. $i++;
    19. echo '<td height="180" width="25%" align="center"><iframe height="170" width="140" frameborder="0" scrolling="no" title="stream" src="http://devilofcrash.com/stream.php?img='.$row[4].'&server='.$row[1].'&port='.$row[2].'"></iframe></td>';
    20. if ($i==3) {
    21. echo "</tr><tr>";
    22. unset($i);
    23. }
    24. }
    25. echo '</table>';
    26. $entries = 0;
    27. $count = mysql_query('SELECT id FROM streambox WHERE 1=1');
    28. while ($row = mysql_fetch_row($count)) {$entries++;}
    29. echo '<table align="center" width="90%" style="text-align: center"><tr><td>';
    30.  
    31. for ($i = 0; $i < bcdiv($entries, 9, 0)+1; $i++) {echo '[<a href="./?id=stream&offset='.($i*9).'">'.($i+1).'</a>]&nbsp;';}
    32.  
    33. echo '</td></tr></table>';
    34. ?>
    hier is eine direkte url dazu
    http://devilofcrash.com/?id=stream
     
    #1      
  2. r3nt5ch3r

    r3nt5ch3r ~ Allround pG ~

    Dabei seit:
    10.03.2006
    Beiträge:
    1.836
    Geschlecht:
    männlich
    kleines script Fehler habe
    AW: kleines script Fehler habe

    So hab glei ma bissl aufgeräumt. Sicherheitslücken geschlossen ($offset -> war falsch escaped -> SQL Injection möglich), unnötige Funktionen entfernt (bcdiv() -> hatte die einen tieferen Sinn?), Fehlerausgabe des Queries entfernt (extreme Sicheitslücke bei SQL Injections...), dein Bug gefixt, Quellcode gesäubert (z.B.: "WHERE 1=1" -> ok das ist fast schon lustig xD), möglichkeit die Items pro Seite zu "konfigurieren" hinzugefügt...

    PHP:
    1. Hier finden wir Alle Generierten Streamboxen. Möchtest du auch eine?<br><br><center><a href="?id=stream-1">Hier klicken um eine Streambox zu generieren</a></center><br><br><table border="0" width="100%"><tr>
    2. <?php
    3.  
    4. $itemsPerPage = 9;
    5.  
    6. if(!mysql_connect($mysql_host, $mysql_user, $mysql_pass))
    7.     die('DB-Fehler');
    8. if(!mysql_select_db($mysql_table))
    9.     die('Table-Select Fehler');
    10.  
    11. $offset = isset($_GET['offset']) ? intval($_GET['offset']) : 0;
    12.  
    13. $sql = mysql_query('SELECT *
    14.                    FROM streambox
    15.                    ORDER BY id DESC
    16.                    LIMIT '.$offset.' ,'.$itemsPerPage);
    17.  
    18. $i = 0;
    19. while ($row = mysql_fetch_array($sql)) {
    20.     $i++;
    21.     echo '<td height="180" width="25%" align="center"><iframe height="170" width="140" frameborder="0" scrolling="no" title="stream" src="http://devilofcrash.com/stream.php?img='.$row['img'].'&server='.$row['host'].'&port='.$row['port'].'"></iframe></td>';
    22.     if($i % 3 == 0) {
    23.         echo "</tr><tr>";
    24.     }
    25. }
    26. echo '</table>';
    27.  
    28. $count = mysql_query('SELECT count(id) FROM streambox');
    29. $row = mysql_fetch_array($count);
    30. $entries = $row[0];
    31.  
    32. echo '<table align="center" width="90%" style="text-align: center"><tr><td>';
    33.  
    34. for ($i = 0; $i < ceil($entries/$itemsPerPage); $i++) {
    35.     echo '[<a href="./?id=stream&offset='.($i * $itemsPerPage).'">'.($i + 1).'</a>]&nbsp;';
    36. }
    37. echo '</td></tr></table>';
    38. ?>
    einziger Bug der noch drin ist:
    PHP:
    1.     if($i % 3 == 0) {
    2.         echo "</tr><tr>";
    3.     }
    am ende wird ein <tr> zu viel ausgegeben... aber das problem kannst du ja lösen^^
     
    Zuletzt bearbeitet: 06.06.2009
    #2      
  3. devilofcrash007

    devilofcrash007 Nicht mehr ganz neu hier

    Dabei seit:
    17.05.2009
    Beiträge:
    75
    Geschlecht:
    männlich
    kleines script Fehler habe
    AW: kleines script Fehler habe

    danke dir für die Säuberrung, die bcdiv hatten wir nur eingetragen weil eine funktion nicht funktionierte oder der gleichen, habe das ja wie oben gesagt mit jemandem aussem irc das gemacht und der hat mir das so gegeben gehabt. aber nun funzt das sauber, ich bedanke mich bei dir

    *bissu weiblich? dann hier bussy uff wange drück*
     
    #3      
Seobility SEO Tool
x
×
×