Примечание PHP: Неопределенный индекс: Имя в {Папка проекта} /contact/contactengine.php в строке 6 - PullRequest
0 голосов
/ 13 мая 2018

Я надеюсь, что вы можете помочь мне с проблемой, которая у меня есть.У меня есть контактная форма, и я получаю журнал ошибок, подобный этому:

PHP Notice: Undefined index: Name in {path}/contactengine.php on line 6
PHP Notice: Undefined index: Email in {path}/contactengine.php on line 7
PHP Notice: Undefined index: Message in {path}/contactengine.php on line 8

мой код PHP и HTML:

<?php

$EmailFrom = "";
$EmailTo = "admin@memwdesings.com";
$Subject = "From website";
$Name = Trim(stripslashes($_POST['Name']));      // line 6
$Email = Trim(stripslashes($_POST['Email']));    // line 7
$Message = Trim(stripslashes($_POST['Message']));// line 8

// validation
$validationOK=true;
if (!$validationOK) {
  print "<meta http-equiv=\"refresh\" content=\"0;URL=error.htm\">";
  exit;
}

// prepare email body text
$Body = "";
$Body .= "Name: ";
$Body .= $Name;
$Body .= "\n";
$Body .= "Email: ";
$Body .= $Email;
$Body .= "\n";
$Body .= "Message: ";
$Body .= $Message;
$Body .= "\n";

// send email 
$success = mail($EmailTo, $Subject, $Body, "From: <$EmailFrom>");

// redirect to success page 
if ($success){
  print "<meta http-equiv=\"refresh\" content=\"0;URL=http://arquitectura-om.com/\">";
}
else{
  print "<meta http-equiv=\"refresh\" content=\"0;URL=error.htm\">";
}
?>
<!-- Contact Form -->
<div class="col-md-5">
  <div class="contact-header">Send us a Message</div>
  <form method="post" action="contact/contactengine.php">
    <div class="control-group form-group">
      <div class="controls">
        <label>Name:</label>
        <input type="text" class="form-control" id="Name" required data-validation-required-message="Please enter your name.">
      </div>
    </div>
    <div class="control-group form-group">
      <div class="controls">
        <label>Email:</label>
        <input type="email" class="form-control" id="Email" required data-validation-required-message="Please enter your email address.">
      </div>
    </div>
    <div class="control-group form-group">
      <div class="controls">
        <label>Message:</label>
        <textarea rows="10" cols="100" class="form-control" id="Message" required data-validation-required-message="Please enter your message" maxlength="999" style="resize:none"></textarea>
      </div>
    </div>
    <div id="success"></div>
    <!-- For success/fail messages -->
    <button type="submit" class="contact-btn btn">Send Message</button>
  </form>
</div>

Ответы [ 3 ]

0 голосов
/ 13 мая 2018

Нет name атрибутов в полях формы означает, что значения не отправлены.

id атрибуты не учитываются.

Обычно, если вам не нужен атрибут id для css, js или надписей, просто замените id на name.

0 голосов
/ 13 мая 2018

Здравствуйте, вы не указали атрибут name отправленных элементов формы.

Вы должны дать имя каждому элементу формы, а затем использовать это имя для получения значений в переданном действии формы, как в $ _POST ['name']

0 голосов
/ 13 мая 2018

Дайте вашей кнопке отправки имя submit и поместите весь php-код в условие if в файле contactengine.php, например

if(isset($_POST['submit'])){
print_r($_POST);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...