免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2784 | 回复: 4
打印 上一主题 下一主题

变量名和html代码一起存入数据库,不能正确读出变量的值 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2007-12-31 18:54 |只看该作者 |倒序浏览
我把变量的名和字符一起存入数据中,能读出变量的值,但当变量和hmtl代码一起存入数据时,就不能读出变量的值为什么呢?
如:$teacher["1"][TecaherName]="测试";
将如下信息存入数据库
<p>姓名:{$teacher["1"][TecaherName]};</p>

再从数据库读出来
$str=$bd["content"];
echo $str;
eval("\$str = \"$str\";" );
echo $str;


显示信息为:姓名:测试
是正常的。


但当将如下信息存入数据库
<table cellspacing="0" cellpadding="0" width="96%" border="0">
    <tbody>
      <tr>
        <td>&nbsp;姓名</td>
        <td>{$teacher["1"][TecaherName]}</td>
      </tr>
    </tbody>
  </table>


从数据库读出来就报错,
$str=$bd["content"];
echo $str;
eval("\$str = \"$str\";" );
echo $str;
读数据的方法是一样的


报错如下:
Parse error: syntax error, unexpected T_LNUMBER in D:\Apache2\htdocs
\general\intro.php(99) : eval()'d code on line 4


显示信息为:姓名 {$teacher["1"][TecaherName]}
显示的结果变量名并没有改变为变量的值,为什么?怎么样才能解决这样的问题呢?

论坛徽章:
0
2 [报告]
发表于 2008-01-01 14:53 |只看该作者
echo("\$str = \"$str\";" );

看看结果是什么,符合PHP语法?

论坛徽章:
0
3 [报告]
发表于 2008-01-01 17:16 |只看该作者
符合手册上的例子!如果不这样写的话,变量名和字符串一起存入数据库就不能得到变量的值

论坛徽章:
0
4 [报告]
发表于 2008-01-02 17:18 |只看该作者
<table cellspacing="0" cellpadding="0" width="96%" border="0">
    <tbody>
      <tr>
        <td> 姓名</td>
        <td>{$teacher[1][TecaherName]}</td>
      </tr>
    </tbody>
  </table>
//上面的数组变量去掉引号


//把字符串转化一些
$str=htmlspecialchars($str);
eval("\$str = \"$str\";");
$str=htmlspecialchars_decode($str);
echo $str. "\n";

论坛徽章:
0
5 [报告]
发表于 2008-01-02 18:02 |只看该作者
谢谢!
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP