Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/243.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何使表单值保持在表单中_Php_Html_Mysql - Fatal编程技术网

Php 如何使表单值保持在表单中

Php 如何使表单值保持在表单中,php,html,mysql,Php,Html,Mysql,我正在开发一个简单的PHP网站。我有一个更新值的表单。当通过PHP(网站)访问该表单时,它应该有以前的值,但它没有。怎么做 因为,否则,它会显示所有字段为空,当一个或两个字段更新时,另一个字段会更新为空。请帮忙 <?php require_once('../includes/config.php'); require_once('../includes/functions.php'); require_once('../includes/session.php'); require_on

我正在开发一个简单的PHP网站。我有一个更新值的表单。当通过PHP(网站)访问该表单时,它应该有以前的值,但它没有。怎么做

因为,否则,它会显示所有字段为空,当一个或两个字段更新时,另一个字段会更新为空。请帮忙

<?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                     = "";


}


这很简单,只要在使用php创建表单时打印出表单中以前的值即可

例如:

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

>

它仍然存在,但当我移动到另一页并再次访问时。他们不在那里。这是一个更新表单。值应该已经存在。是的,它的值在数据库中。@Vinet请尝试使用会话。@Vinet从数据库中从哪里获得值?也许您用来显示表单的代码会有所帮助。您需要执行“始终选择”操作,以使用以前的值构建它。就这样做了。请付账!
<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>