Ich versuche, eine Datei mit PHP
innerhalb, die ich ausgeführt werden soll, zu laden, und ich möchte auch bestimmte Wörter mit einem Wert meiner Wahl ersetzen können.Verwenden von PHP als Array-Wert für strtr
So zum Beispiel, habe ich 2 Dateien, index.php
und test.php
Index.php
<?php
$stmt = $dbh->prepare("SELECT * FROM users WHERE `id` = :id");
$stmt->bindValue(":id",$_COOKIE[id]);
$stmt->execute();
$in = $stmt->fetch(PDO::FETCH_ASSOC);
function callback($buffer)
{
$ID = 'hesdfsdfsdy';
$arr = array(
"{ID}" => ''.$in['id'].'',
"{TITLE}" => 'Testttingggg'
);
return (strtr($buffer,$arr));
}
ob_start("callback");
include 'test.php';
?>
Alles funktioniert, außer der Tatsache, dass {ID}
leer herauskommt, da es nicht $in['id']
wie die Show Wert. Wenn ich $ID
anstelle von $in['id']
verwende, zeigt es den Wert "hesdfsdfsdy"
wie es gemeint ist. So etwas funktioniert nicht ganz mit $in
. Wenn ich $in['id']
innerhalb der test.php
verwende, funktioniert es gut. Es ist nur so, dass es nicht mit dem Ersatz arbeiten will.
test.php
<?php
echo '{TITLE} - '.$in["id"].';
?>
Also meine Frage ist, warum nicht ich $in["id"]
wenn {ID}
mit arbeiten zu bekommen.
Danke
'$ stmt-> bindValue (": id", $ _ COOKIE [id]);' brauchen '$ stmt-> bindValue (to be ": id", $ _ COOKIE [‘ id ']); '. Ich denke auch, dass Sie 'session_start();' oben auf jeder '.php' Seite direkt nach' php' hinzufügen müssen –
@Anant, Danke für die Antwort. Ich habe diese behoben, danke. Obwohl ich immer noch das gleiche Problem habe – Gesset
was 'var_dump ($ in);' sagt? überprüfen und zeigen Sie uns auch –