@mrsbennet

Форма отправки заявки не работает: есть form.html,index.php,phpmyadmin?

<form id="contact" action="C:/Users/Guests/Desktop/OSPanel/domains/itrem/www/index.php" method="post">
    		<h3>Добро пожаловать!</h3>
    		<h4>Ниже вы можете оставить информацию о себе и мы свяжемся с вами в ближайшее время:)</h4>
    			<fieldset>
     				 <input name="name" placeholder="Ваше имя" type="text" tabindex="1" required autofocus>
   				 </fieldset>
   				 <fieldset>
     				 <input name="lastname" placeholder="Ваша фамилия" type="text" tabindex="1" required autofocus>
   				 </fieldset>
   				 <fieldset>
     				 <input name="post" placeholder="Ваша почта" type="email" tabindex="2" required>
    			</fieldset>
    			<fieldset>
     				 <input name="telephone" placeholder="Ваш телефон" type="tel" tabindex="3" required>
    			</fieldset>
    			<fieldset>
     				 <input name="skype" placeholder="Ваш Skype аккаунт" type="text" tabindex="3">
    			</fieldset>
    			<fieldset>
     				 <textarea name="content" placeholder="Есть ли у вас вопросы?" tabindex="5"></textarea>
    			</fieldset>
   				 <fieldset>
      				<input class="button" name="submit" type="submit" id="contact-submit" data-submit="...Отправка" value="Отправить">
   				 </fieldset>
 		  </form>


<?php
try{
    $dsn='mysql:host=localhost;dbname=mytestdb';
    $username='root';
    $passwd='';
	$conn = new PDO($dsn, $username,$passwd);

	if (empty($_POST['name'])) exit("Поле не заполнено");
	if (empty($_POST['content'])) exit("Поле не заполнено");

	$query = "INSERT INTO message VALUES (NULL , :name,NOW())";
    $msg = $conn->prepare($query);
    $msg→execute(['name'=> $_POST['name']]);

    $msg_id = $conn->lastInsertId();

    $query = "INSERT INTO message content VALUES (NULL , :content, :message_id";
    $msg = $conn→prepare($query);
    $msg→execute(['content'=> $_POST['content'], 'message_id' => $msg_id]); 

    $string='Location:form.html';
    header($string);
}
catch(PDOException $e)
{
	echo "error" .$e->getMessage();
}
?>


на экране: Поле РЅРµ заполнено
  • Вопрос задан
  • 79 просмотров
Пригласить эксперта
Ответы на вопрос 2
ThunderCat
@ThunderCat Куратор тега PHP
{PHP, MySql, HTML, JS, CSS} developer
action="C:/Users/Guests/Desktop/OSPanel/domains/itrem/www/index.php"
это сильно...

Во первых - заведите привычку все файлы держать в одном формате, если пишете на пхп - все должны быть пхп, хтмл не нужен.
Во вторых - весь код можно (в вашем случае) поместить в один index.php, код обработки формы выше, код хтмл с формой ниже.
В третьих - таким образом как у вас выше прописано экшн не пишется, ибо работать так точно не будет. Вы пытаетесь запустить локальный файл вместо фала сервера(если упрощенно), нужно указывать путь от корня сервера. В вашем случае это скорее всего "/index.php".

Далее, заведите нормальную иде, возьмите пхпсторм - он имеет триал на месяц, далее можно взять бесплатную студенческую версию. Сразу будет нормальное форматирование, подсветка кода и ошибок, ну и кодировку можно выставить нужную сразу.
Ответ написан
Поле не заполнено

Это переводится как "Поле не заполнено"
У вас с кодировками проблема, если не ошибаюсь то текст в UTF-8, а отображается в windows-1251
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы