【问题标题】:Validation Unexpected { [closed]验证意外{ [关闭]
【发布时间】:2012-11-11 23:32:57
【问题描述】:

当我尝试验证我的数据时,我收到了这个错误,我不明白为什么它是“意外”

//Requests fields from form on previous page  
 $CDID = $_REQUEST['CDID'];
 $CDTitle = isset($_REQUEST['CDTitle']) ? $_REQUEST['CDTitle'] :null;
 $CDYear = isset($_REQUEST['CDYear']) ? $_REQUEST['CDYear'] :null;
 $catID = isset($_REQUEST['catID']) ? $_REQUEST['catID'] :null;
 $pubID = isset($_REQUEST['pubID']) ? $_REQUEST['pubID'] :null;


if(empty($CDTitle) || (empty($CDYear) || (empty($catID) || (empty($pubID)){
die("<p> You must enter all fields</p>\n");}

【问题讨论】:

  • 对地狱投反对票......你做得很好。
  • @eisberg 所以你认为计算某人的括号以找出一个微不足道的错误应该是众包的吗?
  • @lanzz 我相信帮助他会很好。我们每个人都从某个地方和某个时间开始。
  • @eisberg 但是人们正在帮助他。否决与帮助无关;它准确地表明了工具提示所说的内容:缺乏研究。

标签: php mysql validation


【解决方案1】:

你的 if 语句应该是:

if(empty($CDTitle) || empty($CDYear) || empty($catID) || empty($pubID)){

你有太多的括号,所以 php 期望看到更多的右括号来结束你的条件。我已经删除了不必要的括号。

【讨论】:

  • 啊啊啊是啊!!!这解释了它
  • @BenArmstrong 如果对您有帮助,请务必通过单击答案左侧的绿色复选标记将其标记为已接受的答案。
【解决方案2】:

多余的括号..

改变:

if(empty($CDTitle) || (empty($CDYear) || (empty($catID) || (empty($pubID)){

到:

if(empty($CDTitle) || empty($CDYear) || empty($catID) || empty($pubID)){

【讨论】:

  • 这还是不行,你在最后一个empty之前多了一个括号
  • 只要语法正确并且成对出现,多余的括号永远不会导致脚本失败。
  • @F4r-20 除非他们在问题中并不是真的成对出现。
  • 在这种情况下,括号不是成对的
  • 不,但这不是@vlcekmi3 的意思。他的回答是暗示每个empty() 周围的括号是问题的原因。仅供参考,您的语法仍然不正确。
【解决方案3】:

) 丢失:

if(empty($CDTitle) || (empty($CDYear) || (empty($catID) || (empty($pubID)){

应该是:

if(empty($CDTitle) || (empty($CDYear)) || (empty($catID)) || (empty($pubID))){

if(empty($CDTitle) || empty($CDYear) || empty($catID) || empty($pubID)){

【讨论】:

  • 这也行不通,第二个和第三个emptys 需要移除左括号或额外的右括号。
  • @Mansfield,已编辑,谢谢
猜你喜欢
  • 1970-01-01
  • 2014-01-27
  • 2021-11-17
  • 2013-06-30
  • 2016-04-02
  • 2019-01-31
  • 2014-03-14
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多