I've been stuck on an assignment. In the assignment I have to use a Pull-Down Menu to change what is displayed from the database. So, for example if option A is selected then courses and grades will be shown.If on the other hand option B is selected then everything on the database will be shown. I though that if I name the options like <option value = "1" name = "Reg" >Student Registration</option>
then use if (isset($_POST['Reg']))
it would work , but now I'm thinking maybe this is not the correct way to solve this issue. I'll include a snippet of the HTML code that has the menu and the full PHP code.
<?php
include("account.php");
//connect to MySQL database
session_start();
$dbc = mysqli_connect($hostname, $username, $password, $database) or die("Unable to connect to MySQL database");
echo "Connected to MySQL<br>";
$user = $_POST['name'];
$num = $_POST['number'];
if(isset($_POST['Submit']))
{
if (empty ($user))
{
echo "you must enter your unique username <br />";
}
if (empty ($num))
{
echo "you must enter your ID <br />";
}
$query = "SELECT * FROM StudentDB WHERE StudentName = '". mysqli_real_escape_string($dbc,$user) ."' AND StudentID = '". mysqli_real_escape_string($dbc,$num) ."'" ;
$result = mysqli_query($dbc,$query);
if (mysqli_num_rows($result) == 1)
{
if (isset($_POST['Reg']))
{
echo 'Student Name: ' . $row['Student Name'] . '| Student E-Mail: ' . $row['E-Mail'] .';'. '| Student ID: ' . $row['Student ID'] . '| Student Courses: ' . $row['Student Courses'] .'| Student Transcript: ' . $row['Student Transcript'] .'<br />';
}
if (isset($_POST['Tran']))
{
echo 'Student Name: ' . $row['Student Name'] . '| Student E-Mail: ' . $row['E-Mail'] .';'. '| Student ID: ' . $row['Student ID'] . '| Student Courses: ' . $row['Student Courses'] .'| Student Transcript: ' . $row['Student Transcript'] .'<br />';
}
}
else
{
echo"unsuccessful login";
}
session_destroy();
}
else
{
echo "Empty";
}
?>
<TD>
<select id = "myList">
<option value = "1" name = "Reg" >Student Registration</option>
<option value = "2" name = "Tran" >Student Transcript</option>
</select>
</TD>
If the full HTML code is need , just ask and I'll add it. So, to summarize the question I asked : Is there a way to use if (isset($_POST[]))
to check which option on the Pull-Down Menu is selected , if not then what other method can I use to do that?
Thank You
EDIT:
I changed my HTML and PHP code to :
<?php
include("account.php");
//connect to MySQL database
session_start();
$dbc = mysqli_connect($hostname, $username, $password, $database) or die("Unable to connect to MySQL database");
echo "Connected to MySQL<br>";
$user = $_POST['name'];
$num = $_POST['number'];
if(isset($_POST['Submit']))
{
if (empty ($user))
{
echo "you must enter your unique username <br />";
}
if (empty ($num))
{
echo "you must enter your ID <br />";
}
$query = "SELECT * FROM StudentDB WHERE StudentName = '". mysqli_real_escape_string($dbc,$user) ."' AND StudentID = '". mysqli_real_escape_string($dbc,$num) ."'" ;
$result = mysqli_query($dbc,$query);
if (mysqli_num_rows($result) == 1)
{
if (isset($_POST['list'] == '1'))
{
}
if (isset($_POST['list'] == '2'))
{
}
}
else
{
echo"unsuccessful login";
}
session_destroy();
}
else
{
echo "Empty";
}
?>
<TD>
<select id = "myList" name = "list" >
<option value = "1" >Student Registration</option>
<option value = "2" >Student Transcript</option>
</select>
</TD>
<?php
include("account.php");
//connect to MySQL database
session_start();
$dbc = mysqli_connect($hostname, $username, $password, $database) or die("Unable to connect to MySQL database");
echo "Connected to MySQL<br>";
$user = $_POST['name'];
$num = $_POST['number'];
if(isset($_POST['Submit']))
{
if (empty ($user))
{
echo "you must enter your unique username <br />";
}
if (empty ($num))
{
echo "you must enter your ID <br />";
}
$query = "SELECT * FROM StudentDB WHERE StudentName = '". mysqli_real_escape_string($dbc,$user) ."' AND StudentID = '". mysqli_real_escape_string($dbc,$num) ."'" ;
$result = mysqli_query($dbc,$query);
if (mysqli_num_rows($result) == 1)
{
/* if (isset($_POST['list'] == '1'))
{
}
if (isset($_POST['list'] == '2'))
{
} */
}
else
{
echo"unsuccessful login";
}
session_destroy();
}
else
{
echo "Empty";
}
?>
it works. The change I made is just commenting out the section in-between if (mysqli_num_rows($result) == 1){}
</div>