-2

以下表格收集有关访问者颜色偏好的数据。

"No Color Chosen"如果用户在我不想阻止用户提交空白表单时提交空白表单,我如何使用explode函数将默认值(例如,这里的默认值在数据库中不可用)插入到mysql数据库中.

虽然我不确定使用 explode 函数是否是正确的方法,但我尝试使用以下语法

if ((isset($_POST["MM_insert"])) && ($_POST["MM_insert"] == "form1")) {    
$color = "No Color Chosen ({$_POST['color_name']};)";
$colors = explode (" ", $color);

$insertSQL = sprintf("INSERT INTO colortable (color_name) VALUES (%s)",


GetSQLValueString(trim($colors[]), "text")),

  mysql_select_db($database_x, $x;
  $Result1 = mysql_query($insertSQL, $x) or die(mysql_error());

  $insertGoTo = "choice.php";
  if (isset($_SERVER['QUERY_STRING'])) {
    $insertGoTo .= (strpos($insertGoTo, '?')) ? "&" : "?";
    $insertGoTo .= $_SERVER['QUERY_STRING'];
  }
  header(sprintf("Location: %s", $insertGoTo));

<form action="<?php echo $editFormAction; ?>" method="post" name="form1"   id="form1">
    <table align="center">
        <tr valign="baseline">
            <td align="right" nowrap="nowrap">Enter Color Name:</td>
            <td>
                <input type="text" name="color_name" value="" size="32" />
            </td>
        </tr>
        <tr valign="baseline">
            <td nowrap="nowrap" align="right">
                <input type="hidden" name="MM_insert" value="form1" />
            </td>
            <td>
                <input type="submit" value="Submit Color Name" />
            </td>
        </tr>
    </table>
</form>
</td>
</tr>
</table>

我应该如何定义以下值

  value=
    "<?php echo $_POST($colors[0]);?>"
    "<?php echo $_POST($colors[1]);?>"

作为表单文本输入值的条件语句

<input type="text" name="color_name" value="conditional statement goes here" size="32" />

<?php echo $_POST($colors[0]);?>在这种情况下,以便在空白表单提交时插入派生自的默认值默认值“未选择颜色” ?

顺便说一句,这里 $color 数组的其他元素将$colors[1]通过值将用户输入发布到数据库("<?php echo $_POST($colors[1]);?>"如果有的话)。

还有其他简单的方法吗?

4

2 回答 2

3

我不明白你的表格是如何工作的..我能给你的最好的主意就是将值设置为这个(在开头的某个地方)....

    $color = "DEFAULT VALUE";
    if(isset($_POST['color_name']) && !empty($_POST['color_name'])){
       $color = $_POST['color_name'];
    }

在该行之后,使用 $color 变量进行下一步操作..

于 2012-10-23T05:09:00.133 回答
0

我不会直接回答 PHP 问题,但至少占位符文本功能可以在 HTML5 中默认完成,无需 Javascript 或测试默认值未输入数据库:

<input type="text" placeholder="my text to be replaced"/>

支持看起来相当不错(http://wufoo.com/html5/),尽管您可以在不支持它的浏览器中轻松地对其进行 polyfill - 请参见此处:https ://github.com/ginader/HTML5-placeholder-填充物

一个例子:

http://jsfiddle.net/jjnbF/1/

于 2012-10-23T05:10:57.927 回答