首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >意外T_NS_SEPARATOR

意外T_NS_SEPARATOR
EN

Stack Overflow用户
提问于 2014-09-09 07:58:03
回答 1查看 2.8K关注 0票数 0

我得到了以下错误:

解析错误:语法错误,意外的T_NS_SEPARATORon$headers = 'MIME-Version: 1.0‘。“\r”;

在下面的代码块中,似乎无法理解为什么没有未关闭的引号。

代码语言:javascript
复制
<?php 

  include("something.php"); 

  $somepage="somepage.html";
  $apple=$_POST["apple"];
  $banana=$_POST["banana"];
  $orange=$_POST["orange"];
  $email=$_POST["email"];

  $connection=$conn; #conn is from something.php

  define("someSQL","INSERT INTO SOMETABLE (APPLE, BANANA, ORANGE, EMAIL) VALUES ('$apple', '$banana', '$orange', '$email'); 

  $conninfo=oci_parse($connection,bbsSQL);
  oci_execute($conninfo);

  $to      = $email;
  $subject = 'Subject';
  $message = '<html><body>Hello</body></html>';
  $headers  = "MIME-Version: 1.0\r\n";
  $headers .= "Content-type: text/html; charset=iso-8859-1\r\n";
  $headers .= 'From: Somewhere' . "\r\n";

  mail($to, $subject, $message, $headers);

  oci_free_statement($personinfo);
  oci_close($personcon);

  echo "An email has been sent.<br>";
  echo "Return to the <a href=$somepage>home page</a>.";


?>.

有人知道为什么会这样吗?

EN

回答 1

Stack Overflow用户

发布于 2014-09-09 08:00:38

尽量不要混合这两个字符串指示符('")。将"\r\n"周围的字符串分隔符更改为单引号(撇号)字符,这将解决问题。

此外,在这种情况下,关闭字符串文字,然后以这种方式在字符串上附加断行符是没有任何意义的,您可以这样做:

代码语言:javascript
复制
$headers  = "MIME-Version: 1.0\r\n"; 
$headers .= "Content-type: text/html; charset=iso-8859-1\r\n";

**编辑

根据您的编辑,下面一行缺少一些字符:

代码语言:javascript
复制
define("someSQL","INSERT INTO SOMETABLE (APPLE, BANANA, ORANGE, EMAIL) VALUES ('$apple', '$banana', '$orange', '$email'); 

在结束分号之前,您丢失了")。这基本上意味着PHP将该行之后的所有内容作为字符串的一部分,但是\r\n部分周围的双引号却错误地关闭了该字符串。

票数 -2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25739415

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档