Добрый день. Делаю простую задачку на проверку чисел. Человек вводит число в форму input и нажимает подтвердить. Если число положительное, то выходит сообщение "Число положительное", если отрицательное, то соответственно сообщение "Число отрицательное". Данные из формы улетают в файл script.php по методу post. На стороне сервера происходит проверка и выдается сообщение. Необходимо сделать так, что бы произошла проверка числа, произошел редирект обратно на index.php, но при этом сообщение о том какое число, вышло на странице index.php. Т.е. проверка вся проходит в файле script.php, но результат проверки возвращается на index.php. Извиняюсь заранее, что не могу внятно объяснять. index.php PHP: <form action="script.php" method="post"> <input type="text" name="chislo" placeholder="Введите число" class="Form-control"><br> <input type="submit" value="Проверить" class="btn btn-success"><br><br> </form> <?php require "script.php"; ?> script.php PHP: <?php $chislo = $_POST["chislo"]; if ($chislo > 0) { echo "Число положительное"; header('Location: /index.php'); exit; } else if ($chislo < 0) { echo "Число отрицательное"; header('Location: /index.php'); exit; } ?>[/code]
Добрый день! 1. Вариант index.php( index.html) и script.php index HTML: <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> </head> <body> <form action="" method="post"> <input type="text" name="chislo" placeholder="Введите число" class="Form-control" required><br> <input type="submit" value="Проверить" class="btn btn-success"><br><br> </form> <div id="msg"></div> </body> <script> let form = document.forms[0]; let msgDiv = document.getElementById("msg"); viewMsg = (msg) => { msgDiv.innerHTML = msg; }; sub = (event) => { event.preventDefault(); ch = form.chislo.value; if(isNaN(ch)) { msg ="Ошибка! Ввели не чило"; viewMsg(msg); } else { fd = new FormData(form); fetch("script.php", { method: "POST", body: fd }) .then((response) => response.text()) .then((msg) => viewMsg(msg)) } }; form.addEventListener("submit", sub); form.chislo.addEventListener("click", () => {viewMsg("")}); </script> </html> script.php PHP: ]<?php if(isset($_POST["chislo"])) { $chislo = $_POST["chislo"]; $msg ="Число "; $msg .= $chislo == 0?"нуль":($chislo > 0?"положительное":"отрицательное"); echo $msg; exit; } 2. Два скрипта в одном index.php PHP: <?php if(isset($_POST["chislo"])) { $chislo = $_POST["chislo"]; $msg ="Число "; $msg .= $chislo == 0?"нуль":($chislo > 0?"положительное":"отрицательное"); echo $msg; exit; } ?> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> </head> <body> <form action="" method="post"> <input type="text" name="chislo" placeholder="Введите число" class="Form-control" required><br> <input type="submit" value="Проверить" class="btn btn-success"><br><br> </form> <div id="msg"></div> </body> <script> let form = document.forms[0]; let msgDiv = document.getElementById("msg"); viewMsg = (msg) => { msgDiv.innerHTML = msg; }; sub = (event) => { event.preventDefault(); ch = form.chislo.value; if(isNaN(ch)) { msg ="Ошибка! Ввели не чило"; viewMsg(msg); } else { fd = new FormData(form); fetch("?", { method: "POST", body: fd }) .then((response) => response.text()) .then((msg) => viewMsg(msg)) } }; form.addEventListener("submit", sub); form.chislo.addEventListener("click", () => {viewMsg("")}); </script> </html> 3. Только index.html без script.php (всё на JS) HTML: <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Untitled Document</title> </head> <body> <form action="" method="post"> <input type="text" name="chislo" placeholder="Введите число" class="Form-control" required><br> <input type="submit" value="Проверить" class="btn btn-success"><br><br> </form> <div id="msg"></div> </body> <script> let form = document.forms[0]; let msgDiv = document.getElementById("msg"); sub = (event) => { event.preventDefault(); ch = form.chislo.value; if(isNaN(ch)) { msg ="Ошибка! Ввели не чило"; } else { msg ="Число "; msg += ch == 0?"нуль":ch > 0?"положительное":"отрицательное"; } msgDiv.innerHTML = msg; }; form.addEventListener("submit", sub); form.chislo.addEventListener("click", () => {msgDiv.innerHTML=""}); </script> </html> Удачи!