• Wenn du hier im Forum ein neues Thema erstellst, sind schon Punkte aufgeführt die du ausfüllen musst. Das dient im Allgemeinen dazu die notwendigen Informationen direkt mit der Frage bereitzustellen.
    Da in letzter Zeit immer wieder gerne das Formular gelöscht wurde und erst nach 3 Seiten Nachfragen die benötigten Infos für eine Hilfe kommen, werde ich nun jede Fragestellung die nicht einmal annähernd das Formular benutzt, sofort in den Sondermüll schicken.
    Füllt einfach die abgefragte Daten aus und alle können euch viel schneller helfen.

wie kann ich ein PHP-Script einbinden?

GeorgeS

Bekanntes Mitglied
Lizenzinhaber
Registriert
13. Jan. 2014
Beiträge
234
Punkte
68
Guten Abend,


ich möchte ein PHP-Script in einer Seite (d.h. einem Element meiner Foren-Struktur) ausführen, bzw. anzeigen lassen?

Soweit ich das verstehe, kann ich zwar HTML verwenden, nicht jedoch ein PHP-Script beim Aufruf der Seite ausführen lassen, oder verstehe ich da etwas falsch?
 
Hallo, ragtek -


ja, das hilft mir schon weiter. Ich habe direkt mal das erste Beispiel durchgespielt, und da gab es dann mindestens eine Frage, die stelle ich aber im Thema, da es m.E. thematisch dort hingehört.

Du hast mindestens ein Bier bei mir gut!
 
Hallo,


erst einmal vielen Dank für die bisher erhaltene Hilfe.

Dummerweise möchte ich ein Formular realisieren, was auch prima klappt bis zu dem Moment, wo das Formular abgeschickt wird:

PDsITxj.png


Das Problem liegt m.E. daran, dass mein Script kein gültiges _xftoken vorweisen kann:

HTML:
<html>
<body>
<form action="http://meinedomain/index.php?pages/demo/" method="post">
<input type="text" name="vorname">
<input type="submit" value="absenden">
<?php
ECHO "hallo, ".$_POST["vorname"]."!";
?>
</body>
</html>

Ich habe etliches an Hinweisen gefunden, so z.B.

PHP:
<input type="hidden" name="_xftoken" value="{$visitor.csrf_token_page}" />

Leider bleibt mir diese Anweisung cryptisch. Wie komme ich an das _xftoken?
 
das ist ja {$visitor.csrf_token_page}


das problem ist wohl eher, dass deine Seite mit dem Formular nicht das XF framework benutzt oder?
 
Hallo, ragtek -


gut beobachtet, ich verwende das Framework nicht (unter anderem, weil ich bis jetzt keine für mich verständliche Dokumentation gefunden habe).

Derzeit beisse ich fast in die Tischkante meines Schreibtisches, da der von Dir gepostete Code mit der Include-Anweisung abbricht.

Das Script steht in /var/www/myphp, die AutoLoader.php Adresse lautet sich in /var/www/library/XenForo/AutoLoader.php.

Gebe ich einen ungültigen Pfad an, kommt eine Fehlermeldung vom XenForo-Laufzeit-System, gebe ich (dann wohl) einen gültigen Pfad an, bricht die Verarbeitung nach dem require (den ich auch mal als include ausprobiert habe) ab. (Das $filedir habe ich rausgenommen, da sich mein Script nicht im Pfad zu Autoloader.php befindet).

Ich vermute den Fehler schon hier auf meiner Seite, nur habe ich keine Idee, wie ich den lokalisieren könnte ...

Update: mein Dank geht an Aluidh: nachdem ich ihm gleichgezogen habe und mein Forum auf die 1.3.3 aktualisiert habe, wurde ich auf Fehlermeldungen hingewiesen:

i5HXBPZ.png


Es scheint also, dass in meinem Fall das Ausführen von Autoloader.php nicht erforderlich ist? Ich werde mal weiter experimentieren.
 
Zuletzt bearbeitet:
Hallo,


nun funktioniert es. Ich habe den Code wie folgt angepasst:

PHP:
$startTime = microtime(true);
$fileDir = dirname(__FILE__);
XenForo_Autoloader::getInstance()->setupAutoloader($fileDir . '/library');

//XenForo_Application::initialize($fileDir . '/library', $fileDir);
XenForo_Application::set('page_start_time', $startTime);

// wichtig damit das plugin system initialisiert wird
$dependencies = new XenForo_Dependencies_Public();
$dependencies->preLoadData();

XenForo_Session::startPublicSession();
XenForo_Application::set('page_start_time', $startTime);

// wichtig damit das plugin system initialisiert wird
$dependencies = new XenForo_Dependencies_Public();
$dependencies->preLoadData();

XenForo_Session::startPublicSession();

$visitor = XenForo_Visitor::getInstance();
$token = $visitor->csrf_token_page;
?>
<form action="http://meinedomain/index.php?pages/demo" method="post">
<input type="text" name="vorname">
<?php
ECHO '<input type="hidden" name="_xfToken" value="'.$token.'" />';

Das war zwar eine schwere Geburt, aber ich denke, diese Klippe habe ich umschifft.

Danke noch einmal an @ragtek!
 
Zurück
Oben