表单不再预填示例数据,示例只留 placeholder (#3)
用户反馈:输入框里预填的「示例值」点进去得先删干净才能填自己的,不合理。 必须分清两类,否则会误删真实配置: - A 类 真实配置(从数据库读出来的)→ 保留 - B 类 出厂示例(代码/配置文件里写死的)→ 清空,示例移 placeholder 本次处理的 B 类: 1. 安装页「网站名称」 原先回显 config.example.php 里的出厂名「轻反馈」,用户以为要保留。 现在首次进入为空,仅在表单校验失败重来时回填用户刚才填的内容。 2. 安装页「管理员用户名」 原先预填 admin,现在为空,placeholder 提示「例如 admin」。 3. 后台「对象键前缀」 原先显示 fb(来自 config 默认值),现在为空,placeholder「留空即用 fb」。 4. 后台「关闭通知邮件标题」 原先显示模板「关于你反馈的问题《%s》」,现在为空,placeholder 给出模板。 ## 新增 fb_form_val() config.example.php 里给的出厂默认值和「用户填过的值」在 fb_cfg() 里合并后 分不出来 —— 表单永远显示得出内容。这个函数按「数据库里有没有这条设置」判定: 设过就回显(哪怕值恰好等于默认),没设过就当未自定义、显示空。 ## 顺带修复一个真 bug close_mail_subject 原先留空会存成空字符串,fb_cfg() 返回空串后 sprintf() 得到空邮件标题 —— 用户清空模板就发不出有主题的邮件。 改成留空即删除该设置,回落到默认模板。 ## 验证 #3 专项 20/20(含:真实配置保存后必须回显、清空后必须回落默认且不存空串); 回归全绿:全新安装 33/33、安装向导 60/60、老基线 25/25、约束检查 20/20。
This commit is contained in:
+9
-3
@@ -432,8 +432,14 @@ function fb_install_self_delete() {
|
||||
<input type="hidden" name="set_password" value="1">
|
||||
|
||||
<label class="field"><span>网站名称 <b class="req">*</b></span>
|
||||
<?php
|
||||
// 首次进入必须空着:config.example.php 里有出厂名「轻反馈」,
|
||||
// 直接回显会让用户以为那是要保留的数据,得先删一遍。
|
||||
// 只有表单校验失败重来时,才回填用户刚填的内容。
|
||||
$nameVal = isset($_POST['site_name']) ? (string)$_POST['site_name'] : '';
|
||||
?>
|
||||
<input type="text" name="site_name" maxlength="80" required autofocus
|
||||
value="<?php echo e(isset($_POST['site_name']) ? (string)$_POST['site_name'] : (string)fb_cfg('site_name', '')); ?>"
|
||||
value="<?php echo e($nameVal); ?>"
|
||||
placeholder="例如:我的软件 · 问题反馈">
|
||||
<i class="hint">显示在浏览器标签、页面顶栏和页脚。</i></label>
|
||||
|
||||
@@ -445,8 +451,8 @@ function fb_install_self_delete() {
|
||||
|
||||
<label class="field"><span>用户名 <b class="req">*</b></span>
|
||||
<input type="text" name="admin_user" maxlength="32" required
|
||||
value="<?php echo e(isset($_POST['admin_user']) ? (string)$_POST['admin_user'] : 'admin'); ?>"
|
||||
placeholder="admin" autocomplete="username">
|
||||
value="<?php echo e(isset($_POST['admin_user']) ? (string)$_POST['admin_user'] : ''); ?>"
|
||||
placeholder="例如 admin" autocomplete="username">
|
||||
<i class="hint">字母、数字、下划线、点、连字符,2~32 位。</i></label>
|
||||
|
||||
<div class="grid2">
|
||||
|
||||
Reference in New Issue
Block a user