首页 > 解决方案 > strpos 命令破坏 php 程序

问题描述

我一直在研究一个 madlibs 程序,它似乎无缘无故地崩溃了。我从 html 表单中获取用户输入。我正在尝试检查用户输入是否有效。为了使数据有效,数据不得包含空格或任何标点符号。我不确定是否应该使用 strpos 命令或 preg_match。无论如何,我能够到达第一个 if 语句,它会中断。我已经使用了这个命令的多种变体,无论我做什么,我的代码似乎都会中断。我要做的就是检查这个合并的字符串是否包含一个字符。看起来很简单,但我似乎找不到问题所在。任何回应将不胜感激。我可以从我的 html 页面发布代码,但问题不在于该代码。

<?php
//Michael Keller
//Project1

//Variables
$stringFirstVerb = $_POST["stringFirstVerb"];       
$stringSecondVerb = $_POST["stringSecondVerb"];   
$stringThirdVerb = $_POST["stringThirdVerb"];        
$stringFirstNoun = $_POST["stringFirstNoun"];      
$stringSecondNoun = $_POST["stringSecondNoun"];     
$stringThirdNoun = $_POST["stringThirdNoun"];   
$stringFirstAdj = $_POST["stringFirstAdj"];    
$stringSecondAdj = $_POST["stringSecondAdj"];
$stringThirdAdj = $_POST["stringThirdAdj"];          
$stringParagraph = $_POST["stringParagraph"];         
$intNounCount = 0;
$intVerbCount= 0;
$intAdjCount = 0;
//check for user input
$stringNewStr = implode("",array($stringFirstVerb,$stringSecondVerb,
$stringThirdVerb,$stringFirstNoun,$stringSecondNoun,$stringThirdNoun,
$stringFirstAdj,$stringSecondAdj,$stringThirdAdj));   

var_dump($stringNewStr);

if( strpos($stringNewStr, ' ' ) !== false ){
echo "No spaces allowed in any Verbs, Nouns, or Adj's";
echo "<br>";
echo "<a href="project1.html">Link to previous Page</a>";
}
?>

标签: php

解决方案


你打电话的方式没有问题strpos()。你有一个语法错误:

echo "<a href="project1.html">Link to previous Page</a>";

应该:

echo "<a href='project1.html'>Link to previous Page</a>";

希望这可以帮助,


推荐阅读