问题是这样产生的我在echo "<script language=\"javascript\">alert("添加成功");history.go(-1);</script>";
第一我是新手,这段代码history.go(-1);是什么意思,按正常<script language="javascript">  多的\ \是什么意思。
然后 出现错误
之后去掉功能性代码如alert正常,知道加上“添加成功”就出现如上错误。我百度了下看到有个这样写的  \“添加成功\”
问题:1 php 和javascript之间如何正确嵌套最好举个例子说明下
2 php和java中字符串是否需要转义,或者什么时候需要什么时候不要希望系统讲下!百度下这方面提的很少,书上也是!可能是我视野不开阔吧!
灌水的就不要来了!省的浪费别人时间去找答案!

解决方案 »

  1.   

    history.go(-1)是返回上一级,就是前一个网页
    加\是为了转义"引号,避免与echo的"冲突转义的原则和其他语言一样的,只要是预定义的字符或者会产生歧义的字符需要转义。至于具体有哪些预定义字符,goole一下可以找到出现错误是你后面的引号没有转义
    改为echo "<script language=\"javascript\">alert(\"添加成功\");history.go(-1);</script>";
      

  2.   

    本帖最后由 PhpNewnew 于 2012-01-30 11:22:39 编辑
      

  3.   

    已经弄好了!谢谢啦!是不是嵌入的语言中的字符串都需要转义啊!不然就会出现语法错误!
    还有一个常见的提示;没有定义的变量,在获取的时候$_POST[user],就会出现没有定义的user.另外你能写下php和javascript相互的例子
      

  4.   


    1.是不是都要转义 
    你得先弄明白为什么要转。 你看 "aaaa" 这样不需要转 但是 某个地方 "aa"bb"aa" 这个时候程序怎么解释呢?
    所以这种情况你就得在中间转义,也就是让电脑知道这个句子是怎么拼的,而不是aa  中间出现了两个非法的bb然后又是 aa ...2.关于提示变量的问题
    参考置顶的常见问题帖子,其次 请以后都写成 $_POST['xxxx'] 或者 $_GET['xxx'] 单引号不是能省就省的3.例子
    $name='Annie';
    echo <<<html
    <script>
    alter('{$name} is my wife~');
    </script>
    html;
      

  5.   

    尝试了你的方法,直接说语法错误!alter---改成alert();
    双引号就变回原来那样要加转义。关于不需要转义的方法,你能在写清楚点吗?
    比如 echo "<script language=\"javascript\">alert(\"添加留言成功\");history.go(-1);</script>"; 
    把上面这句编程不需要转义的!
      

  6.   

    手误啦 嘿嘿.alert.echo "<script language=\"javascript\">alert(\"添加留言成功\");history.go(-1);</script>";  
    代码如下:
    <?php
    echo <<<html
    <script language="javascript">alert("添加留言成功");history.go(-1);</script>
    html;
    ?>
      

  7.   

    好了,特别要注意的地方时要分开,不然会语法出错!
    echo <<<html<script language="javascript">alert("添加留言成功");history.go(-1);</script>html;
    连在一起就语法出错!不知道为什么!
      

  8.   


    html;必须是新行并且在开始 不能有空格之类的东西。这个是必须这样写的,规定
      

  9.   

     echo "<script language=\"javascript\">alert("添加成功");history.go(-1);</script>";
    “history.go(-1);”返回上一页
    “按正常<script language="javascript"> 多的\ \是什么意思。”
    \是转义。
    echo "内容";
    如果内里面再出现",不就乱套了,不知道到哪里结束了,所以echo输出的字符串里面不能出现",如果有必须转义php和javascript之间如何正确嵌套最好举个例子说明下
    没有最好的解决方法。仔细注意一下就可以了。
    如果是大量的html,js代码
    可以这样
    <?php
    ..
    ?>
    <script language="javascript">alert("
    <?php ..?>");history.go(-1);</script>
    <?php 
    ...
    ?>
    把动态的和静态的内容分离。
    当然可以学学smarty 
      

  10.   

    按顺序HTML---JS--PHP
    呵呵,这也是一种好方法!+1.smarty还没学不清楚!呵呵,你们先等下我看下还有没有更好的在一起给分!0_0