Dave W wrote:
I'll show you all the steps it passes through.
Here's the form:

 <form action="proc.php" method="post">
                <label for="Motto">Motto:</label>
<input class="text" type="text" size="25" name="motto" value="<?php if($form->value("motto") == ""){
   echo $session->nationinfo['motto'];
   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'];
   echo $form->value("desc");
<input type="submit" value=" Edit Nation " />

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;
         $field = "motto";
         $motto = htmlspecialchars($motto);
} if($desc){
         $field = "desc";
         $desc = htmlspecialchars($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

PHP Database Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to