malteseKnight
malteseKnight

Reputation: 347

PHP Form not posting all fields

I have a strange issue that I cannot get my head around.

I have the following form and when I click submit I do not GET or POST all fields in the form. Only two fields are being picked up being - isnew=true action=object &submit=Start

<form name="newOffer" action="/auth/dashboard" method="post">
                                <td><?php echo form_hidden('isnew', 'true');?><?php echo form_hidden('action', 'object');?><input type="text" id="newOfferItem" placeholder="Offer Free Item" class="input-xlarge"></td>
                                <td><input type="text" id="newOfferText" placeholder="Offer Description" class="input-xlarge" rel="tooltip" title="Description How to get free item"></td>
                                <td><input type="text" id="newOfferFreeOn" placeholder="Stamps for free item" class="input-xlarge" rel="tooltip" title="Number only. Ex. 5"></td>
                                <td><span class="label label-danger">Inactive</span></td>
                                <td><?php $attributes = 'class = "btn btn-success"'; echo form_submit('submit', 'Start', $attributes);?></td>
                             </form>

Upvotes: 4

Views: 6117

Answers (2)

Yousuf Memon
Yousuf Memon

Reputation: 4798

Always add a name attribute in input element.
Here is an example for you..

index.html

<form method="POST" action="process.php">
    <input type="text" name="username" value="">
    <input type="password" name="password" value="">
    <input type="submit" name="submit" value="login">
</form>

process.php

<?php

// checking if submit is pressed

if (isset($_POST['submit'])) {

    // assigning posted values

    $username = $_POST['username'];
    $password = $_POST['password'];

    // testing

    echo $username . "<br>";
    echo $password;
}

?>

Upvotes: 1

Mark Bertenshaw
Mark Bertenshaw

Reputation: 5689

You need to add NAME attributes for each INPUT element - either instead of or in addition to the ID attributes.

e.g.

<form name="newOffer" action="/auth/dashboard" method="post">
    <td>
        <?php echo form_hidden('isnew', 'true');?>
        <?php echo form_hidden('action', 'object');?>
        <input type="text" NAME="newOfferItem" id="newOfferItem" placeholder="Offer Free Item" class="input-xlarge">
    </td>
    <td>
        <input type="text" NAME="newOfferText" id="newOfferText" placeholder="Offer Description" class="input-xlarge" rel="tooltip" title="Description How to get free item">
    </td>
    <td>
        <input type="text" NAME="newOfferFreeOn" id="newOfferFreeOn" placeholder="Stamps for free item" class="input-xlarge" rel="tooltip" title="Number only. Ex. 5">
    </td>
    <td>
        <span class="label label-danger">Inactive</span>
    </td>
    <td>
        <?php $attributes = 'class = "btn btn-success"'; echo form_submit('submit', 'Start', $attributes);?>
    </td>
</form>

Upvotes: 5

Related Questions