Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/75.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 - Fatal编程技术网

如何使用php保存动态输入字段和非动态输入字段中的值?

如何使用php保存动态输入字段和非动态输入字段中的值?,php,html,Php,Html,这是我的html <form method="post"> <div class="form-group"> <label for="Firstname">Firstname</label> <input type="text" class="form-control" id="Firstname" name="firstname" placeholder="En

这是我的html

<form method="post">
            <div class="form-group">
              <label for="Firstname">Firstname</label>
              <input type="text" class="form-control" id="Firstname" name="firstname" placeholder="Enter firstname">
            </div>
            <div class="form-group">
              <label for="Lastname">Lastname</label>
              <input type="text" class="form-control" id="Lastname" name="lastname" placeholder="Enter lastname">
            </div>
            <div class="form-group">
              <label for="Contact">Contact</label>
              <input type="number" class="form-control" id="Contact" name="contact" placeholder="Enter contact number">
            </div>
            <div class="form-group">
              <label for="Email">Email</label>
              <input type="email" class="form-control" id="Email" name="email" placeholder="Enter email address">
            </div>




         </div> 


 <div class="col-lg-6">
            <div class="form-group">
              <div class="form-group">
              <label for="Username">Username</label>
              <input type="text" class="form-control" id="Username" name="username" placeholder="Enter email">
            </div>
            <div class="form-group">
              <div class="form-group">
              <label for="Password">Password</label>
              <input type="password" class="form-control" id="Password" name="password" placeholder="Enter email">
            </div>
            <div class="form-group">
              <div class="form-group">
              <label for="CPassword">Confirm Password</label>
              <input type="password" class="form-control" id="CPassword" name="cpassword" placeholder="Enter email">
            </div>
            </div>
         </div> 
    </div>  
  </div>
   <div class="col-lg-12">

   <table class="table">
            <tbody id="newlinehere">
            <tr>
              <th>Day</th>
              <th>Start</th>
              <th>End</th>
              <th></th>
            </tr>
            <tr id="countme">
              <td>
              <div class="form-group">

              <select class="form-control" name="day[]">
                <option value="Monday">Monday</option>
                <option  value="Tuesday">Tuesday</option>
                <option  value="Wednesday">Wednesday</option>
                <option  value="Thursday">Thursday</option>
                <option  value="Friday">Friday</option>
                <option  value="Saturday">Saturday</option>
                <option  value="Sunday">Sunday</option>
              </select>
            </div>
              </td>
              <td>
                    <div class="bootstrap-timepicker"><div class="bootstrap-timepicker-widget dropdown-menu"><table><tbody><tr><td><a href="#" data-action="incrementHour"><i class="glyphicon glyphicon-chevron-up"></i></a></td><td class="separator">&nbsp;</td><td><a href="#" data-action="incrementMinute"><i class="glyphicon glyphicon-chevron-up"></i></a></td><td class="separator">&nbsp;</td><td class="meridian-column"><a href="#" data-action="toggleMeridian"><i class="glyphicon glyphicon-chevron-up"></i></a></td></tr><tr><td><span class="bootstrap-timepicker-hour">12</span></td> <td class="separator">:</td><td><span class="bootstrap-timepicker-minute">15</span></td> <td class="separator">&nbsp;</td><td><span class="bootstrap-timepicker-meridian">AM</span></td></tr><tr><td><a href="#" data-action="decrementHour"><i class="glyphicon glyphicon-chevron-down"></i></a></td><td class="separator"></td><td><a href="#" data-action="decrementMinute"><i class="glyphicon glyphicon-chevron-down"></i></a></td><td class="separator">&nbsp;</td><td><a href="#" data-action="toggleMeridian"><i class="glyphicon glyphicon-chevron-down"></i></a></td></tr></tbody></table></div>
            <div class="form-group">

              <div class="input-group">
                <input type="text" class="form-control timepicker" name="start[]">

                <div class="input-group-addon">
                  <i class="fa fa-clock-o"></i>
                </div>
              </div>
            </div>
          </div>
              </td>
              <td>
                    <div class="bootstrap-timepicker"><div class="bootstrap-timepicker-widget dropdown-menu"><table><tbody><tr><td><a href="#" data-action="incrementHour"><i class="glyphicon glyphicon-chevron-up"></i></a></td><td class="separator">&nbsp;</td><td><a href="#" data-action="incrementMinute"><i class="glyphicon glyphicon-chevron-up"></i></a></td><td class="separator">&nbsp;</td><td class="meridian-column"><a href="#" data-action="toggleMeridian"><i class="glyphicon glyphicon-chevron-up"></i></a></td></tr><tr><td><span class="bootstrap-timepicker-hour">12</span></td> <td class="separator">:</td><td><span class="bootstrap-timepicker-minute">15</span></td> <td class="separator">&nbsp;</td><td><span class="bootstrap-timepicker-meridian">AM</span></td></tr><tr><td><a href="#" data-action="decrementHour"><i class="glyphicon glyphicon-chevron-down"></i></a></td><td class="separator"></td><td><a href="#" data-action="decrementMinute"><i class="glyphicon glyphicon-chevron-down"></i></a></td><td class="separator">&nbsp;</td><td><a href="#" data-action="toggleMeridian"><i class="glyphicon glyphicon-chevron-down"></i></a></td></tr></tbody></table></div>
            <div class="form-group">

              <div class="input-group">
                <input type="text" class="form-control timepicker" name="end[]">

                <div class="input-group-addon">
                  <i class="fa fa-clock-o"></i>
                </div>
              </div>
            </div>
          </div>
              </td>
             <td>
             <!--<button type="button" class="btn removeline">x</button>-->
             </td>
            </tr>

          </tbody></table>



   </div>

   <div class="col-lg-12">
    <button type="button" class="btn btn-primary" id="newline">New Line</button>

    <button type="submit" class="btn btn-success" name="testsave">Save changes</button>
</form>

名字
姓氏
接触
电子邮件
用户名
密码
确认密码
白天
开始
终点
星期一
星期二
星期三
星期四
星期五
星期六
星期日
上午12时15分
上午12时15分
新线
保存更改
这是我的php代码

<?php
    if(isset($_POST["testsave"])){

    $firstname=$_POST['firstname'];
    $lastname=$_POST['lastname'];
    $contact=$_POST['contact'];
    $email=$_POST['email'];
    $username=$_POST['username'];
    $password=$_POST['password'];
    $cpassword=$_POST['cpassword'];
    $day=$_POST['day'];
    $start=$_POST['start'];
    $end=$_POST['end'];
    $number = count($_POST["day"]);


    $sql = "SELECT coalesce(MAX(cashier_id), 0) AS maxx FROM tbl_cashiers";
    $result = $DBcon->query($sql);
    if ($result->num_rows > 0) {
        while($row = $result->fetch_assoc()) {
        $cashier_id=$row["maxx"];
    }
        $cashier_id++;
    } else {
        $cashier_id=1;
    }





        if($number > 0){




                foreach( $day as $key => $n ) {


                    $dday=$day[$key];
                    $sstart=$start[$key];
                    $eend=$end[$key];

                    $sql = "INSERT INTO tbl_shifts (cashier_id, shift_day, shift_start,shift_end)
                    VALUES ('$cashier_id','$dday','$sstart','$eend')";

                    if ($DBcon->query($sql) === TRUE) {
                    } 

                }
/*  $sql2 = "INSERT INTO tbl_cashiers (username, password, firstname,lastname, contact, email)
                VALUES ('$username','$password','$firstname','$lastname','$contact','$email')";
                if ($DBcon->query($sql2) === TRUE) {
                    $last_id = $DBcon->insert_id;
                }  */

        }
    }

    ?>

我不明白您的问题,插入查询天不起作用

在没有准备语句的情况下小心地进行SQL注入

您可以使用以下帮助程序:

<?php
class DB
{
    protected static $instance = null;

    protected function __construct() {}
    protected function __clone() {}

    public static function instance($context = 'stream')
    {
        //DB Dispatch
        if (!isset(self::$instance[$context]) || self::$instance[$context] === null)
        {
            $opt  = array(
                PDO::ATTR_ERRMODE            => PDO::ERRMODE_EXCEPTION,
                PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC,
                PDO::ATTR_EMULATE_PREPARES   => FALSE,
            );
            switch ($context)
            {
                case 'stream':
                        $dsn = 'mysql:host='.DB_HOST.';dbname='.DB_NAME.';charset='.DB_CHAR;
                        self::$instance[$context] = new PDO($dsn, DB_USER, DB_PASS, $opt);
                    break;
                default:
                        die('DB Context invalid');
                    break;
            }
        }
        return self::$instance[$context];
    }

    public static function __callStatic($method, $args)
    {
        return call_user_func_array(array(self::instance(), $method), $args);
    }

    public static function query($sql, $args = [], $context = 'stream')
    { 
        $stmt = self::instance($context)->prepare($sql);
        $stmt->execute($args);
        return $stmt;
    }
    public static function getLastInsertedId($context)
    {
        return self::instance($context)->lastInsertId();
    }
    public static function insert($table, $keyValue, $context)
    {
        $fieldString = '';
        $valueString = '';
        $i           = 1;
        foreach ($keyValue as $key => $currKeyValue) 
        {
            $fieldString .= $key;
            $valueString .= ':'.$key;
            if($i != count($keyValue))
            {
                $fieldString .= ', ';
                $valueString .= ', ';
            }
            $i++;
        }
        $query       = 'INSERT INTO `'.$table.'` ('.$fieldString.') VALUES('.$valueString.')';
        DB::query($query, $keyValue, $context);
    }
    public static function update($table, $keyValue, $idtoUpdate, $context = 'stream', $fieldIdToUpdate = 'id')
    {
        $updateString   = '';
        $i              = 1;
        foreach ($keyValue as $key => $currKeyValue) 
        {
            $updateString .= $key.'=:'.$key;
            if($i != count($keyValue))
                $updateString .= ', ';
            $i++;
        }
        $query          = 'UPDATE `'.$table.'` SET '.$updateString.' WHERE '.$fieldIdToUpdate.'=:id';
        $keyValue['id'] = $idtoUpdate;
        DB::query($query, $keyValue, $context);
    }
    public static function select($table, $where = false, $whereParams = array(), $selectFields = '*', $context = 'stream', $fetchAll = false)
    {
        $selectQuery        = 'SELECT '.$selectFields.' FROM '.$table;
        if($where)
            $selectQuery .= ' WHERE '.$where;
        $return = DB::query($selectQuery, $whereParams, $context);
        if(!$fetchAll)
            return $return;
        else
            return $return->fetchAll();
    }
    /**
    *@param string $table : Table used for the search
    *@param string $where : String containing the "WHERE" part of the query
    *@param array $whereParams : Parameters to bind
    *@param string $context : DB context (for multiple DB)
    */
    public static function checkIfExist($table, $where = false, $whereParams = array(), $context = 'stream')
    {
        if(empty(DB::select($table, $where, $whereParams, '*', $context, true)))
            return false;
        else
            return true;
    }
    public static function getLatestId()
    {
        return self::instance()->lastInsertId();
    }
}
?>

我不理解您的问题,插入查询天不起作用

在没有准备语句的情况下小心地进行SQL注入

您可以使用以下帮助程序:

<?php
class DB
{
    protected static $instance = null;

    protected function __construct() {}
    protected function __clone() {}

    public static function instance($context = 'stream')
    {
        //DB Dispatch
        if (!isset(self::$instance[$context]) || self::$instance[$context] === null)
        {
            $opt  = array(
                PDO::ATTR_ERRMODE            => PDO::ERRMODE_EXCEPTION,
                PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC,
                PDO::ATTR_EMULATE_PREPARES   => FALSE,
            );
            switch ($context)
            {
                case 'stream':
                        $dsn = 'mysql:host='.DB_HOST.';dbname='.DB_NAME.';charset='.DB_CHAR;
                        self::$instance[$context] = new PDO($dsn, DB_USER, DB_PASS, $opt);
                    break;
                default:
                        die('DB Context invalid');
                    break;
            }
        }
        return self::$instance[$context];
    }

    public static function __callStatic($method, $args)
    {
        return call_user_func_array(array(self::instance(), $method), $args);
    }

    public static function query($sql, $args = [], $context = 'stream')
    { 
        $stmt = self::instance($context)->prepare($sql);
        $stmt->execute($args);
        return $stmt;
    }
    public static function getLastInsertedId($context)
    {
        return self::instance($context)->lastInsertId();
    }
    public static function insert($table, $keyValue, $context)
    {
        $fieldString = '';
        $valueString = '';
        $i           = 1;
        foreach ($keyValue as $key => $currKeyValue) 
        {
            $fieldString .= $key;
            $valueString .= ':'.$key;
            if($i != count($keyValue))
            {
                $fieldString .= ', ';
                $valueString .= ', ';
            }
            $i++;
        }
        $query       = 'INSERT INTO `'.$table.'` ('.$fieldString.') VALUES('.$valueString.')';
        DB::query($query, $keyValue, $context);
    }
    public static function update($table, $keyValue, $idtoUpdate, $context = 'stream', $fieldIdToUpdate = 'id')
    {
        $updateString   = '';
        $i              = 1;
        foreach ($keyValue as $key => $currKeyValue) 
        {
            $updateString .= $key.'=:'.$key;
            if($i != count($keyValue))
                $updateString .= ', ';
            $i++;
        }
        $query          = 'UPDATE `'.$table.'` SET '.$updateString.' WHERE '.$fieldIdToUpdate.'=:id';
        $keyValue['id'] = $idtoUpdate;
        DB::query($query, $keyValue, $context);
    }
    public static function select($table, $where = false, $whereParams = array(), $selectFields = '*', $context = 'stream', $fetchAll = false)
    {
        $selectQuery        = 'SELECT '.$selectFields.' FROM '.$table;
        if($where)
            $selectQuery .= ' WHERE '.$where;
        $return = DB::query($selectQuery, $whereParams, $context);
        if(!$fetchAll)
            return $return;
        else
            return $return->fetchAll();
    }
    /**
    *@param string $table : Table used for the search
    *@param string $where : String containing the "WHERE" part of the query
    *@param array $whereParams : Parameters to bind
    *@param string $context : DB context (for multiple DB)
    */
    public static function checkIfExist($table, $where = false, $whereParams = array(), $context = 'stream')
    {
        if(empty(DB::select($table, $where, $whereParams, '*', $context, true)))
            return false;
        else
            return true;
    }
    public static function getLatestId()
    {
        return self::instance()->lastInsertId();
    }
}
?>