@Worddoc
Frontend explorer

Как заставить простейшую php форму работать?

Здравствуйте. В php я ноль. Пытаюсь сделать форму. Но в итоге пишет "Cannot POST /?". Что делать?

<head>
	<meta charset="UTF-8">
	<script src="main.php"></script>
</head>
<body>
	
  <form id="form" method="POST">
	<label for="phone">Введите телефон</label>
	<input id="phone" name="phone" type="text">
	<label for="name">Введите имя</label>
	<input id="name" name="name" type="text">
	<input type="submit" value="Отправить">
</form>


</body>


<?php

$toWho = "Мое мыло";
$name = $_POST['name']; 
$phone = $_POST['phone'];
$message = "Name:" + $name +"\nPhone:" + $phone;
mail("$toWho", "$message");

?>


Делал по образцу, нужно срочно научиться делать форму!
  • Вопрос задан
  • 904 просмотра
Решения вопроса 1
@websiteserf
<script src="main.php"></script>
Этот кусок не должен находиться в заголовке HTML страницы
Через тег script подключаются файлы JavaScript
Этот кусок надо удалить и переделать форму, добавив в ее атрибуты следующее
action="Путь_До_Файла_ Main.PHP"

полный код формы

<head>
  <meta charset="UTF-8">
</head>
<body>
  <form id="form" method="POST" ACTION="main.php">
  <label for="phone">Введите телефон</label>
  <input id="phone" name="phone" type="text">
  <label for="name">Введите имя</label>
  <input id="name" name="name" type="text">
  <input type="submit" value="Отправить">
</form>
</body>

И замени строку
mail("$toWho", "$message");
на такую
if(mail("$toWho", "$message")) {
echo 'Отправленно';
} else echo 'Возникли ошибки при отправке данных';

Этот код тебе выведет сообщение о статусе обработки формы
PHP обрабатывается на сервере путем запроса его по адресу сайта, как .EXE в командной строке, например mysite.onion/INDEX.PHP Знай, они не подключаются как Javascript. Подключение php файлов происходит лишь внутри php кода функциями Include('ПУТЬ ФАЙЛА') или reduire('ПУТЬ ФАЙЛА')
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы