Ha! I figured the damn thing out! Using the full text type created a bunch of overhead and it wasn't storing it into the table. I realized that I was unsetting the post array before I was doing the print_r so that is why the variables weren't showing up. Then, I finally realized that for some reason, I had to convert the textarea to a utf encoding before I entered it into the database! That was annoying. On 7/6/06, Dave W <dabbaking@xxxxxxxxx> wrote:
I think I might have found the problem, but I'm not sure how to fix it. I'm just going to rebuild the form and it make it seperate (with all the database calls in one page). For some reason, if I add another field before the motto and i change it, it changes motto too...w/e I'll just make a new one. On 7/6/06, Dave W <dabbaking@xxxxxxxxx> wrote: > 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 > -- Dave W
-- Dave W