Antworten auf deine Fragen:
Neues Thema erstellen

kleines script Fehler habe

devilofcrash007

Nicht mehr ganz neu hier

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:
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
if (!function_exists(bcdiv)) {
function bcdiv($op1, $op2, $num=0)
{
    return number_format($op1/$op2, $num);
}}

if (!isset($_GET['offset'])) {$offset = 0;} else {$offset = htmlentities(strip_tags($_GET['offset']));}

if (!mysql_connect($mysql_host,$mysql_user,$mysql_pass)) die('DB-Fehler');
if (!mysql_select_db($mysql_table)) die('Table-Select Fehler');

$query = 'SELECT id,host,port,ip,img FROM streambox ORDER BY id DESC LIMIT '.$offset.' ,9;';
if (!($sql = mysql_query($query))) {
    die ('Etwas stimmte mit dem Query nicht: '.$query);
}
while ($row = mysql_fetch_row($sql)) {  // NULL ist äquivalent zu false
    // $row ist nun das Array mit den Werten
$i++;
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>';
if ($i==3) {
echo "</tr><tr>";
unset($i);
}
}
echo '</table>';
$entries = 0;
$count = mysql_query('SELECT id FROM streambox WHERE 1=1');
while ($row = mysql_fetch_row($count)) {$entries++;}
echo '<table align="center" width="90%" style="text-align: center"><tr><td>';

for ($i = 0; $i < bcdiv($entries, 9, 0)+1; $i++) {echo '[<a href="./?id=stream&offset='.($i*9).'">'.($i+1).'</a>]&nbsp;';}

echo '</td></tr></table>';
?>

hier is eine direkte url dazu
 

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:
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

$itemsPerPage = 9;

if(!mysql_connect($mysql_host, $mysql_user, $mysql_pass))
    die('DB-Fehler');
if(!mysql_select_db($mysql_table))
    die('Table-Select Fehler');

$offset = isset($_GET['offset']) ? intval($_GET['offset']) : 0;

$sql = mysql_query('SELECT *
                    FROM streambox
                    ORDER BY id DESC
                    LIMIT '.$offset.' ,'.$itemsPerPage);

$i = 0;
while ($row = mysql_fetch_array($sql)) { 
    $i++;
    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>';
    if($i % 3 == 0) {
        echo "</tr><tr>";
    }
}
echo '</table>';

$count = mysql_query('SELECT count(id) FROM streambox');
$row = mysql_fetch_array($count);
$entries = $row[0];

echo '<table align="center" width="90%" style="text-align: center"><tr><td>';

for ($i = 0; $i < ceil($entries/$itemsPerPage); $i++) {
    echo '[<a href="./?id=stream&offset='.($i * $itemsPerPage).'">'.($i + 1).'</a>]&nbsp;';
}
echo '</td></tr></table>';
?>

einziger Bug der noch drin ist:
PHP:
    if($i % 3 == 0) {
        echo "</tr><tr>";
    }

am ende wird ein <tr> zu viel ausgegeben... aber das problem kannst du ja lösen^^
 
Zuletzt bearbeitet:
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*
 
Bilder bitte hier hochladen und danach über das Bild-Icon (Direktlink vorher kopieren) platzieren.
Antworten auf deine Fragen:
Neues Thema erstellen

Willkommen auf PSD-Tutorials.de

In unseren Foren vernetzt du dich mit anderen Personen, um dich rund um die Themen Fotografie, Grafik, Gestaltung, Bildbearbeitung und 3D auszutauschen. Außerdem schalten wir für dich regelmäßig kostenlose Inhalte frei. Liebe Grüße senden dir die PSD-Gründer Stefan und Matthias Petri aus Waren an der Müritz. Hier erfährst du mehr über uns.

Stefan und Matthias Petri von PSD-Tutorials.de

Nächster neuer Gratisinhalt

03
Stunden
:
:
25
Minuten
:
:
19
Sekunden

Flatrate für Tutorials, Assets, Vorlagen

Zurzeit aktive Besucher

Statistik des Forums

Themen
118.989
Beiträge
1.540.244
Mitglieder
68.195
Neuestes Mitglied
PSDLutzifer
Oben