hmm..interesting. Neither the motto or desc is showing up in the array. I made a simple form and the echo 'post vars: ' . print_r($_POST, true) . '<br/>'; works fine. I'm just perplexed on why the motto is still working and not the desc. Maybe it's because I'm using a fieldset, but then why wouldn't just one not work? On 7/6/06, Chris <dmagick@xxxxxxxxx> wrote:
Dave W wrote: > I'll show you all the steps it passes through. > Here's the form: > > <form action="proc.php" method="post"> > <fieldset> > <label for="Motto">Motto:</label> > <input class="text" type="text" size="25" name="motto" > value="<?php if($form->value("motto") == ""){ > echo $session->nationinfo['motto']; > }else{ > echo $form->value("motto"); > } ?>" /> > <label for="desc">Nation Description:</label> > <textarea name="desc" cols="50" rows="5"><?php > if($form->value("desc") == ""){ > echo $session->nationinfo['desc']; > }else{ > echo $form->value("desc"); > } > ?></textarea> > <input type="submit" value=" Edit Nation " /> > </fieldset> > </form> > > It's echoing the nationinfo right, but its not posting it. The motto > also works too. When it's submitted, it goes through the function > procEditNation(). > > $session->editNation($_POST['motto'], $_POST['desc']); > > The editNation function: > > function editNation($motto, $desc){ > global $database, $form; > > if($motto){ > $field = "motto"; > $motto = htmlspecialchars($motto); > $database->updateNationField($this->username,"motto",$motto); > > } > > if($desc){ > $field = "desc"; > $desc = htmlspecialchars($desc); > $database->updateNationField($this->username,"desc",$desc); > > > } > > return true; > } > > Then finally the updateNationField function: > > function updateNationField($username, $field, $value){ > $q = "UPDATE nations SET ".$field." = '$value' WHERE username = > '$username'"; > return mysql_query($q, $this->connection); > } > > I just don't know what's wrong since it's posting the motto (which is > just a text-type input) and not the description (which is a textarea). I > echo'd out the mysql queries and excuted them myself from what echo'd > out and it's selecting the desc column just fine. That definitely all looks fine. If you do: echo 'post vars: ' . print_r($_POST, true) . '<br/>'; does it show up in post at all? -- Postgresql & php tutorials http://www.designmagick.com/
-- Dave W