Here's my drop down:
<form name="form" method="POST" style="display:inline;">
<select name="category" id="category" value="category" class="form-control ddplaceholder" style="width:220px;font-size:18px;font-family:Roboto;">
<option value="" disabled selected>Select Category</option>
<?php
$sth = $conn->prepare('Select name From category');
$sth->execute();
$data = $sth->fetchAll();
foreach ($data as $row ){
if($row['name']!="")
echo ' <option id=\"CategoryName\" nameCategoryNameVendorName\" value="' .$row['name']. '">'.$row['name'].'</option>';
}
?>
</select>
</form>
And I'm trying to access it using the following code:
if(!empty($_POST['category']))
$category=$_POST['category'];
When I echo the value of $category
, it returns null. Why is that? How can I get the value of the selected value from the drop down?
Hi In PHP we can submit form using a submit button or using javascript. if you want to use only php you shoud add a submit button and check if that is posted then check for category like this.
<form name="form" method="POST" style="display:inline;">
<select name="category" id="category" value="category" class="form-control ddplaceholder" style="width:220px;font-size:18px;font-family:Roboto;">
<option value="" disabled selected>Select Category</option>
<?php
$sth = $conn->prepare('Select name From category');
$sth->execute();
$data = $sth->fetchAll();
foreach ($data as $row ){
if($row['name']!="")
echo ' <option id=\"CategoryName\" nameCategoryNameVendorName\" value="' .$row['name']. '">'.$row['name'].'</option>';
}
?>
</select>
<input type="submit" name="submit" value="submit">
</form>
<?php
if(isset($_POST['submit'])){
$category=$_POST['category'];}
or you can try javascript for submission it will work on change of value in select box
<form name="form" method="POST" style="display:inline;">
<select name="category" id="category" value="category" class="form-control ddplaceholder" style="width:220px;font-size:18px;font-family:Roboto;" onchange="document.form.submit();">
<option value="" disabled selected>Select Category</option>
<?php
$sth = $conn->prepare('Select name From category');
$sth->execute();
$data = $sth->fetchAll();
foreach ($data as $row ){
if($row['name']!="")
echo ' <option id=\"CategoryName\" nameCategoryNameVendorName\" value="' .$row['name']. '">'.$row['name'].'</option>';
}
?>
</select>
</form>
<?php
if(!empty($_POST['category']))
$category=$_POST['category'];
You need to use input type submit in form to get values in php
<form name="form" method="POST" style="display:inline;">
<select name="category" id="category" class="form-control ddplaceholder" style="width:220px;font-size:18px;font-family:Roboto;">
<option value="" disabled selected>Select Category</option>
<?php
$sth = $conn->prepare('Select name From category');
$sth->execute();
$data = $sth->fetchAll();
foreach ($data as $row ){
if($row['name']!="")
echo ' <option id="CategoryName" value="' .$row['name']. '">'.$row['name'].'</option>';
}
?>
</select> <input type="submit" />
</form>
<?php
if(!empty($_POST['category']))
$category=$_POST['category'];
print_r($category);
?>