У меня есть php форма, которая находится на contact.html
Форма будет обработана от processForm.php
Когда пользователь заполняет форму и нажимает кнопку Отправить, processForm.php отправляет по электронной почте и направлять пользователя к processForm.php с сообщением на эту страницу "и успех! Ваше сообщение было отправлено.&и"
Я не много знаю о PHP, но я знаю, что действие, которое вызывает это:
// Die with a success message
die("<span class='success'>Success! Your message has been sent.</span>");
Мой вопрос, как я могу оставить сообщение в форме див без перехода на страницы processForm.php ?
Я могу разместить всю processForm.php если это необходимо, но это долго.
Спасибо
Для того, чтобы остаться на той же странице, на представить вы можете оставить пустое действие (действие=" и"
в) в теге form, или оставить его вообще.
Для сообщения, создать$сообщение переменной (= "и успех! Вы ввели: " по$.ввода;"
В), а затем Эхо переменной в место на странице где вы хотите, чтобы сообщение появлялось на экране С в <?PHP Эхо $сообщение; ?>
.
Как это:
<?php
$message = "";
if(isset($_POST['SubmitButton'])){ //check if form was submitted
$input = $_POST['inputText']; //get input text
$message = "Success! You entered: ".$input;
}
?>
<html>
<body>
<form action="" method="post">
<?php echo $message; ?>
<input type="text" name="inputText"/>
<input type="submit" name="SubmitButton"/>
</form>
</body>
</html>
Есть два способа сделать это :
если(использования isset($_POST, где['отправить'])) { // Введите код, который вы хотите выполнить после того как форма была отправлена // Дисплей успеха или сообщение об ошибке (если есть) } еще { // Отобразить форму и кнопку "Отправить" }
. 2. С помощью представления форма AJAX, который является немного сложнее для новичка, чем Способ № 1.
Вы можете использовать # действий в форме действий
<?php
if(isset($_POST['SubmitButton'])){ //check if form was submitted
$input = $_POST['inputText']; //get input text
$message = "Success! You entered: ".$input;
}
?>
<html>
<body>
<form action="#" method="post">
<?php echo $message; ?>
<input type="text" name="inputText"/>
<input type="submit" name="SubmitButton"/>
</form>
</body>
</html>
Попробуйте это... работал для меня
<form action="submit.php" method="post">
<input type="text" name="input">
<input type="submit">
</form>
------ submit.php ------
<?php header("Location: ../index.php"); ?>
Друг. Используйте этот способ, там будет нет "не определена переменная сообщение" и он будет работать нормально.
<?php
if(isset($_POST['SubmitButton'])){
$price = $_POST["price"];
$qty = $_POST["qty"];
$message = $price*$qty;
}
?>
<!DOCTYPE html>
<html>
<head>
<title></title>
</head>
<body>
<form action="#" method="post">
<input type="number" name="price"> <br>
<input type="number" name="qty"><br>
<input type="submit" name="SubmitButton">
</form>
<?php echo "The Answer is" .$message; ?>
</body>
</html>
Вы должны использовать код, подобный следующему:
echo "<div id='divwithform'>";
if(isset($_POST['submit'])) // if form was submitted (if you came here with form data)
{
echo "Success";
}
else // if form was not submitted (if you came here without form data)
{
echo "<form> ... </form>";
}
echo "</div>";
Код С "если", как это характерно для многих страниц, однако это очень упрощенный.
Как правило, вы должны проверить некоторые данные в первом "если" с (проверить, если поля формы были не пустые и т. д.).
Пожалуйста, посетите www.thenewboston.org или phpacademy.org. Есть очень хороший на PHP видео уроки, в том числе формы.
Вы можете увидеть в следующем примере для форма действия на той же странице
<form action="" method="post">
<table border="1px">
<tr><td>Name: <input type="text" name="user_name" ></td></tr>
<tr><td align="right"> <input type="submit" value="submit" name="btn">
</td></tr>
</table>
</form>
<?php
if(isset($_POST['btn'])){
$name=$_POST['user_name'];
echo 'Welcome '. $name;
}
?>
Что я делаю, я хочу, чтобы страницы, чтобы остановиться после отправки, когда есть ошибки...поэтому я хочу, чтобы страницы, чтобы быть перегружены :
($_SERVER["PHP_SELF"])
В то время как я включаю срипт из отдельного файла электронной.г
include_once "test.php";
Я тоже читал где-то, что
if(isset($_POST['submit']))
Это старый начинающих фэшн способ размещения форму, и
if ($_SERVER['REQUEST_METHOD'] == 'POST')
Должен быть использован (не мои слова, прочитал где-то)