Re: Re: posting information from a textarea
| From: | Dave W | Date: | Fri, 07 Jul 2006 15:18:17 +0000 |
| Subject: | Re: Re: posting information from a textarea | ||
| References: | 1 2 3 4 5 6 7 8 | Groups: | php.db |
| Request: | Send a blank email to php-db+get-42188@lists.php.net to get a copy of this message | ||
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@gmail.com> 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@gmail.com> 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@gmail.com> wrote:-- Dave WDave W wrote:-- Dave W -- Dave WI'll show you all the steps it passes through. Here's the form: <form action="proc.php" method="post">name="motto"<fieldset> <label for="Motto">Motto:</label> <input class="text" type="text" size="25"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"><?phpif($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'";isreturn mysql_query($q, $this->connection);} I just don't know what's wrong since it's posting the motto (whichjust a text-type input) and not the description (which is atextarea). Iecho'd out the mysql queries and excuted them myself from whatecho'dout 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/