0

私は単純な PHP Web サイトを開発しています。値を更新するためのフォームがあります。そのフォームが PHP(website) 経由でアクセスされると、以前の値が含まれているはずですが、そうではありません。どうやってするか ?

それ以外の場合、すべてのフィールドが空であり、1 つまたは 2 つが更新されると、その他が空として更新されるためです。助けてください !

<?php

require_once('../includes/config.php');
require_once('../includes/functions.php');
require_once('../includes/session.php');
require_once('../includes/database.php');
require_once('../includes/user.php');
require_once('../includes/photograph.php');
if (!$session->is_logged_in()) { redirect_to("login.php"); }

?>

<?php




 // START FORM PROCESSING
if (isset($_POST['submit'])) { // Form has been submitted.

    $errors = array();

    // perform validations on the form data
    $required_fields = array('lives_in', 'belongs_to', 'college', 'works_at', 'grade', 'grade2', 'hobbies', 'zodiac', 'phone_no', 'facebook', 'company', 'bio');
    $errors = array_merge($errors, check_required_fields($required_fields, $_POST));


           $lives_in                = trim($database->escape_value($_POST['lives_in']));
           $belongs_to              = trim($database->escape_value($_POST['belongs_to']));
           $college                 = trim($database->escape_value($_POST['college']));
           $works_at                = trim($database->escape_value($_POST['works_at']));
           $grade                   = trim($database->escape_value($_POST['grade']));
           $grade2                  = trim($database->escape_value($_POST['grade2']));
           $hobbies                 = trim($database->escape_value($_POST['hobbies']));
           $zodiac                  = trim($database->escape_value($_POST['zodiac']));
           $phone_no                = trim($database->escape_value($_POST['phone_no']));
           $facebook                = trim($database->escape_value($_POST['facebook']));
           $company                 = trim($database->escape_value($_POST['company']));
           $bio                     = trim($database->escape_value($_POST['bio']));



if (empty($errors) ) {
        $query = "UPDATE users

        SET lives_in     = '{$lives_in}',
         belongs_to      = '{$belongs_to}',
         college         = '{$college}' ,
         works_at        = '{$works_at}',
         grade           = '{$grade}',
         grade2          = '{$grade2}',
         hobbies         = '{$hobbies}',
         zodiac          = '{$zodiac}',
         phone_no        = '{$phone_no}',
         facebook        = '{$facebook}',
         company         = '{$company}',
         bio             = '{$bio}'
         WHERE id        =  23 
         LIMIT 1";

        $result = mysql_query($query, $database->connection);
        if ($result) {
            $message = "Account Updated";
        } else {
            $message  =  mysql_error();

        }
    } else {
        if (count($errors) == 1) {
            $message = mysql_error();;
        } else {
            $message = "There were " . count($errors) . " errors in the form.";
        }
    }
} else { // Form has not been submitted.

           $lives_in                = "";
           $belongs_to              = "";
           $college                 = "";
           $works_at                = "";
           $grade                   = "";
           $grade2                  = "";
           $hobbies                 = "";
           $zodiac                  = "";
           $phone_no                = "";
           $facebook                = "";
           $company                 = "";
           $bio                     = "";


}

?>

4

1 に答える 1

0

これは非常に簡単です。php でフォームを作成するときに、以前の値をフォームに出力するだけです。

例えば:

<input type="text" name="field_name" value="<?php echo $previous_value;?>" />

または、選択の場合は、次のように言いましょう。

<select name="field_name">
<?php foreach($posible_values as $value){ ?>
    <option value="<?php echo $value;?>" 
        <?php echo ($value==$previous_value)?'selected="selected"':'';?> >
        <?echo $value?>
    </option>
<?php } ?>
</select>
于 2013-08-18T20:39:38.190 に答える