Es werden zuviele Seiten angezeigt
Malte
- php
1 Julian von Mendel0 dedlfix0 Malte0 Malte
HI,
bei meinem Forum habe ich noch ein Problem. Wenn ich sage der User will nur einen Post pro Seiten sehen habe ich immer zwei Seiten zuviel. Oder besser gesagt es ist immer so. Er hat dann immer zwei Seiten zuviel und ich weiß nicht warum:
Ausgeben der Posts
<?php
error_reporting(E_ALL);
include ("function/function/verbindung.php");
session_start();
[b]include("seiten_trenner_posts.php");[/b]
$sql="SELECT title FROM threads WHERE id =".$_GET['thread_id'] ." ";
$result = mysql_query($sql) or die(mysql_error().'<br />Query: '.$sql);
while ($thread = mysql_fetch_array($result)) {
$title = $thread['title'];
}
$sql="SELECT views FROM threads WHERE id =".$_GET['thread_id']."";
$result = mysql_query($sql) or die(mysql_error().'<br />Query: '.$sql);
while ($thread = mysql_fetch_array($result)) {
$views = $thread['views'];
}
$views = $views + 1;
$sql = "UPDATE threads SET views = '".$views."' WHERE id ='".$_GET["thread_id"]."'";
mysql_query($sql) OR die(mysql_error());
$sql="SELECT id, post, autor_id, date FROM posts WHERE thread_id =".$_GET['thread_id']." LIMIT [b]$start,$limit[/b]";
$result = mysql_query($sql) or die(mysql_error().'<br />Query: '.$sql);
while($post = mysql_fetch_array($result))
{
$beitrag_id[] = $post['id'];
$beitrag[] = $post['post'];
$beitrag_autorid[] = $post['autor_id'];
$beitrag_date[] = $post['date'];
}
for ($i = 0; $i < count($beitrag_autorid); $i++)
{
$sql="SELECT username, avatar, rang, posts, gender, admin FROM user WHERE id =".$beitrag_autorid[$i]."";
$result = mysql_query($sql) or die(mysql_error().'<br /><b>Query:</b> '.$sql);
while($autor = mysql_fetch_array($result))
{
$autor_avatar[]= $autor['avatar'];
$autor_username[]= $autor['username'];
$autor_rang[] = $autor['rang'];
$autor_posts[] = $autor['posts'];
$autor_gender[] = $autor['gender'];
$autor_admin[] = $autor['admin'];
}
}
$j=0;
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Forum</title>
<link href="style/style.css" rel="stylesheet" type="text/css">
<script language="JavaScript">
<!--
function SmilieEinfuegen(Smilie)
{
document.message.message.value+=Smilie+" ";
document.message.message.focus();
}
function BBCODES(bbcodes)
{
document.message.message.value+=bbcodes+" ";
document.message.message.focus();
}
//-->
</script>
</head>
<body>
<center>
<div id="top_line">
<center><a class="top_line" href="forum.php">Forum</a></center>
</div>
<div id="link_line">
<center>
<?php
if(isset($_SESSION["user_username"]) && $_SESSION["user_password"] != "")
{
}
else
{
echo'| <a class="link_line" href="forum.php?action=register">Registrieren</a> ';
}
if(isset($_SESSION["user_username"]) && $_SESSION["user_password"] != "")
{
}
else
{
echo'| <a class="link_line" href="forum.php?action=login">Login</a>';
}
?>
| <a class="link_line" href="forum.php?action=profil">Profil</a>
| <a class="link_line" href="forum.php?action=members">Mitglieder</a>
| <a class="link_line" href="forum.php?action=search">Suchen</a>
| <a class="link_line" href="forum.php?action=help">Hilfe</a>
<?php
if(isset($_SESSION["user_username"]) && $_SESSION["user_password"] != "")
{
echo'| <a class="link_line" href="forum.php?action=logout">Logout</a> |';
}
else
{
echo'| ';
}
?>
</center>
</div>
<br>
<?php
echo'
<br>
<table class="threads">
<tr>
<td class="title"><center><b>'.$title.'</b></center></td>
</tr>
</table>
<br>
<table class="user_show">
<tr>
<td class="threads"> Autor</td>
<td colspan="2" class="threads"> Beitrag</td>
</tr>';
for ($i = 0; $i < count($beitrag_autorid); $i++)
{
include_once("function/function/bbcodes.php");
$beitrag[$i] = php ( $beitrag[$i] );
$beitrag[$i] = bbcode ( $beitrag[$i] );
include_once("function/function/smilies.php");
$beitrag[$i] = smilies ( $beitrag[$i] );
if($j%2==0){$bgcolor="#cecece";}
else{$bgcolor="#acacac";}
echo'
<tr>
<td bgcolor='.$bgcolor.' width="20%" style="border: 1px solid black"><br><center>';
if($autor_avatar[$i] == "" && $autor_admin[$i]== '1')echo '<img src="style/admin_avatar.jpg" border="1px" bordercolor="#000000" width="100px" height="100px">';
else if($autor_avatar[$i] == "")echo '<img border="1px" bordercolor="#000000" src="style/user_avatar.jpg" width="100px" height="100px">';
else{
echo'
<img src="'.$autor_avatar[$i].'" border="1px" bordercolor="#000000" width="100px" height="100px">';}
echo'<br><br>
<table class="user_interface2">
<tr>
<td bgcolor="#ededed"><i>Autor</i></td>
<td bgcolor="#ededed">:</td>
<td bgcolor="#ededed"> '.$autor_username[$i].'</td>
</tr>
<tr>
<td bgcolor="#ededed"><i>Rang</i></td>
<td bgcolor="#ededed">:</td>
<td bgcolor="#ededed"> '.$autor_rang[$i].'</td>
</tr>
<tr>
<td bgcolor="#ededed"><i>Geschlecht</i></td>
<td bgcolor="#ededed">:</td>
<td bgcolor="#ededed"> ';if($autor_gender[$i] == '0'){ echo "männlich";} else if($autor_gender[$i] == '1') {echo "weiblich";}echo'</td>
</tr>
<tr>
<td bgcolor="#ededed"><i>Post vom:</i></td>
<td bgcolor="#ededed">:</td>
<td bgcolor="#ededed"> '.date("H:i ; d.m", $beitrag_date[$i]).'</td>
</tr>
</table>
</center>
</td>
<td bgcolor='.$bgcolor.' style="vertical-align:top;border: 1px solid black;padding-left:5px;font-weight:normal" >
'.stripslashes($beitrag[$i]).'
</td>
</tr>';
$j++;
}
echo'
</table><br>';
[b]include('seiten_posts.php');[/b]
echo"<br>";
if(isset($_SESSION["user_username"]) && $_SESSION["user_password"] != "")
{
echo'<br><center> [ <a class="small" href="new_post.php?forum_id='.$_GET["forum_id"].'&thread_id='.$_GET['thread_id'].'">Antworten</a> ]</center><br>';
echo "<br>";
include("function/user/user.php");
}
echo "<br>";
include("function/online/online_now.php");
?>
</body>
</html>
[b]ier jetzt seiten_post.php:[/b]
[code lang =php]<?php echo '<span style="color:#1f75de"><b>Seite:</b></span> '; $prev_site = $site-1; $next_site = $site+1;
$addy = "posts.php?forum_id=".$_GET["forum_id"]."&thread_id=".$_GET["thread_id"].""; if($site > 1)echo '<A CLASS="small" HREF="'.$addy.'">««</A> <A CLASS="small" HREF="'.$addy.'&site='.$prev_site.'">«</A>';
$count = 1;
while($count <= $sites) { if($site != $count) { echo '<A CLASS="small" HREF="'.$addy.'&site='.$count.'"><span style="color:#1f75de">'.$count.'</span></A>'; } else{
echo $count; } echo ' '; $count++; } if($site < $sites)echo '<A CLASS="small" HREF="'.$addy.'&site='.$next_site.'">»</A> <A CLASS="small" HREF="'.$addy.'&site='.$sites.'">»»</A><br><br>';
?> [/code]
[b]und hier seiten_trenner_posts.php[/b]
<?php
error_reporting(E_ALL);
if(isset($_SESSION["user_username"]) && $_SESSION["user_password"] != "")
{
$sql = "SELECT posts_site FROM user WHERE username = '".$_SESSION["user_username"]."' AND password = '".$_SESSION["user_password"]."'";
$result = mysql_query($sql) or die(mysql_error().'<br />Query: '.$sql);
while ($posts = mysql_fetch_array($result)) {
$seiten = $posts["posts_site"];
}
}
else
{
echo"";
}
if(@!$site)$site = 1;
if(isset($_SESSION["user_username"]) && $_SESSION["user_password"] != "")
{
$limit = $seiten;
}
else
{
$limit = 10;
}
// Ändere diese zahl um die zahl der maximalen beiträge auf einer seite zu ändern
$start = ($site-1)*$limit;
$sql_sites = "SELECT * FROM user";
$result_sites = mysql_query($sql_sites);
$num_sites = mysql_num_rows($result_sites);
$sites = ceil($num_sites/$limit);
?>
Hi,
reduziere deinen Code auf den relevanten Teil. Niemand wird ihn komplett durcharbeiten wollen.
Schöne Grüße
Julian
echo $begrüßung;
bei meinem Forum habe ich noch ein Problem. Wenn ich sage der User will nur einen Post pro Seiten sehen habe ich immer zwei Seiten zuviel. Oder besser gesagt es ist immer so. Er hat dann immer zwei Seiten zuviel und ich weiß nicht warum:
Lerne deinen Code selbst zu debuggen. Lass dir Variableninhalte und Funktionsergebnisse ausgeben und vergleiche sie mit dem von dir erwarteten Ergebnis. Somit kannst du die Ursache für das Fehlverhalten ermitteln.
echo "$verabschiedung $name";
Hi,
ok ich habe den Anfang des Forum mal hochgeladen.
Ihr könnt euch mit folgenden Daten Einloggen:
http://newwarrior.milten.lima-city.de/forum/forum.php?action=login
Login: test
Passwort: test
Und dann klickt ihr auch den Link:
http://newwarrior.milten.lima-city.de/forum/posts.php?forum_id=1&thread_id=1
Dort könnt ihr euch ansehen was ich meine. Auf drei Seiten steht nur ein Beitrag, und es werden aber 5 Seiten angezeigt und ich weiß nicht warum.
Danke für die Hilfe.
Habe den Fehler bereits gefunden und behoben.
Wünsche alle Forum Besuchern ein Frohes Fest!!!