Antworten auf deine Fragen:
Neues Thema erstellen

Altes PHP-Script benötigt neue Befehle

Schaddi

sx.team_gaming

Dieses alte Script funktioniert in neuen PHP Content Systemen nicht mehr.
Ich hatte bereits
PHP:
db
in
PHP:
SQL
ausgetauscht - aber offensichtlich fehlt noch etwas.
Wenn jemand etwas entdeckt... Danke!
PHP:
$title = $DB->fetch_assoc(
            $SQL->query("SELECT
                            forumthread_title
                        FROM
                            ".pkSQLPREFIX."_forumthread
                        WHERE
                            forumthread_id = '".intval($threadid)."'
                            "));

if($fluke == 1) {
    $fluke = 'ORDER BY RAND()';
}else{
    $fluke = '';
}

$threads_query = $SQL->query("SELECT
                                forumthread_id,
                                forumthread_catid,
                                forumthread_lastreply_time,
                                forumthread_lastreply_autor,
                                forumthread_title,
                                forumthread_autor
                            FROM
                                ".pkSQLPREFIX."_forumthread
                            WHERE
                                MATCH (forumthread_title)
                                AGAINST ('%".$title['forumthread_title']."%') && forumthread_id != '".intval($threadid)."'
                                ".$fluke."
                                ");

$num = $SQL->num_rows($threads_query);
if($num == '') {
    eval ("\$threads_like_the_same_row.= \"".pkTpl("forum/threads_like_the_same_no")."\";");
}else{
    $count = 0;
    while($threads_res = $SQL->fetch_assoc($threads_query)) {
        if($count < $limit) {
            $cat_res = $SQL->fetch_assoc(
                        $SQL->query("SELECT
                                        forumcat_id,
                                        forumcat_name,
                                        forumcat_rrights
                                    FROM
                                        ".pkSQLPREFIX."_forumcat
                                    WHERE
                                        forumcat_id = '".$threads_res['forumthread_catid']."'
                                        "));
            if(!getrights($cat_res['forumcat_rrights'])) {
                $threads_like_the_same_row.= '';
            }else{
                $img_open_array = getimagesize("images/open.gif");
                $width_height_open_gif = $img_open_array[3];
                $img_dir_array = getimagesize("images/dir.gif");
                $width_height_dir_gif = $img_dir_array[3];
                $img_notice_array = getimagesize("images/icons/notice.gif");
                $width_height_notice_gif = $img_notice_array[3];
                $row_class = rowcolor($row_class);
                $thread_title = pkStringCut($threads_res['forumthread_title'], 50);
                $create_date = date("d.m.y - H:i", $threads_res['forumthread_lastreply_time']);
                eval ("\$threads_like_the_same_row.= \"".pkTpl("forum/threads_like_the_same_row")."\";");
                $count++;
            }
        }
    }
}
?>
 

Duddle

Posting-Frequenz: 14µHz

AW: Altes PHP-Script benötigt neue Befehle

Wahrscheinlich musst du mehr zeigen, wenn das mgl. ist. Ich tippe auf die Deklaration von $SQL als wichtigste Änderung aber das ist nicht im Auszug dabei.

Bekommst du denn irgendwelche Fehlermeldungen? Ist das ein selbstgeschriebenes Ding oder ein Open Source Projekt o.ä.? Welche PHP-Version fährst dein Server?


Duddle
 

Schaddi

sx.team_gaming

AW: Altes PHP-Script benötigt neue Befehle

Ich nutze PHP-Version 5.2.8 bzw 5.3.2-1ubuntu4.18 auf dem neuen Webspace.
es gibt keinerlei Fehlermeldungen denn die Dateien zum Anzeigen der abgefragten Inhalte "
threads_like_the_same_row.htm" sowie "threads_like_the_same_no.htm"
werden erst am Ende des Scripts aufgerufen.

Aber auch gerne die beiden zum einsehen:
threads_like_the_same_no.htm
HTML:
<tr>
    <td class="highlight" align="center">
    <br />
    Es konnten leider keine &auml;hnlichen Themen gefunden werden.
    <br /><br />
    </td>
</tr>
threads_like_the_same_row.htm
HTML:
<tr>
    <td class="$row_class">
    <img src="images/dir.gif" $width_height_dir_gif alt="$cat_res[forumcat_name]" title="$cat_res[forumcat_name]" align="absmiddle" />
    <a href="include.php?path=forumscategory&amp;catid=$cat_res[forumcat_id]">$cat_res[forumcat_name]</a>
    <img src="images/icons/notice.gif" $width_height_notice_gif alt="$threads_res[forumthread_title] - Letzte Antwort von $threads_res[forumthread_lastreply_autor] am $create_date" title="$threads_res[forumthread_title] - Letzte Antwort von $threads_res[forumthread_lastreply_autor] am $create_date" align="absmiddle" />
    <a href="include.php?path=forumsthread&amp;threadid=$threads_res[forumthread_id]" title="$threads_res[forumthread_title]">$thread_title</a>
    <span class="small">- $threads_res[forumthread_lastreply_autor] - $create_date</span>
    </td>
</tr>
Nochmals das alte Script mit Kopf. Es ist von 2008 und wurde seitdem nicht mehr weitergepflegt.
PHP:
<?php
################################################################################
##                    Ähnliche Themen für das PHPKit-Forum                    ##
################################################################################


if(!defined('pkFRONTEND') || pkFRONTEND!='public')
    die('Direct access to this location is not permitted.');

// Wie viele Ähnliche Themen sollen angezeit werden? 
$limit = 5;

// Soll eine Zufallsauswahl durch MySQL erfolgen oder soll die Sortierung anhand
// der Relevanz von MySQL erfolgen?
// 0 = Relevanzsortierung - 1 Zufallsauswahl
$fluke = 0;

$title = $DB->fetch_assoc(
            $SQL->query("SELECT
                            forumthread_title
                        FROM
                            ".pkSQLPREFIX."_forumthread
                        WHERE
                            forumthread_id = '".intval($threadid)."'
                            "));

if($fluke == 1) {
    $fluke = 'ORDER BY RAND()';
}else{
    $fluke = '';
}

$threads_query = $SQL->query("SELECT
                                forumthread_id,
                                forumthread_catid,
                                forumthread_lastreply_time,
                                forumthread_lastreply_autor,
                                forumthread_title,
                                forumthread_autor
                            FROM
                                ".pkSQLPREFIX."_forumthread
                            WHERE
                                MATCH (forumthread_title)
                                AGAINST ('%".$title['forumthread_title']."%') && forumthread_id != '".intval($threadid)."'
                                ".$fluke."
                                ");

$num = $SQL->num_rows($threads_query);
if($num == '') {
    eval ("\$threads_like_the_same_row.= \"".pkTpl("forum/threads_like_the_same_no")."\";");
}else{
    $count = 0;
    while($threads_res = $SQL->fetch_assoc($threads_query)) {
        if($count < $limit) {
            $cat_res = $SQL->fetch_assoc(
                        $SQL->query("SELECT
                                        forumcat_id,
                                        forumcat_name,
                                        forumcat_rrights
                                    FROM
                                        ".pkSQLPREFIX."_forumcat
                                    WHERE
                                        forumcat_id = '".$threads_res['forumthread_catid']."'
                                        "));
            if(!getrights($cat_res['forumcat_rrights'])) {
                $threads_like_the_same_row.= '';
            }else{
                $img_open_array = getimagesize("images/open.gif");
                $width_height_open_gif = $img_open_array[3];
                $img_dir_array = getimagesize("images/dir.gif");
                $width_height_dir_gif = $img_dir_array[3];
                $img_notice_array = getimagesize("images/icons/notice.gif");
                $width_height_notice_gif = $img_notice_array[3];
                $row_class = rowcolor($row_class);
                $thread_title = pkStringCut($threads_res['forumthread_title'], 50);
                $create_date = date("d.m.y - H:i", $threads_res['forumthread_lastreply_time']);
                eval ("\$threads_like_the_same_row.= \"".pkTpl("forum/threads_like_the_same_row")."\";");
                $count++;
            }
        }
    }
}
?>
 

Robbyn-

PHP / Flex Programmierer

AW: Altes PHP-Script benötigt neue Befehle

Ändere doch mal $DB in $SQL ab ich glaube das hast du wirklich noch vergessen, wie HAL_2000 sagte:
PHP:
$title = $DB->fetch_assoc(
 

Schaddi

sx.team_gaming

AW: Altes PHP-Script benötigt neue Befehle

DB in SQL geändert. Ausgabe: Es konnten leider keine ähnlichen Themen gefunden werden.
Obwohl es mehrere Themen mit dem Wort z.B. "Bitte" gibt werden diese nicht angezeigt.
Beispiel:
Thema: Heute bitte dies und das
Thema: Bitte anmelden
Thema: Bittere Pillen

Offenbar ist da der Wurm drin.
Beim alten PHP wurden Themen angezeigt die ähnliche Namen hatten.
 
Zuletzt bearbeitet:

HAL_2000

Noch nicht viel geschrieben

AW: Altes PHP-Script benötigt neue Befehle

hmmm... mich irritiert der Code ein wenig, ich bin jetzt soweit das ich mich frage wo die Variable $threadid herkommt, wird die eventuell aus einem $_GET oder $_POST gelesen und ist somit nicht vorhanden (veraltet), oder noch schlimmer, es wird versucht die direkt auszulesen (Stichwort "Register Globals")

kannst Du mal in die erste Zeile mal ein
PHP:
 echo "***".$threadid."***";
einfügen, so das wir sehen was in der Variable enthalten ist?
 

Schaddi

sx.team_gaming

AW: Altes PHP-Script benötigt neue Befehle

Nicht mehr nötig.
Gelöst!
Alles funtioniert wie ihr es beschrieben habt - Danke! Ich hatte zudem noch eine Leerzeile zuviel! db in SQL zu ändern reichte aus.

Ihr seid die Besten!
 
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

Keine Mitglieder online.

Statistik des Forums

Themen
118.565
Beiträge
1.538.067
Mitglieder
67.488
Neuestes Mitglied
Andrew56524
Oben