百思不得其解后,求救,
在网友提出的一系列解决方案中,终于以这种方式运行成功:
以下为引用的内容:
<?
$aa='my name is yyy!';
$str='<input type="text" name="textfield" value="\'$aa\'">';
eval( "\$str = \"$str\";" );
echo $str;
?>
可是,当我把$str 插入如下一个表中然后又提取出时,又出错了。
数据库 evaltest
#
表结构 'envtest'
以下为引用的内容:
CREATE TABLE envtest (
id tinyint(4) NOT NULL auto_increment,
sour mediumtext,
PRIMARY KEY (id),
UNIQUE id (id),
KEY id_2 (id)
);
#
表内容 'envtest'
以下为引用的内容:
INSERT INTO envtest VALUES( '1', '<input type=\"text\" name=\"textfield\"
value=\"$aa\">');
php 文件如下:
以下为引用的内容:
<?
$aa='my name is yyy!';
$conn=mysql_connect('localhost','root','');
$sele='select sour from envtest where id=1';
$res=mysql_db_query('evaltest',$sele);
$arra=mysql_fetch_array($res);
$str=$arra['sour'];
eval( "echo \"$str\";" );
?>
再看看 php
“
中文手册,发现这么一句话: 待处理的字串要符合 PHP
”
的字串格式 ,什
“
么叫 符合 PHP
”
的字串格式 (有谁知道,麻烦告诉一声)。我不知道,也无从查找,只好看
看字串处理函数。发现 htmlspecialchars()好像可用,于是试了一把:
以下为引用的内容:
<?