dpikoto468637 2017-06-10 07:29
浏览 38

如何使用php在数据库中保存自定义html表单

I want to save custom html form with validation rules in database.

Suppose I have a form which has custom fields and different elements like: select, checkbox, radio, text box. All these elements will be saved as a form into the database, so further I'll be able to easily integrate this form anywhere on my site.

  • 写回答

1条回答 默认 最新

  • duanlan7239 2017-06-10 07:50
    关注

    You can save the html code in col, and in another col you can save json data for the validation options. For example:

    <input type="text" name="username" />
    <input type="password" name="pass" />
    

    And for validation:

    $validation = array(
      'username' => array(
        'regex' => '/\w{6,12}/',
        'error' => 'Username must be 6 - 12 chars'
      ),
      'pass' => array(
        'func'  => 'validate_password',
        'error' => 'Week password'
      )
    );
    
    $validation_json_for_db = json_encode( $validation );
    

    Example usage:

    // may be need to receive from db and json_decode parse
    $validation = array(
      'username' => array(
        'regex' => '/\w{6,12}/',
        'error' => 'Username must be 6 - 12 chars'
      ),
      'pass' => array(
        'func'  => 'validate_password',
        'error' => 'Week password'
      )
    );
    
    $valid_errors = array();
    foreach( $validation as $key => $val ){
      if( isset( $_POST[$key] ) ){
        $isValid = false;
        if( isset( $val['func'] ) ){
          $isValid = call_user_func( $val['func'], $_POST[$key] );
        } elseif( isset( $val['regex'] ){
          $isValid = preg_match( $val['regex'], $_POST[$key] );
        }
    
        if( ! $isValid ){
          $valid_errors[$key] = $val['error'];
        }
    
      }
    }
    
    评论

报告相同问题?

悬赏问题

  • ¥100 角动量包络面如何用MATLAB绘制
  • ¥15 merge函数占用内存过大
  • ¥15 Revit2020下载问题
  • ¥15 使用EMD去噪处理RML2016数据集时候的原理
  • ¥15 神经网络预测均方误差很小 但是图像上看着差别太大
  • ¥15 单片机无法进入HAL_TIM_PWM_PulseFinishedCallback回调函数
  • ¥15 Oracle中如何从clob类型截取特定字符串后面的字符
  • ¥15 想通过pywinauto自动电机应用程序按钮,但是找不到应用程序按钮信息
  • ¥15 如何在炒股软件中,爬到我想看的日k线
  • ¥15 seatunnel 怎么配置Elasticsearch