各位大大帮我看看 我用php写的这个函数 为什么报错呢

[复制链接]
查看11 | 回复5 | 2011-8-24 09:03:47 | 显示全部楼层 |阅读模式
functionmsg($msg){echo\"scripttype=\'text/javascript\'alert(\".$msg.\");/script\";}
回复

使用道具 举报

千问 | 2011-8-24 09:03:47 | 显示全部楼层
建议你外面用单引号里面用双引号
回复

使用道具 举报

千问 | 2011-8-24 09:03:47 | 显示全部楼层
js报错,从输出结果检查呀改成echo\"scripttype=\'text/javascript\'alert(‘\".$msg.\"’);/script\";注意单引号闭合复制我的,比较一下,多俩引号追问$msg本身就是字符串变量为什么还要多引号啊
回复

使用道具 举报

千问 | 2011-8-24 09:03:47 | 显示全部楼层
$msg变量只存在与服务器上,浏览器里在js里你又没定义这个变量,输出文字当然要用引号引起来
回复

使用道具 举报

千问 | 2011-8-24 09:03:47 | 显示全部楼层
这里有两层解析,第一层是PHP,你写的没问题。第二层是JAVASCRIPT,你写错了。alert(\'\".$msg.\"\');才行,你少了两个引号。
回复

使用道具 举报

千问 | 2011-8-24 09:03:47 | 显示全部楼层
?phpfunctionmsg($msg){echo\"scripttype=\'text/javascript\'alert(\'$msg\');/script\";}msg(\'ts\');?双引号里输出变量用单引号括起来就行了下面的程序是帮你了解单双引号:?php//为了帮你了解单双引号$a=\'123\';$b=\'$a\';$c=\"$a\";echo\'$a\'.\'\'.$a.\'\'.\"$a\".\'\'.\"\\$a\".\'br\';//结果:$a123123$a/*说明第一个被单引号括起来起来的输出的是字符串$a,加号就是字符串第二个是直接输出变量第三个是根据情况输出,如果是变量输出变量,否则就是字符串第四个\"\\$a\"转义,就是相当于\'$a\',转换意义*/echo$b.\'br\';//结果:$a//原来我就用单引号赋值,所以他只能是字符串echo$c;//结果:123/*因为php检测到有$a变量,所以输出的是变量$a如果没有就是字符串$a*/?总结:单引号只输出字符串双引号根据情况输出变量或者是字符串同时单引号内可以出现双引号,但是不能出现单引号(必须转义才可以出现,或者用双引号引起来,如\'\"\'.go.\'\"\'),否则报错双引号里面可以出现单引号,但是不能出现双引号(必须转义才可以出现,或者用单引号引起来,如:\"\'\".ff.\"\'\"),否则报错双引号转义相当于单引号单引号转义。嘿嘿还是单引号(我记得好像是)
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行