If condition for moving to another page

newphpcoder's Avatar, Join Date: Sep 2010
Ambitious contributor
Good day!
I want to know what is wrong in my code that's why when i choose in select option it did not go to another page...Like when I select "Incoming" nothing happen also when I choose "Outgoing" nothing also happen.
Here is my code:
PHP Code:
<?php
include ("config.php");
$call_type $_POST['call_type'];
$query=mysql_query("SELECT `call_type` FROM `tbl_calltype` WHERE `call_type` = '{$call_type}'") or die(mysql_error());
$result mysql_num_rows($query);
if (
$result == 1){
if(
$call_type == 'Incoming'){
 
header ('Location:incoming.php');
}
elseif(
$call_type == 'Outgoing'){
 
header ('Location:outgoing.php');
}
else{
 
header('Location:index.php');
}
}
?>
<html>
<body>
<form id="form1" name="form1" method="post" action="">
  <select name="call_type">
    <option value="Select Call Type">Select Call Type</option>
    <option value="Incoming" <?php if($_POST['call_type'] == 'Incoming') echo "selected='selected'"?>>Incoming</option>
    <option value="Outgoing" <?php if($_POST['call_type'] == 'Outgoing') echo "selected='selected'"?>>Outgoing</option>
  </select>
</form>
</body>
</html>
Thank you
shabbir's Avatar, Join Date: Jul 2004
Go4Expert Founder
On selecting the option you need to make the JS code to submit the page.
newphpcoder's Avatar, Join Date: Sep 2010
Ambitious contributor
Quote:
Originally Posted by shabbir View Post
On selecting the option you need to make the JS code to submit the page.
I'm not familiar with js

Thank you
newphpcoder's Avatar, Join Date: Sep 2010
Ambitious contributor
Quote:
Originally Posted by John View Post
You need an <input type="submit" /> before you close your </form>, so users can submit the form.
I tried this code:
PHP Code:
<?php
include ("config.php");
//ob_start();
//header ('Location:incoming.php'); 
if (isset($_POST['call_type'])) { // Check if form has been submitted
$call_type mysql_real_escape_string($_POST['call_type']); // SECURE THE FECKING CONTENT!!!!!!!!!!!!!!!!!!!!!!
echo $call_type;
$query=mysql_query("SELECT `call_type` FROM `tbl_calltype` WHERE `call_type` = '{$call_type}'") or die(mysql_error());
$result mysql_num_rows($query);
echo 
'<br />' $result;
if (
$result == 1){
if(
$call_type == 'Incoming'){
    
header ('Location:incoming.php');
}
elseif(
$call_type == 'Outgoing'){
    
header ('Location:outgoing.php');
}
else{
    
header('Location:index.php');
}
}
}
?>
<html>
 
<body>
<form id="form1" name="form1" method="post" action="">
  <select name="call_type">
    <option value="Select Call Type">Select Call Type</option>
    <option value="Incoming" <?php if($_POST['call_type'] == 'Incoming') echo "selected='selected'"?>>Incoming</option>
    <option value="Outgoing" <?php if($_POST['call_type'] == 'Outgoing') echo "selected='selected'"?>>Outgoing</option>
  </select>
  
  <input type="submit" name = "Submit" value="Submit">
</form>
</body>
</html>
And when I choose Incoming and I press submit button the output is:
Incoming
1
Warning: Cannot modify header information - headers already sent by (output started at D:\xampp\htdocs\OJT\mae_ann\index.php:9) in D:\xampp\htdocs\OJT\mae_ann\index.php on line 17
Thank you