2
我想加载一个PHP
的文件,我想要执行,并且我也希望能够用我选择的值替换特定的单词。使用php作为strtr的数组值
因此,例如,我有2个文件,index.php
和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';
?>
一切工作,除了为{ID}
出来空的,因为它不会显示$in['id']
的事实值。如果我使用$ID
而不是$in['id']
,它会显示"hesdfsdfsdy"
的值。所以一些不太合作$in
。如果我在test.php
内部使用$in['id']
,它工作正常。它只是它不想与替代品一起工作。
test.php
<?php
echo '{TITLE} - '.$in["id"].';
?>
所以我的问题是,为什么我不能得到$in["id"]
使用{ID}
时工作。
谢谢
'$ stmt-> bindValue( “:ID”,$ _ COOKIE [ID]);'需要是'$ stmt-> bindValue( “:ID”,$ _ COOKIE [” ID']);'。我还认为你需要在'<?php'后面的每个'.php'页面上添加'session_start();'# –
@Anant,谢谢你的回复。我已经解决了这些问题,谢谢。虽然我仍然遇到同样的问题 – Gesset
var_dump($ in);'说什么?检查并向我们展示 –