Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/267.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/89.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将$\u POST的值与PHP中json文件中存储的值进行比较时出错_Php_Html_Json_Forms_Post - Fatal编程技术网

将$\u POST的值与PHP中json文件中存储的值进行比较时出错

将$\u POST的值与PHP中json文件中存储的值进行比较时出错,php,html,json,forms,post,Php,Html,Json,Forms,Post,我正在从事一个项目,其中我使用JSON文件存储数据,并使用PHP打印数据。但是,在比较$u POST的值时,如果它有空格,则比较不起作用,否则没有问题 这就是我正在做的 $jsondata = file_get_contents("location-to-my-file-storage/".$_POST['mandi']."/".$_POST['crop'].".json"); $json = json_decode($jsondata, true); foreach($json['crop']

我正在从事一个项目,其中我使用JSON文件存储数据,并使用PHP打印数据。但是,在比较$u POST的值时,如果它有空格,则比较不起作用,否则没有问题 这就是我正在做的

$jsondata = file_get_contents("location-to-my-file-storage/".$_POST['mandi']."/".$_POST['crop'].".json");
$json = json_decode($jsondata, true);
foreach($json['crop'] as $data)
{
if ($data['name'] == $_POST['name'])
//This if statement is responsible for error
/* if $_POST['name'] = some value, then it's not working
   but for $_POST['name'] = someValue, it is working properly

   I have also tried    if ($data['name'] == "$_POST['name'])" 
   but this is not working also 
   */
{
 /******
   *do some printing here
   */
 }
您可以在

从两个下拉列表中选择任何内容,然后单击可用作物,它将给出可用作物的列表。错误来了,对于一个有空格的值,比如第一个“Acorn Squash”,什么都没有发生,但是对于一个没有空格的值,比如“Amarnath”,一切都正常工作

同样的事情也发生在我为语句选择一个带有空格的mandi名称或裁剪类型时

$Jsonfile = file_get_contents("location-to-my-file-storage/".$_POST['nameMandi']."/".$_POST['cropType'].".json");

我哪里出错了…?

请检查您的下拉列表,即
标签

切掉了其中的字符串,这就是比较不起作用的原因

<select name="name" class="w3-btn w3-green w3-round w3-input">
        <option name="crop" value="Acorn" squash="">Acorn Squash</option>
        <option name="crop" value="Alfalfa" sprout="">Alfalfa Sprout</option>
        <option name="crop" value="Amaranath">Amaranath</option>

小青南瓜
苜蓿芽
阿马拉纳

请检查您的下拉列表,即
标签

切掉了其中的字符串,这就是比较不起作用的原因

<select name="name" class="w3-btn w3-green w3-round w3-input">
        <option name="crop" value="Acorn" squash="">Acorn Squash</option>
        <option name="crop" value="Alfalfa" sprout="">Alfalfa Sprout</option>
        <option name="crop" value="Amaranath">Amaranath</option>

小青南瓜
苜蓿芽
阿马拉纳

try error reporting—“但是对于像‘Amarnath’这样没有空格的值,一切都正常工作。”—然后尝试
trim()
。是的,修剪帖子和数据并比较实际路径/文件名与
Acorn Squash
json文件的区别?@jon路径文件名取决于下拉列表中的其他两个选项,它们存储在一个变量中,因此实际路径随选项的不同而变化。我添加了demo的链接,以防您没有检查。@nassim从if语句将数据与json文件进行比较,其中数据存储为{“name”:“Acorn Squash”,“variety”:“Hybrid”,“rate”:1800,“description”:“这是Hybrid产品的描述”},因此,使用trim将阻止它与json文件中的实际字符串进行比较。请尝试错误报告-“但是对于像‘Amarnath’这样没有空格的值,一切都正常工作。”-然后尝试
trim()
。是的,修剪帖子和数据并比较实际路径/文件名与
Acorn Squash
json文件的区别?@jon路径文件名取决于下拉列表中的其他两个选项,它们存储在一个变量中,因此实际路径随选项的不同而变化。我添加了demo的链接,以防您没有检查。@nassim从if语句将数据与json文件进行比较,其中数据存储为{“name”:“Acorn Squash”,“variety”:“Hybrid”,“rate”:1800,“description”:“这是Hybrid产品的描述”},因此,使用trim将阻止它与json文件中的实际字符串进行比较。