I would take Brian O'Connor's suggestion, first... make sure you're getting the expected values in $_POST. Use var_dump($_POST) to get all of the values.

Also, I don't know if you're already checking this or not, but given the SQL statement you provided your application is definitely open for SQL injection. If I post a value where id = [1=1;DROP TABLE jobsdb] I could create some massive headaches for you. Make sure you're clearly defining datavalues by using either prepared statements or some sort of mysql_real_escape function (wrapping each value in slashes in the query itself, too, even if it's an integer).

- Brian D.

Anthony Wlodarski wrote:
I have been staring at this for about a week and it is turning into a mind bender. Here is the code excerpt:

// pre: none

// post: displays our controls for …

function displayControls()

{

        if($_POST['editjob'])

        {

$query = "SELECT * FROM `jobsdb` WHERE `id` =".$_POST['id']."”;

                $result = mysql_query($query) or die("Error editing data.");

                $row = mysql_fetch_assoc($result, MYSQL_ASSOC);

                echo "Debug: ".$_POST['id']." - ".$row['id']."\n";

                // display all our form data

echo "<fieldset style='color: #ffffff;'><legend>Edit a job</legend>\n".

"<form action='".$_SERVER['PHP_SELF']."' method='post'>\n".

"Recruiter: <input name='recruiter' type='text' value='".$row['recruiter']."'></br>".

" Job ID: <input name='jobid' type='text' value='".$row['jobid']."'></br>".

" Position: <input name='position' type='text' value='".$row['position']."'></br>".

" Position Link: <input name='link' type='text' value='".$row['link']."'></br>".

" Additional Info: <input name='additionalinfo' type='text' value='".$row['additionalinfo']."'></br>".

" Salary: <input name='salary' type='text' value='".$row['salary']."'></br>".

" Hiring Manager: <input name='hiringmanager' type='text' value='".$row['hiringmanager']."''></br>".

" Company: <input name='company' type='text' value='".$row['company']."'></br>".

" Status: <input name='status' type='text' value='".$row['status']."'></br>".

" Postings: <input name='postings' type='text' value='".$row['postings']."'></br>".

                                " Job Color: \n".

                                "<select name='color'>\n".

                                "<option value='#ff0000'>Red</option>\n".

                                "<option value='#ffa500'>Orange</option>\n".

                                "<option value='#ffff00'>Yellow</option>\n".

"<option value='#00ff7f'>Spring Green</option>\n".

"<option value='#32cd32'>Lime Green</option>\n".

                                "<option value='#c0c0c0'>Silver</option>\n".

"<option value='#0000cd'>Medium Blue</option>\n".

"<option value='#191970'>Midnight Blue</option>\n".

"<option value='#4169e1'>Royal Blue</option>\n".

"<option value='#c71585'>Medium Violet Red</option>\n".

"<option value='#ff00ff'>Fuchsia</option>\n".

                                "</select>\n".

"<input name='saveedit' type='submit' value='Save Edit'>".

"<input name='cancel' type='submit' value='Cancel'>".

                                "</form>".

                        "</fieldset>\n";

        }

……. Rest of application.

Now the big problem are the three PHP statements after the “if” statement. When I click edit job nothing appears even in the debug statement, I am not returning a valid id from $row[‘id’] nor does any of the data appear in the form(which is just an integer). I have scrutinized the SQL query a million times, even tried to qualify it with the database name using `foobar`.`jobsdb` and that still not do anything. I know the $_POST[‘id’] variable is passing the right id based on the echo command. Is this a SQL issue or a PHP issue? I have looked at my databases in phpMyAdmin and even checked them using the command line on our box and they have the right permissions for the users that can access them. If this is a SQL issue can you guys point me in the right direction? I was thinking of pulling my data base handle code and the SQL queries and just throwing them into a bare script to see what happens. If anyone needs to see the HTML output I can get that as well.

Any help is appreciated.

Thanks,

/Anthony/


------------------------------------------------------------------------

_______________________________________________
New York PHP Community Talk Mailing List
http://lists.nyphp.org/mailman/listinfo/talk

NYPHPCon 2006 Presentations Online
http://www.nyphpcon.com

Show Your Participation in New York PHP
http://www.nyphp.org/show_participation.php

--

Thanks!
- Brian Dailey
Software Developer
New York, NY
www.dailytechnology.net
begin:vcard
fn:Brian Dailey
n:Dailey;Brian
org:;Department of Geekery
adr;dom:;;;New York;NY
email;internet:[EMAIL PROTECTED]
title:Senior Software Engineer
tel;home:423 506 0349
x-mozilla-html:FALSE
url:http://dailytechnology.net
version:2.1
end:vcard

_______________________________________________
New York PHP Community Talk Mailing List
http://lists.nyphp.org/mailman/listinfo/talk

NYPHPCon 2006 Presentations Online
http://www.nyphpcon.com

Show Your Participation in New York PHP
http://www.nyphp.org/show_participation.php

Reply via email to