peter.cort Posted May 1, 2012 Share Posted May 1, 2012 Hi guys, first post here from a relative newbie I'm working on my final project for php and I'm running into a bit of a road block. The error is I'm trying to validate which radio button is checked to run a corresponding function to either add a car, drop a car, or display a car. Everything seems to work fine but my if statement won't pick up the change and therefore my function won't run. This is the output that I receive from the code. [taken from the bottom of the php when I select Add Car(s) on the form] input = 11112111421 add_status=add_status unchecked=unchecked Here's the script and htm form. <html> <head> <title>Final Project</title> </head> <body> <form action="final.php" method="post"> <input type="radio" name="query" value="add_status" /> Add Car(s) <br /> <input type="radio" name="query" value="delete_status" /> Delete Car(s) <br /> <input type="radio" name="query" value="display_status" /> Display Car(s) <br /> <input type="text" name="Input_Car_ID" /> Car ID <br /> <input type="text" name="Input_Car_Make" /> Car Make <br /> <input type="text" name="Input_Car_Model" /> Car Model <br /> <input type="text" name="Input_Car_Vin" /> Car Vin <br /> <input type="text" name="Input_Car_Color" /> Car Color <br /> <input type="text" name="Input_Car_Mileage" /> Car Mileage <br /> <input type="Submit" value="Query" /> </form> </body> </html> <!-- Radio button selects which functions to run. Leave blank to view all --> <?php /* final.php Name: Peter Cort Date: 4/25/2012 Script: Final Project */ $add_status = "unchecked"; $drop_status = "unchecked"; $display_status = "unchecked"; extract($_POST, EXTR_SKIP); if (isset ($Submit)){ if ($query == "add_status") { $add_status = "checked"; } else if ($query == "drop_status") { $drop_status = "checked"; } else if ($query == "display_status") { $display_status = "checked"; } } function runsql(){ /*mysql_connect("sftweb01", "cort", "peter");*/ mysql_connect("localhost", "peter", "cort"); mysql_select_db("cort"); } runsql(); if ( empty($Input_Car_ID)) { $Input_Car_ID = ""; } if ( empty($Input_Car_Make)) { $Input_Car_Make = ""; } if ( empty($Input_Car_Model)) { $Input_Car_Model = ""; } if ( empty($Input_Car_Vin)) { $Input_Car_Vin = ""; } if ( empty($Input_Car_Color)) { $Input_Car_Color = ""; } if ( empty($Input_Car_Mileage)) { $Input_Car_Mileage = ""; } class car{ private $Car_ID; private $Car_Make; private $Car_Model; private $Car_Vin; private $Car_Color; private $Car_Mileage; public $Input_Car_ID; public $Input_Car_Make; public $Input_Car_Model; public $Input_Car_Vin; public $Input_Car_Color; public $Input_Car_Mileage; /* function for setting no input values to null (will be able to delete on multiple paramaters) */ /* function needs to get values from the .htm form */ function __construct($Input_Car_ID, $Input_Car_Make, $Input_Car_Model, $Input_Car_Vin, $Input_Car_Color, $Input_Car_Mileage) { $this->Car_ID = $Input_Car_ID; $this->Car_Make = $Input_Car_Make; $this->Car_Model = $Input_Car_Model; $this->Car_Vin = $Input_Car_Vin; $this->Car_Color = $Input_Car_Color; $this->Car_Mileage = $Input_Car_Mileage; } function add_vehicle() { if (($Car_ID == "") && ($Car_Make == "") && ($Car_Model == "") && ($Car_Vin == "") && ($Car_Color == "") && ($Car_Mileage == "")) { print "Please provide information about the car you wish to add"; } else mysql_query("INSERT INTO Car_T (Car_ID, Car_Make, Car_Model, Car_Vin, Car_Color, Car_Mileage) VALUES ('$this->Car_ID', '$this->Car_Make','$this->Car_Model', '$this->Car_Vin', '$this->Car_Color', '$this->Car_Mileage')"); } function drop_vehicle() { if (($Car_ID == "") && ($Car_Make == "") && ($Car_Model == "") && ($Car_Vin == "") && ($Car_Color == "") && ($Car_Mileage == "")) { print "Please provide information about the car you wish to delete"; } else mysql_query("DELETE FROM Car_T WHERE Car_ID = '$this->Car_ID' AND Car_Make='$this->Car_Make' AND Car_Model='$this->Car_Model' AND Car_Vin='$this->Car_Vin' AND Car_Color='$this->Car_Color' AND Car_Mileage='$this->Car_Mileage'"); } function display_vehicle() { if (($Car_ID == "") && ($Car_Make == "") && ($Car_Model == "") && ($Car_Vin == "") && ($Car_Color == "") && ($Car_Mileage == "")) { $display_query = mysql_query("SELECT * FROM Car_T"); } else $display_query = mysql_query("SELECT * FROM Car_T WHERE (Car_ID = '$this->Car_ID' OR Car_Make = '$this->Car_Make' OR Car_Model = '$this->Car_Model' OR Car_Vin = '$this->Car_Vin' OR Car_Color = '$this->Car_Color' OR Car_Mileage = '$this->Car_Mileage')"); while($row = mysql_fetch_row($display_query)){ echo $row['$this->Car_ID']; print "<br />"; } } function display_stuff() { echo $this->Car_ID; echo $this->Car_Make; echo $this->Car_Model; echo $this->Car_Vin; echo $this->Car_Color; echo $this->Car_Mileage; } } $new_entry = new car($Input_Car_ID, $Input_Car_Make, $Input_Car_Model, $Input_Car_Vin, $Input_Car_Color, $Input_Car_Mileage); if ($add_status == 'checked'){ $new_entry->add_vehicle(); } if ($drop_status == 'checked'){ $new_entry->drop_vehicle(); } if ($display_status == 'checked'){ $new_entry->display_vehicle(); } print "<br />"; print "input = "; $new_entry->display_stuff(); print "<br />"; print "$query"; print "="; print $query; print "<br />"; print "$add_status"; print "="; print $add_status; /* $Car_ID, $Car_Make, $Car_Model, $Car_Vin, $Car_Color, $Car_Mileage print $Input_Car_ID; print $Input_Car_Make; print $Input_Car_Model; print $Input_Car_Vin; print $Input_Car_Color; print $Input_Car_Mileage; print "<br />"; */ ?> My second part of this is wondering how to construct my display query to run right. I'd like to be able to run it on any possible input from the text box. I basically want to do something like (WHERE LIKE '%') where there isn't an input from the htm form. My thought was to build the query on a series of concatenations through a function, but that seems like a lot of work. I just feel like it's important to give that functionality to the program. Thanks for looking, and hopefully I don't confuse you readers that much :3 Also I know that the mysql_query(); is going out of style but just go with it for the sake of my sanity Quote Link to comment https://forums.phpfreaks.com/topic/261880-1-errorissue-1-question/ Share on other sites More sharing options...
marcus Posted May 1, 2012 Share Posted May 1, 2012 You don't have a name to your submit button. <input type="submit" name="Submit" value="Query" /> You should also look into using a switch statement. switch($_POST['query']){ case 'add_status': // code break; // etc default: // if no option is selected } Quote Link to comment https://forums.phpfreaks.com/topic/261880-1-errorissue-1-question/#findComment-1341848 Share on other sites More sharing options...
peter.cort Posted May 1, 2012 Author Share Posted May 1, 2012 /sigh... Well at least it's something simple. I could use a switch statement, it's the one thing we never really covered in my class, did it briefly among other things, but as a result it never really comes to mind of things to do, and I'm also more comfortable with IF statements. I feel like at this point it doesn't really gain me much to flip everything to a switch statement, but if I get more problems I'll switch it over. Also I got an answer from a guy at work about my display query question. I'm going to take the input and do a join to populate the query with the information that I need. Hopefully that works out without many issues! Quote Link to comment https://forums.phpfreaks.com/topic/261880-1-errorissue-1-question/#findComment-1341955 Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.