Gerard Balaoro
Gerard Balaoro

Reputation: 129

PHP Can't get post data

My index.php contains...

<form class="form-signin" action="submit.php" method="post">
        <input class="form-control" type="text" id="name" name="name" required="" placeholder="Name" autofocus="">
        <input class="form-control" type="text" id="institution" name="institution" required="0" placeholder="Institution" autofocus="">
        <input class="form-control"type="email" id="email" placeholder="Email Address" autofocus="" />

But when I submit the form using...

$name = $_POST['name'];
$institution = $_POST['institution'];
$email = $_POST['email'];
$query = "INSERT INTO participants (name,institution,id) VALUES ('".$name."','".$institution."','".$email."')";

I get the error...

Notice: Undefined index: email in C:\Development\XAMPP\htdocs\reg\submit.php on line 6

Upvotes: 2

Views: 3152

Answers (2)

Peter Featherstone
Peter Featherstone

Reputation: 8102

You don't have a name field for your email input, please add it:

 <input class="form-control" type="email" name="email" id="email" placeholder="Email Address" autofocus="" />

When you submit data via a form using the post method, PHP assigns key-value pairs to the $_POST global variable using the name value of your form inputs as the keys.

As you didn't have the name set for the email input, your error tells you that there is no (undefined) key (index) of email for the global $_POST variable.

Upvotes: 5

user3863196
user3863196

Reputation:

You forget to set name of email:

 <input class="form-control" type="email" name="email" id="email" placeholder="Email Address" autofocus="" />

Upvotes: 2

Related Questions