Adrian Vella
Adrian Vella

Reputation: 29

PHP not receiving data from HTML5 form

I am recently getting into php and am running it locally on Xampp. I have created the following simple form followed by a few lines of php. It seems that no data is being passed through from the html form to the php page.

<form method="post" action="emailform.php" enctype="text/plain" class="form-horizontal">
    <div class="row input">
        <div class="col-md-1"></div>
        <div class="col-md-10">
            <div class="form-group">
                <input type="text" name="subject" id="subject" class="form-control" placeholder="subject">
            </div>
        </div>
    </div>
    <div class="row input">
        <div class="col-md-1"></div>
        <div class="col-md-4">
            <div class="form-group">
                <input type="text" name="name" id="name" class="form-control" placeholder="full name">
            </div>
            <div class="form-group">
                <input type="email" name="subject" id="email" class="form-control" placeholder="email">
            </div>
        </div>
        <div class="col-md-1"></div>
        <div class="col-md-5 textarea">
            <textarea class="form-control" name="message" id="message" rows="4" placeholder="message"></textarea>
        </div>
    </div>
    <br>
    <div class="row">
        <div class="col-md-1"></div>
        <div class="col-md-10">
            <button type="submit" class="btn" id="submit">Send</button>
        </div>
    </div>
</form>

This is the simple php code I am using to test:

<?php            
        $subject = 'No subject was set';
        if (isset($_POST['subject'])) {
            $subject = ($_POST['subject']);
        }
        echo "This is the subject:$subject"; 
    ?>

I appreciate any help as I have been struggling with this simple code for the past week now.

Upvotes: 1

Views: 153

Answers (1)

Thamilhan
Thamilhan

Reputation: 13323

Two subject names!

<input type="email" name="subject" id="email" class="form-control" placeholder="email">
                          ^

and

<input type="text" name="subject" id="subject" class="form-control" placeholder="subject">
                         ^

Also remove enctype="text/plain" from the form

It's because PHP doesn't handle it

Upvotes: 1

Related Questions