首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >防止错误: strpos() [function.strpos]:空分隔PHP

防止错误: strpos() [function.strpos]:空分隔PHP
EN

Stack Overflow用户
提问于 2017-09-05 11:14:21
回答 3查看 36关注 0票数 0

我的代码有点小问题。我有一个搜索框,它使用多个变量作为数据库进行搜索,一切运行良好,显示良好。当文本框中没有条目时,我的问题就出现了,然后我得到以下错误:

strpos() function.strpos:空分隔符

在设置变量之前,是否可以检查文本框是否为空?

这是我的密码:

代码语言:javascript
复制
if(isset($_POST["searchSub"])) {
    $searchTerm = $_POST["searchTb"];

    $pos1 = strpos($tBody1, $searchTerm);
    $pos2 = strpos($tBody2, $searchTerm);
    $pos3 = strpos($tBody3, $searchTerm);
    $pos4 = strpos($tBody4, $searchTerm);
    $pos5 = strpos($tBody5, $searchTerm);
    $pos6 = strpos($tBody6, $searchTerm);
    $pos7 = strpos($tBody7, $searchTerm);
    $pos8 = strpos($tBody8, $searchTerm);
    $pos9 = strpos($tBody9, $searchTerm);
    $pos10 = strpos($tBody10, $searchTerm);
    $pos11 = strpos($tBody11, $searchTerm);
    $pos12 = strpos($tBody12, $searchTerm);
    $pos13 = strpos($tBody13, $searchTerm);
    $pos14 = strpos($tBody14, $searchTerm);
    $pos15 = strpos($tBody15, $searchTerm);
    $pos16 = strpos($tBody16, $searchTerm);
    $pos17 = strpos($tBody17, $searchTerm);
    $pos18 = strpos($tBody18, $searchTerm);
    $pos19 = strpos($tBody19, $searchTerm);
    $pos20 = strpos($tBody20, $searchTerm);
}
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2017-09-05 11:29:32

在尝试使用该字段之前,需要确保输入了相关字段。

代码语言:javascript
复制
if(isset($_POST["searchSub"]) && !empty($_POST["searchTb"])) {
    searchTerm = $_POST["searchTb"];

    $pos1 = strpos($tBody1, $searchTerm);
    $pos2 = strpos($tBody2, $searchTerm);
    $pos3 = strpos($tBody3, $searchTerm);
    $pos4 = strpos($tBody4, $searchTerm);
    $pos5 = strpos($tBody5, $searchTerm);
    $pos6 = strpos($tBody6, $searchTerm);
    $pos7 = strpos($tBody7, $searchTerm);
    $pos8 = strpos($tBody8, $searchTerm);
    $pos9 = strpos($tBody9, $searchTerm);
    $pos10 = strpos($tBody10, $searchTerm);
    $pos11 = strpos($tBody11, $searchTerm);
    $pos12 = strpos($tBody12, $searchTerm);
    $pos13 = strpos($tBody13, $searchTerm);
    $pos14 = strpos($tBody14, $searchTerm);
    $pos15 = strpos($tBody15, $searchTerm);
    $pos16 = strpos($tBody16, $searchTerm);
    $pos17 = strpos($tBody17, $searchTerm);
    $pos18 = strpos($tBody18, $searchTerm);
    $pos19 = strpos($tBody19, $searchTerm);
    $pos20 = strpos($tBody20, $searchTerm);
}
票数 0
EN

Stack Overflow用户

发布于 2017-09-05 11:21:07

只需使用空()代替isset()

票数 0
EN

Stack Overflow用户

发布于 2017-09-05 11:45:24

你应该加上像turnery这样的条件。

代码语言:javascript
复制
if(isset($_POST["searchSub"]) && !empty($_POST["searchTb"])) {
$searchTerm = $_POST["searchTb"];

$pos1 = (tBody1 != "")?strpos($tBody1, $searchTerm):"NULL";
$pos2 = (tBody2 != "")?strpos($tBody2, $searchTerm):"NULL";
$pos3 = (tBody3 != "")?strpos($tBody3, $searchTerm):"NULL";
$pos4 = (tBody4 != "")?strpos($tBody4, $searchTerm):"NULL";
$pos5 = (tBody5 != "")?strpos($tBody5, $searchTerm):"NULL";
$pos6 = (tBody6 != "")?strpos($tBody6, $searchTerm):"NULL";
$pos7 = (tBody7 != "")?strpos($tBody7, $searchTerm):"NULL";
$pos8 = (tBody8 != "")?strpos($tBody8, $searchTerm):"NULL";
$pos9 = (tBody9 != "")?strpos($tBody9, $searchTerm):"NULL";
$pos10 = (tBody10 != "")?strpos($tBody10, $searchTerm):"NULL";
$pos11 = (tBody11 != "")?strpos($tBody11, $searchTerm):"NULL";
$pos12 = (tBody12 != "")?strpos($tBody12, $searchTerm):"NULL";
$pos13 = (tBody13 != "")?strpos($tBody13, $searchTerm):"NULL";
$pos14 = (tBody14 != "")?strpos($tBody14, $searchTerm):"NULL";
$pos15 = (tBody15 != "")?strpos($tBody15, $searchTerm):"NULL";
$pos16 = (tBody16 != "")?strpos($tBody16, $searchTerm):"NULL";
$pos17 = (tBody17 != "")?strpos($tBody17, $searchTerm):"NULL";
$pos18 = (tBody18 != "")?strpos($tBody18, $searchTerm):"NULL";
$pos19 = (tBody19 != "")?strpos($tBody19, $searchTerm):"NULL";
$pos20 = (tBody20 != "")?strpos($tBody20, $searchTerm):"NULL";

}

希望这是你的解决方案。:)

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

https://stackoverflow.com/questions/46053598

复制
相关文章

相似问题

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