Archiv verlassen und diese Seite im Standarddesign anzeigen : kleines problem mit bedanko
ich hab bei mir im forum ein kleines problem
wenn ich mich bedanke und ein user nach mir, dann kann ich mich nochmal bedanken
ich hoffe ihr wisst was ich meine
leider finde ich nicht wo der fehler sein soll evt kann mir einer helfen
hier mal die sache
$bedanko = $arr["bedanko"];
//---- Get poster thanks
$resa = mysql_query("SELECT * FROM postthanks WHERE topicid = $topicid") or sqlerr(__FILE__, __LINE__);
if (mysql_num_rows($resa) > 0) {
while ($arra = mysql_fetch_array($resa)) {
$ptuserid = $arra["userid"];
$ptpostid = $arra["postid"];
$resb = mysql_query("SELECT id, username, class, anon FROM users WHERE id = $ptuserid") or print(mysql_error());
while ($arrb = mysql_fetch_assoc($resb)) {
if ($thanks) $thanks .= ",\n";
if ($arrb[anon] == no || (($arrb[id] == $CURUSER[id]) || get_user_class() >= UC_MODERATOR)) {
$thanks .= "<a href=userdetails.php?id=" . $arrb["id"] . "><font class=".get_class_color($arrb["class"])."><b>" . $arrb["username"] . "</b></font></a>";
} else {
$thanks .= "<font class=".get_class_color($arrb["class"])."><b>" . $arrb["username"] . "</b></font>";
}
}
}
}
$thanksbutton = ("<form method=\"post\" action=\"forums.php?action=thanks&topicid=$topicid&postid=$postid&userid=$userid\" style=\"display:inline\"><input type=\"submit\" value=\"Bedanken\"></form>");
//---- Get poster detailsund hier der aufruf
if ($bedanko == "2" && $ptuserid != $CURUSER[id]) {
$body1 .= "<br>$thanksbutton<br>";
}
if ($thanks && $ptpostid == $postid) {
$body1 .= "<br>Für diesen Beitrag haben sich bedankt:";
$body1 .= "<br>$thanks";
}lg asus
das prop haben viele unteranderem ich
und brauche auch ne info...
alles scheisse außer mutti :D
alles scheisse außer mutti :D
nich meggern ... php.net
das ding sollte ma dringend überarbeitet werden^^ schau ma ob es geht. Ansonsten bitte gute ne gute beschreibung abgeben was nicht geht
// edit, hab ne var falsch benannt, ist hier korrigiert
<?php
$bedanko = $arr['bedanko'];
//---- Get poster thanks
$resa = mysql_query('
SELECT
`userid` AS `thxUser`,
`postid`,
(SELECT `username` FROM `users` WHERE `id` = `thxUser`) AS `userName`,
(SELECT `class` FROM `users` WHERE `id` = `thxUser`) AS `userClass`,
(SELECT `anon` FROM `users` WHERE `id` = `thxUser`) AS `anonym`
FROM
`postthanks`
WHERE
`topicid` = ' . $topicid) or sqlerr(__FILE__, __LINE__);
if (mysql_num_rows($resa) > 0) {
$thxUser = Array();
$thxPostID = Array();
$thanks = Array();
while ($arra = mysql_fetch_assoc($resa))
{
$thxUser[] = $arra['thxUser'];
$thxPostID[] = $arra['postid'];
if ($arra['anonym'] == 'no' || $arra['thxUser'] == $CURUSER['id'] || get_user_class() >= UC_MODERATOR) {
$thanks[] = '<a href="userdetails.php?id=' . $arra['userid'] . '"><font class=' . get_class_color($arra['userClass']) . '><b>' . $arra['userName'] . '</b></font></a>';
}
else {
$thanks[] = '<font class=' . get_class_color($arra['userClass']) . '><b>' . $arra['userName'] . '</b></font>';
}
}
}
$thanksbutton = '<form method="post" action="forums.php?action=thanks&topicid=' . $topicid . '&postid=' . $postid . '&userid=' . $userid .'" style="display: inline;">
<input type="submit" value="Bedanken">
</form>';
//---- Get poster details
if ( $bedanko == 2 && !in_array($CURUSER['id'], $thxUser) ) {
$body1 .= '<br />' . $thanksbutton . '<br />';
}
if ( !empty($thanks) && !in_array($postid, $thxPostID) ) {
$body1 .= '<br />Für diesen Beitrag haben sich bedankt:';
$body1 .= '<br />' . implode(', ', $thanks);
}
hmm ich hab bei deiner nur nen danke button klick ich drauf passiert nix und die alten thanks sind auch nicht mehr zu sehn
nimm den code nochma, hab ihn editiert
ok hab mich bei deinem bedankt nur sehe ich keine namen auch bei den alten threads nicht
button kommt nciht wieder
mach doch mal nen paar debug ausgaben ... fummel dich durch. Guck was der query leifert und die prüfungen ergeben. Morgen hab ich etwas Zeit... bin heut den 6 Tag arbeiten und muss morgen auch um 7 auf arbeit sein. Bin zu fertig heute ^^
ok ich schau noch etwas evt bekomm ich es ja hin danke dir aber schonmal
--======================================--
--== Beitrag erstellt: 00:32 um 00:30 ==--
--== geantwortet auf Beitrag vom ==--
--== automatische Beitragszusammenführung ==--
--======================================--
asus schrieb nach 1 Minute und 47 Sekunden:
habs hinbekommen
das
$thxPostID[] = $arra['postid'];
muss so
$thxPostID[] = $arra['posterid'];
--======================================--
--== Beitrag erstellt: 00:34 um 00:32 ==--
--== geantwortet auf Beitrag vom ==--
--== automatische Beitragszusammenführung ==--
--======================================--
asus schrieb nach 2 Minuten und 11 Sekunden:
aber schon kommt das nächste aufn tisch hehe
nun seh ich bei jedem post wer sich bedankt hat ich schau nochmal ^^
wo holstn das her?
$thxPostID[] = $arra['posterid'];
in der Abfrage is das nicht mit bei ...
ne hast recht aufjedenfall waren die ersten danke im ersten post wenn ich es so gemacht habe
hab nur noch das problem das die überall angezeigt wird nur im ersten post nicht
http://www.netvision-technik.de/forum/picture.php?albumid=45&pictureid=328
seh ich das richtig das man sich für jeden Beitrag bedanken kann ...? Ich kenne es das man sich fürn Thread bedankt, aber jeden einzelnen Beitrag is doch etwas naja übertrieben, ist doch nen overhead vom feinsten!
Also nochmal von vorne:
Was genau funktioniert jetzt?
Kannst du dich nur einmal bedanken?
geht das Bedanken überhaupt?
Anzeige bei allen Beiträgen ausser dem ersten?
Oder den letzten?
nein mann kann sich nur fpr diesen thread bedanken!
der danke button befindet sich im ersten post!
sobald ich drauf klicke ist er weg und kommt für diesen user auch nciht wieder! (so wie es soll)
Anzeige bei allen Beiträgen ausser dem ersten!
warum werden die User die sich bedankt haben in jedem Beitrag angezeigt? Sollte doch nur einmal sein, am besten direkt uter dem Startbeitrag, oder?
ja so sollte es schon ich hab das gleiche auch
ja die sollen unter dem ersten beitrag oder unter dem ganzen thread ist eigendlich egal
nur wenn ich es woanders hinsetze sieht man nix
--======================================--
--== Beitrag erstellt: 11:16 um 11:07 ==--
--== geantwortet auf Beitrag vom ==--
--== automatische Beitragszusammenführung ==--
--======================================--
asus schrieb nach 8 Minuten und 31 Sekunden:
immoment sieht es bei mir so aus (nicht aufgeräumt kommt später)
while ($arr = mysql_fetch_assoc($res)) {
++$pn;
$postid = $arr["id"];
$posterid = $arr["userid"];
$added = $arr["added"];
$body = $arr["body"];
$email = $arr["guestmail"];
$user = $arr["guestname"];
$answer = $arr["answer"];
$res2 = mysql_query("SELECT * FROM users WHERE id=$posterid") or sqlerr(__FILE__, __LINE__);
$arr2 = mysql_fetch_assoc($res2);
$anon = $arr2[anon];
$sig = $arr2[sig];
$dt = time() - 180;
$dt = sqlesc(get_date_time($dt));
$postername = ("<font class=\"".get_class_color($arr2['class'])."\">$arr2[username]</font>");
if ($arr[guestuser] == "yes") {
$by = "<b>Gast: $arr[guestname]</b>";
} else {
if ($arr2[username] == "") {
$by = "<b>Gelöscht</b>";
} else {
if ($anon && (($posterid == $CURUSER[id]) || get_user_class() >= UC_MODERATOR)) {
$by = "<a href=userdetails.php?id=$posterid><b>$postername</b></a>" . ($arr2["donor"] == "yes" ? " <img src=\"".
$GLOBALS["PIC_BASE_URL"]."star.gif\" title=\"Dieses Mitglied hat gespendet\">" : "") . ($arr2["enabled"] == "no" ? "<img src=\"".
$GLOBALS["PIC_BASE_URL"]."disabled.gif\" title=\"Dieses Mitglied wurde gesperrt\" style='margin-left: 2px'>" : ($arr2["warned"] == "yes" ? "<a href=rules.php#warning class=altlink><img src=\"".$GLOBALS["PIC_BASE_URL"]."warned.gif\" title=\"Dieses Mitglied wurde verwarnd\" border=\"0\"></a>" : "")) . "";
} else {
$by = "<b>$postername</b>";
}
}
}
print("<a name=$postid>");
if ($pn == $pc) {
print("<a name=last>");
if ($postid > $lpr)
mysql_query("UPDATE readposts SET lastpostread=$postid WHERE userid=$userid AND topicid=$topicid") or sqlerr(__FILE__, __LINE__);
}
if ($arr2["avatar"]) {
$avatar = ("<img style=\"width:120px;\" src=\"".htmlspecialchars($arr2["avatar"])."\">");
} else {
$avatar = ("<img style=\"max-width:120px;\" src=\"".$GLOBALS["PIC_BASE_URL"]."default_avatar.gif\">");
}
$res3 = mysql_query("SELECT COUNT(*) FROM posts WHERE userid=$posterid") or sqlerr(__FILE__, __LINE__);
$arr3 = mysql_fetch_row($res3);
$forumposts = $arr3[0];
print("<table align=\"center\" cellpadding=\"4\" cellspacing=\"1\" border=\"0\" width=\"770\" class=\"tableinborder\">
<tr><td align=\"center\" class=\"tabled\">$by</td>
<td class=\"tabled\" style=\"vertical-align: middle;\">
<table width=\"100%\"><tr><td class=\"tabled\"><b>Vom:</b> $added</td>
<td align=\"right\" class=\"tabled\" style=\"vertical-align: middle;\">");
if ($arr["guestuser"] == "no") {
print("$aktion");
} else {
if ($arr["guestuser"] == "yes" && $arr["answer"] == "no") {
print("<form method=\"post\" action=\"staffemail.php?action=send&email=$email&user=$user&title=$subject&postid=$postid\" style=\"display:inline\"><input type=\"submit\" value=\"Antworten\"></form>");
} else {
print("<form method=\"post\" action=\"forums.php?action=answer&topicid=$topicid&postid=$postid\" style=\"display:inline\"><input type=\"submit\" value=\"Bearbeitet\"></form>");
}
}
if ($arr[guestuser] == "no") {
if (!$locked && $maypost) {
print(" <form method=\"post\" action=\"forums.php?action=quotepost&topicid=$topicid&postid=$postid\" style=\"display:inline\"><input type=\"submit\" value=\"Zitieren\"></form>");
}
if (($CURUSER["id"] == $posterid && !$locked) || get_user_class() >= UC_MODERATOR) {
print(" <form method=\"post\" action=\"forums.php?action=edit&postid=$postid&forumid=$forumid\" style=\"display:inline\"><input type=\"submit\" value=\"Bearbeiten\"></form>");
}
if (get_user_class() >= UC_MODERATOR) {
print(" <form method=\"post\" action=\"forums.php?action=deletepost&postid=$postid&forumid=$forumid\" style=\"display:inline\"><input type=\"submit\" value=\"Löschen\"></form>");
}
}
if ($arr[guestuser] == "no") {
print(" <form method=\"post\" action=\"treport.php?postid=$postid\" style=\"display:inline\"><input type=\"submit\" value=\"Melden\"></form>");
}
print(" <a href=\"#top\"><img src=\"".$GLOBALS["PIC_BASE_URL"]."top.gif\" border=0 title='Top'></a></td></tr></table></td></tr>");
print("<tr><td align=\"center\" valign=\"top\" class=\"tableb\" width=\"120\">");
print("<table align=\"center\" cellpadding=\"4\" cellspacing=\"0\" border=\"0\" width=\"100\">
<tr><td align=\"center\" valign=\"top\" class=\"tabled\" width=\"120\">$avatar</td></tr>");
print("<tr><td class=\"tabled\" width=\"120\">");
if ($forumposts && (($posterid == $CURUSER[id]) || get_user_class() >= UC_MODERATOR)) {
print("Beiträge: <a href=\"userhistory.php?action=viewposts&id=$posterid\">$forumposts</a>");
} else {
print("Beiträge: $forumposts");
}
print("</td></tr></table>");
$body1 = "".format_comment($arr["body"])."";
$bedanko = $arr['bedanko'];
//---- Get poster thanks
$resa = mysql_query('
SELECT
`userid` AS `thxUser`,
`postid`,
(SELECT `username` FROM `users` WHERE `id` = `thxUser`) AS `userName`,
(SELECT `class` FROM `users` WHERE `id` = `thxUser`) AS `userClass`,
(SELECT `id` FROM `users` WHERE `id` = `thxUser`) AS `userid`,
(SELECT `anon` FROM `users` WHERE `id` = `thxUser`) AS `anonym`
FROM
`postthanks`
WHERE
`topicid` = ' . $topicid) or sqlerr(__FILE__, __LINE__);
if (mysql_num_rows($resa) > 0) {
$thxUser = Array();
$thxPostID = Array();
$thanks = Array();
while ($arra = mysql_fetch_assoc($resa))
{
$thxUser[] = $arra['thxUser'];
$thxPostID[] = $arra['postid'];
if ($arra['anonym'] == 'no' || $arra['thxUser'] == $CURUSER['id'] || get_user_class() >= UC_MODERATOR) {
$thanks[] = '<a href="userdetails.php?id=' . $arra['userid'] . '"><font class=' . get_class_color($arra['userClass']) . '><b>' . $arra['userName'] . '</b></font></a>';
}
else {
$thanks[] = '<font class=' . get_class_color($arra['userClass']) . '><b>' . $arra['userName'] . '</b></font>';
}
}
}
$thanksbutton = '<form method="post" action="forums.php?action=thanks&topicid=' . $topicid . '&postid=' . $postid . '&userid=' . $userid .'" style="display: inline;">
<input type="submit" value="Bedanken">
</form>';
//---- Get poster details
if ( $bedanko == 2 && !in_array($CURUSER['id'], $thxUser) ) {
$body1 .= '<br />' . $thanksbutton . '<br />';
}
if ( !empty($thanks) && !in_array($postid, $thxPostID) ) {
$body1 .= '<br />Für diesen Beitrag haben sich bedankt:';
$body1 .= '<br />' . implode(', ', $thanks);
}
if (is_valid_id($arr['editedby'])) {
$res4 = mysql_query("SELECT id, username, class, anon FROM users WHERE id=$arr[editedby]");
if (mysql_num_rows($res4) == 1) {
$arr4 = mysql_fetch_assoc($res4);
if ($arr4[anon] == no || (($arr4[id] == $CURUSER[id]) || get_user_class() >= UC_MODERATOR)) {
$body1 .= "<br><br><font class=\"smallfont\">Zuletzt bearbeitet von <a href=\"userdetails.php?id=$arr[editedby]\"><b><font class=\"".get_class_color($arr4["class"])."\">$arr4[username]</font></b></a> am $arr[editedat]</font>.";
} else {
$body1 .= "<br><br><font class=\"smallfont\">Zuletzt bearbeitet von <b><font class=\"".get_class_color($arr4["class"])."\">$arr4[username]</font></b> am $arr[editedat]</font>.";
}
}
}
if ($sig) {
$body1 .= "<br>____________________<br>".format_comment($sig)."";
}
print("</td><td class=\"tablea\" valign=\"top\" width=\"650\"><div style=\"width:100%;min-height:100px;overflow:auto;\">".$body1."</div></td></tr>");
print("<tr><td align=\"center\" class=\"tableb\">");
print(" ".("'" . $arr2['last_access'] . "'" > $dt?"<font color=\"green\"><b>Online</b></font>":"<font color=\"red\"><b>Offline</b></font>") . "");
print("</td><td class=\"tableb\">");
if ($arr[guestuser] == "no") {
if ($CURUSER[id] != $posterid) {
print(" <form method=\"post\" action=\"messages.php?action=send&receiver=$posterid\" style=\"display:inline\"><input type=\"submit\" value=\"PN\" class=\"btn\"></form>");
print(" <form method=\"post\" action=\"friends.php?action=add&targetid=$posterid&type=friend\" style=\"display:inline\"><input type=\"hidden\" name=\"type\" value=\"friend\"><input type=\"submit\" value=\"Freund\" class=\"btn\"></form>");
print(" <form method=\"post\" action=\"friends.php?action=add&targetid=$posterid&type=block\" style=\"display:inline\"><input type=\"hidden\" name=\"type\" value=\"block\"><input type=\"submit\" value=\"Blocken\" class=\"btn\"></form>");
}
if ($arr2[anon] == no || (($posterid == $CURUSER[id]) || get_user_class() >= UC_MODERATOR)) {
if ($arr2["icq"]) {
print(" <img style=\"vertical-align: middle;\" src=\"http://web.icq.com/whitepages/online?icq=".$arr2["icq"]."&img=5\" alt=\"icq\" title=\"icq\" border=\"0\"> ".htmlspecialchars($arr2["icq"])."");
}
if ($arr2["msn"]) {
print(" <img style=\"vertical-align: middle;\" src=\"".$GLOBALS["PIC_BASE_URL"]."/messenger/msn.gif\" alt=\"msn\" title=\"msn\" border=\"0\"> ".htmlspecialchars($arr2["msn"])."");
}
if ($arr2["aim"]) {
print(" <img style=\"vertical-align: middle;\" src=\"".$GLOBALS["PIC_BASE_URL"]."/messenger/aim.gif\" alt=\"aim\" title=\"aim\" border=\"0\"> ".htmlspecialchars($arr2["aim"])."");
}
if ($arr2["yahoo"]) {
print(" <img style=\"vertical-align: middle;\" src=\"".$GLOBALS["PIC_BASE_URL"]."/messenger/yahoo.gif\" alt=\"yahoo\" title=\"yahoo\" border=\"0\"> ".htmlspecialchars($arr2["yahoo"])."");
}
if ($arr2["skype"]) {
print(" <img style=\"vertical-align: middle;\" src=\"http://mystatus.skype.com/smallicon/".$arr2["skype"]."\" alt-\"skype\" title=\"skype\" border=\"0\"> ".htmlspecialchars($arr2["skype"])."");
}
}
}
print("</td></tr></table><br>");
}
so setze ich dieses
if ( !empty($thanks) && !in_array($postid, $thxPostID) ) {
$body1 .= '<br />Für diesen Beitrag haben sich bedankt:';
$body1 .= '<br />' . implode(', ', $thanks);
}
unter dem ganzen sieht man keine anzeige mehr der sich bedankt hat
es ist doch gesamt an der falschen Stelle oder nicht? Du bist in der while die für die Beiträge verantwortlich ist, der gesamte part sollte doch egentlich nur unter dem Startbeitrag. Du fragst bei jedem Beitrag sämtliche Danke und so ab! Such mal die Stelle raus wo der Startbeitrag angezeigt wird. Denn da sollte es drunter
vom aufbau sollte es doch so sein:
Anzeige des Startbeitrags
Anzeige der Danke
Anzeige der Beiträge
also nochmal zum mit mitfassen
nach dem erstellen des thread hab ich den danke button im ersten beitrag siehe screen (sehe gerade da ist auch noch ein fehler in der zeile 910 das wäre das hier
Warning: in_array() [function.in-array]: Wrong datatype for second argument in /var/www/baustelle/forums.php on line 910
das wäre der code
if ( $bedanko == 2 && !in_array($CURUSER['id'], $thxUser) ) {
http://www.netvision-technik.de/forum/picture.php?albumid=45&pictureid=329
so und nun aufm bild zwei die anzeige wer sich bedankt hat
http://www.netvision-technik.de/forum/picture.php?albumid=45&pictureid=330
das sieht man bei den anderen beiträgen auch dann nur im ersten nicht der fehler ist auch weg wenn man sich bedankt hat
--======================================--
--== Beitrag erstellt: 11:33 um 11:31 ==--
--== geantwortet auf Beitrag vom ==--
--== automatische Beitragszusammenführung ==--
--======================================--
asus schrieb nach 2 Minuten:
das mit deinem beschriebenden aufbau ist richtig nur war es vorher auch so:) das forum kommt vom skydiver oder so
--======================================--
--== Beitrag erstellt: 11:35 um 11:33 ==--
--== geantwortet auf Beitrag vom ==--
--== automatische Beitragszusammenführung ==--
--======================================--
asus schrieb nach 2 Minuten und 31 Sekunden:
äh in dem forum gibt es doch keine stelle wo nur der erste beitrag angezeigt wird das hängt alles zusammen
jo caste es ma aufm array, kommt weil es leer ist.
if ( $bedanko == 2 && !in_array($CURUSER['id'], (array)$thxUser) ) {der code muss aus der while schleife raus der für die Beiträge verantwortlich ist. Warum sollte denn bei jedem Beitrag erneut die Danke abgefragt werden? Das nötige was du für die Danke brauchst ist doch nur die topic id.
Ich kenne das Forum auch nicht. Ansonsten sollte es kein Problem sein die Danke nur im ersten beitrag anzuzeigen. Mach einfach ne kontroll variable. Auf die prüfst du ob es schon angezeigt wurde.
Die Abfragen für die Danke müssen nicht in die while der beiträge. $topicid ist schon vor der while verfügbar.
so mein ich das ungefähr ... damit die thx nur einmal angezeigt werden
$displayThx = false; // kontroll variable
$dankeQueryUndSo = mysql_query('SELECT fooThx FROM barThx WHERE foobarThx = barfooThx'); // danke query und so
while ($arr = mysql_fetch_assoc($res)) // die while die du gepostet hast, stark abgekürzt
{
echo $arr . ' Beitraege'; // normale beiträge in der while
if ( $displayThx === false ) {
echo 'den ganzen danke kram';
$displayThx = true; // jo wir haben es jetzt einmal angezeigt
} // beim nächsten durchlauf wirds ignoriert und anzeige nur der nachfolgenden beitraege
}
tantetoni2
08.08.2010, 14:08
haut das für die dankesager doch ganz einfach unter dem angezeigten beiträgen wenn die while schleife dafür zuende ist.
auf die idee müsste man doch selber kommen, und der code dafür ist ja schon da
hmm sobald ich es aus der while schleife schmeiße wird mir nix mehr angezeigt irgendwie bin ich wohl zu doof
ich hänge meine forums.php mal an (ist ein sauhaufen ich weiß ist ja nicht von mir! sie wird noch aufgeräumt)
danke euch das ihr zumindest helfen tut
hänge da nun stunden dran leider bleibt es so wie ich es schon gesagt habe :-(
Mahlzeit,
also ich habe das bei mir so drin in der forums.php und es funzt bei mir.
Öffnet Eure forums.php und suche das:
//---- Get poster thanks
$resa = mysql_query("SELECT * FROM postthanks WHERE topicid = $topicid") or sqlerr(__FILE__, __LINE__);
if (mysql_num_rows($resa) > 0) {
while ($arra = mysql_fetch_array($resa)) {
$ptuserid = $arra["userid"];
$ptpostid = $arra["postid"];
$resb = mysql_query("SELECT id, username, class FROM users WHERE id = $ptuserid") or print(mysql_error());
while($arrb = mysql_fetch_assoc($resb)) {
if ($thanks) $thanks .= ",\n";
$thanks .= "<a href=userdetails.php?id=" . $arrb["id"] . "><font class=".get_class_color($arrb["class"])."><b>" . $arrb["username"] . "</b></font></a>";
}
}
}
$thanksbutton = ("<form method=\"post\" action=\"forums.php?action=thanks&topicid=$topicid&postid=$postid&userid=$userid\" style=\"display:inline\"><input type=\"submit\" value=\"Bedanken\"></form>");und ersetze das mit dem:
//---- Get poster thanks
$is_thx = false;
$resa = mysql_query("SELECT * FROM postthanks WHERE topicid = $topicid") or sqlerr(__FILE__, __LINE__);
if (mysql_num_rows($resa) > 0) {
while ($arra = mysql_fetch_array($resa)) {
$ptuserid = $arra["userid"];
$ptpostid = $arra["postid"];
if ($CURUSER["id"] == $ptuserid && $ptpostid == $postid) $is_thx = true;
$resb = mysql_query("SELECT id, username, class FROM users WHERE id = $ptuserid") or print(mysql_error());
while($arrb = mysql_fetch_assoc($resb)) {
if ($thanks) $thanks .= ",\n";
$thanks .= "<a href=userdetails.php?id=" . $arrb["id"] . "><font class=".get_class_color($arrb["class"])."><b>" . $arrb["username"] . "</b></font></a>";
}
}
}
$thanksbutton = ("<form method=\"post\" action=\"forums.php?action=thanks&topicid=$topicid&postid=$postid&userid=$userid\" style=\"display:inline\"><input type=\"submit\" value=\"Bedanken\"></form>");dann suche weiter nach dem:
if ($bedanko == "2" && $ptuserid != $CURUSER[id]) {
$body1 .= "<br>$thanksbutton<br>";
}
if ($thanks && $ptpostid == $postid) {
$body1 .= "<br>Bedankt für diesen Beitrag haben sich:";
$body1 .= "<br>$thanks<br>";
}und ersetze das mit dem:
if ($bedanko == "2" && !$is_thx) {
$body1 .= "<br>$thanksbutton<br>";
}
if ($thanks && $ptpostid == $postid) {
$body1 .= "<br>Bedankt für diesen Beitrag haben sich:";
$body1 .= "<br>$thanks<br>";
}suche weiter nach dem:
//-------- Action: Thanks
if ($action == "thanks") {
$userid = $_GET["userid"];
$topicid = $_GET["topicid"];
$postid = $_GET["postid"];
if (!is_valid_id($topicid))
stderr("Forum Fehler", "<b><p>Falsche Beitrags ID $postid.</p></b>");
mysql_query("INSERT INTO postthanks (id,topicid,postid,userid) VALUES (id,$topicid,$postid,$userid)") or sqlerr(__FILE__, __LINE__);
header("Location: $BASEURL/forums.php?action=viewtopic&topicid=$topicid");
die;
}und ersetze es mit dem:
//-------- Action: Thanks
if ($action == "thanks") {
$userid = $CURUSER["id"]; // Nicht die $_GET["userid"], das kann jeder Faken!
$topicid = $_GET["topicid"];
$postid = $_GET["postid"];
$query_check = mysql_query("SELECT * FROM postthanks WHERE topicid = $topicid AND postid= $postid AND userid= $userid") or sqlerr(__FILE__, __LINE__);
$row_check = mysql_num_rows($query_check);
if (!is_valid_id($topicid))
stderr("Forum Fehler", "<b><p>Falsche Beitrags ID $postid.</p></b>");
elseif($row_check > 0)
stderr("Forum Fehler", "<b><p>Du hast dich bereits bedankt !</p></b>");
mysql_query("INSERT INTO postthanks (id,topicid,postid,userid) VALUES (id,$topicid,$postid,$userid)") or sqlerr(__FILE__, __LINE__);
header("Location: $BASEURL/forums.php?action=viewtopic&topicid=$topicid");
die;
}Ich hoffe ich konnte helfen und habe jetzt nix vergessen.
MFG
vBulletin® v3.8.9, Copyright ©2000-2024, vBulletin Solutions, Inc.