У меня есть форма, которую при отправке откройте другой php файл. Я хотел бы получить информацию о форме и создать таблицу, но если кто-то напишет какое-то слово, которое есть в таблице, код должен быть эхом "извините". Первая часть кода работает, она получает форму и создает таблицу в index.php, но когда я создаю ту же форму, она снова отправляется: S Как я ее изменяю?
<?
$original_list = file_get_contents("index.php");
$file = fopen("index.php","w") or exit("Unable to open file!");
$since = $_POST["since"];
$since2 = "<tr><td class=\"since\"> $since </td><br/>";
$user = $_POST["user"];
$user2 = "<td class=\"content\"> $user </td><br/>";
$due = $_POST["due"];
$due2 = "<td class=\"due\"> $due </td></tr>\n";
if (strpos("index.php","word") === true) {
echo "Sorry"
}elseif ($_POST["since"] <> "");{
fwrite($file,"$since2$user2$due2$original_list");
}
fclose($file);
?>
измените эту строку:
if (strpos("index.php","word") === true) {
в
if (strpos($original_list,"word") !== false) {
strpos() Возвращаемые значения
Возвращает положение, где расположена игла, относительно начала строки стога сена (независимо от смещения). Также обратите внимание, что позиции строк начинаются с 0, а не 1.
Возвращает FALSE, если игла не найдена.
попробуйте вместо этого, поскольку вы не смотрите содержимое файла:
<?
$original_list = file_get_contents("index.php");
$file = fopen("index.php","w") or exit("Unable to open file!");
$since = $_POST["since"];
$since2 = "<tr><td class=\"since\"> $since </td><br/>";
$user = $_POST["user"];
$user2 = "<td class=\"content\"> $user </td><br/>";
$due = $_POST["due"];
$due2 = "<td class=\"due\"> $due </td></tr>\n";
if (strpos($original_list,"word") ) { // <- this is the changed line
echo "Sorry"
}elseif ($_POST["since"] <> "");{
fwrite($file,"$since2$user2$due2$original_list");
}
fclose($file);
?>