我做了一些研究,无法找到问题的明确答案。这就是我所拥有的:
<?php
session_start();
$gen_num = file_get_contents($_SESSION['filename']);
$inp_num = $_POST['form-input'];
if($gen_num === $inp_num){
echo "Yes! The numbers match!";
} else {
echo "No, the numbers do not match…";
}
?>
其中'filename'有一串数字,'form-input'是从之前提交的HTML表单中携带的。
当字符串相同时,为什么IF测试会失败?
编辑简单的修复是修剪$ gen_num。另外,我还没有具体说'filename'是一个.txt文件,其中包含一串数字以及一些看不见的特殊字符。
感谢您的帮助!
如果$_SESSION['filename']
就像你说的一串数字那么没有文件名结尾。
你应该这样做:
$gen_num = file_get_contents($_SESSION['filename'] . ".txt");
或者file_get_contents将找不到仅包含数字作为名称的文件并返回false。 这就是数字不匹配的原因。
如果这两个值是整数,我会将它们放在()它们并使用==
赶上0异常