Форма не представляет значения - PullRequest
0 голосов
/ 30 июня 2018

Хорошо, я программист-самоучка, так что не нужно быть слишком грубым, если я что-то упустил. Это первая форма, которую я создал, и у меня настроены css, html и php. Моя проблема заключается в том, что всякий раз, когда я нажимаю кнопку отправки, все, что нужно сделать, это перезагрузить страницу и не отправлять данные. Я честно проверил другие форумы здесь для ответов, но то, что я нашел на других форумах, я пытался, но это не сработало. Я оставлю свой код ниже, если кто-нибудь может сказать мне, почему он не передает значения, которые будут огромной помощью.

<head>
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <meta name="description" content="Contact Us">
    <meta name="keywords" content="Contact Us">
    <meta name="viewport" content="width=device-width,initial-scale=1,user-scalable=no">
    <meta http-equiv="X-UA-Compatible" content="IE=Edge,chrome=1">
    <meta name="HandheldFriendly" content="true">
    <link href="https://fonts.googleapis.com/css?family=Barlow+Condensed" rel="stylesheet" />
    <link rel="stylesheet" type="text/css" href="ContactUs.css">
    <link href="style.css" rel="stylesheet" />
    <!--[if IE 6]>
    <style type="text/css">html .group { height: 1%; }</style>
    <![endif]-->
    <!--[if IE 7]>
    <style type="text/css">*:first-child+html .group { min-height: 1px; } </style>
    <![endif]-->
    <!--[if lt IE 9]> 
    <script src="https://cdnjs.cloudflare.com/ajax/libs/html5shiv/3.7.3/html5shiv.min.js"></script>
    <![endif]-->
</head>

Это мой HTML

<div class="global_container_">
    <header class="header-box-holder"></header>
    <div class="header-left"></div>
    <div class="header-center"></div>
    <div class="l-constrained">
    <div class="main-content-wrapper">
    <div class="header-image"><a href="http://www.fykemusic.com/"><img src="images/header_box.jpg" /></a>
    <div id="form-main">
    <div id="form-div">
    <form method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>">
        <p class="name">
            <input name="name" type="text" class="validate[required,custom[onlyLetter],length[0,100]] feedback-input" placeholder="Name" id="name" />
        </p>
        <p class="email">
            <input name="email" type="text" class="validate[required,custom[email]] feedback-input" id="email" placeholder="Email" />
        </p>
        <p class="message">
            <textarea name="message" class="validate[required,length[6,300]] feedback-input" id="comment" placeholder="Message"></textarea>
        </p>
        <div class="submit">
            <input type="submit" value="Submit" id="button-blue"/>
            <div class="ease"></div>
        </div>
    </form>
</div>

Это мой PHP

<?php 
if(isset($_POST['submit'])) {
    $name = $_POST['name'];
    $email = $_POST['email'];
    $message = $_POST['message'];
    $formcontent="From: $name \n Message: $message";
    $recipient = "searaadair@hotmail.com";
    $subject = "Contact Form";
    $mailheader = "From: $email \r\n";
    mail($recipient, $subject, $formcontent, $mailheader) or die("Error!");
    echo "Thank You!";
}
?>

Ответы [ 2 ]

0 голосов
/ 30 июня 2018

Убедитесь, что ваш HTML имеет расширение .php, так как вы печатаете $_SERVER['PHP_SELF'] в атрибуте action формы. Этого не произойдет, если вы используете .html в качестве расширения файла. Я также заметил, что вы, похоже, используете плагин проверки JavaScript (через атрибут class), дважды проверьте для этого также событие submit.

0 голосов
/ 30 июня 2018

Попробуйте использовать это для вашего шаблона PHP. Я заметил, что у некоторых <divs> отсутствуют закрывающие теги, поэтому я исправил это. Самым странным вопросом было то, как у вас было два <form> тега, и закрывался только один из них. Эти две строки здесь ...

<form method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>">
<form class="form" id="form1">

Должно быть внутри одного тега.

<form method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>" class="form" id="form1">

Попробуйте это с помощью следующего PHP. У вас также был странный случайный тег <html>.

</head>
<div class="global_container_">
    <header class="header-box-holder"></header>

    <div class="header-left"></div>

    <div class="header-center"></div>

    <div class="l-constrained">
    <div class="main-content-wrapper">
        <div class="header-image"><a href="http://www.fykemusic.com/"><img 
src="images/header_box.jpg" /></a></div>
        <div id="form-main">
            <div id="form-div">
                <form method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>" class="form" id="form1">
                    <p class="name">
                        <input name="name" type="text" 
    class="validate[required,custom[onlyLetter],length[0,100]] feedback-input" 
    placeholder="Name" id="name" />
                    </p>

                    <p class="email">
                        <input name="email" type="text" 
    class="validate[required,custom[email]] feedback-input" id="email" 
    placeholder="Email" />
                    </p>

                    <p class="message">
                        <textarea name="message" class="validate[required,length[6,300]] 
feedback-input" id="comment" placeholder="Message"></textarea>
                    </p>

                    <div class="submit">
                        <input type="submit" value="Submit" id="button-blue"/>
                        <div class="ease"></div>
                    </div>
                </form>
            </div>
        </div>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...