PHP - оператор If, сравнивающий строку с содержимым текстового файла - PullRequest
0 голосов
/ 27 февраля 2019

Я провел некоторое исследование и не смог найти четкого ответа на мою проблему.Вот что у меня есть:

<?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&hellip;";
    }
?>

Где «имя файла» содержит строку чисел, а «ввод формы» переносится из ранее отправленной HTML-формы.

Почему IFтестовый сбой, когда строки идентичны?

РЕДАКТИРОВАТЬ Простое исправление было обрезать $ gen_num.Кроме того, я не был достаточно конкретен, когда говорил, что «filename» - это текстовый файл, содержащий строку чисел и некоторые невидимые специальные символы.

Спасибо за помощь!

Ответы [ 2 ]

0 голосов
/ 27 февраля 2019

Если два значения являются целыми числами, я полагаю их () и использую ==

И ловлю для 0 исключение

0 голосов
/ 27 февраля 2019

Если $_SESSION['filename'] - это, как вы говорите, строка чисел, тогда имя файла не заканчивается.
Вы должны сделать эту строку:

$gen_num = file_get_contents($_SESSION['filename'] . ".txt");

В противном случае file_get_contents не найдет файл столько цифры в качестве имени и возвращают false.
Вот почему числа не совпадают.

...