Php 分析错误:语法错误,W3中出现意外的T_字符串
我正试图为一个非营利组织创建一个表单。我只是不知道我从W3复制粘贴的这个函数有什么问题 我已经将所有其他内容包装在他们自己的PHP标记中,但仍然会得到错误,所以它就在这里的某个地方Php 分析错误:语法错误,W3中出现意外的T_字符串,php,function,Php,Function,我正试图为一个非营利组织创建一个表单。我只是不知道我从W3复制粘贴的这个函数有什么问题 我已经将所有其他内容包装在他们自己的PHP标记中,但仍然会得到错误,所以它就在这里的某个地方 function test_input($data) { $data = trim($data); $data = stripslashes($data); $data = htmlspecialchars($data); return $data; } 我相信你每天晚上都会遇到这个
function test_input($data) {
$data = trim($data);
$data = stripslashes($data);
$data = htmlspecialchars($data);
return $data;
}
我相信你每天晚上都会遇到这个问题,但我已经找了好几个小时了,还是想不出来。我希望有个工具能找到你搞砸的地方
编辑
在第一次结束?>标记之前,您缺少一个结束括号} 这与以下各项的收盘价相匹配:
if ($_SERVER["REQUEST_METHOD"] == "POST") {
脚注:
你可以得到一份记事本+,这将有助于配对
这是一个免费的源代码编辑器,也是编写代码时使用的一个好工具。这里没有任何东西会导致该错误。最有可能的是,您在代码的后面有一个不匹配的引号。函数很好:。问题在别处。显示其余代码,并告诉我们错误在哪一行。放置所有代码,以便我们可以调试可能重复的错误,并告诉您行号。转到那一行,如果没有发现语法错误,请检查前面有PHP的那一行。继续,直到你找到它。你太棒了!太感谢你了!太奇怪了,为什么不在第30行出现呢?@DallasPrice不客气。“这就是它给你的错误号码吗?”37说,是Dreamweaver的最后一行。记事本++更适合用于编码吗?@DallasPrice我们可以通过勾选复选标记来结束问题,标记为已接受并已解决。@DallasPrice更好;好吧,这是个人的口味,真的。我已经用了几年了,对它很满意。第30行是原始代码中最后一个大括号所在的位置,因此PHP试图更进一步,然后找到closing?>标记;所以它认为误差在这条线上。
if ($_SERVER["REQUEST_METHOD"] == "POST") {
<?php
//define variables and set to empty values
$nameerr = $teamnameerr = $teamcaptainerr = $addresserr = $phoneerr = "";
$name = $teamname = $teamcaptain = $address = $phone = "";
if ($_SERVER["REQUEST_METHOD"] == "POST") {
if (empty($_POST["name"])) {
$nameerr = "Name is required"; }
else {
$name = test_input($_POST["name"]);
}
if (empty($_POST["teamname"])) {
$teamnameerr = "Teamname is required"; }
else {
$name = test_input($_POST["teamname"]);
}
if (empty($_POST["teamcaptain"])) {
$teamcaptainerr = "Name is required"; }
else {
$name = test_input($_POST["teamcaptain"]);
}
if (empty($_POST["address"])) {
$addresserr = "Adress is required"; }
else {
$name = test_input($_POST["address"]);
}
if (empty($_POST["phone"])) {
$phoneerr = "Phone number is required"; }
else {
$name = test_input($_POST["phone"]);
}
} // <- this one was missing
?>
<?php
function test_input($data) {
$data = trim($data);
$data = stripslashes($data);
$data = htmlspecialchars($data);
return $data;
}
?>