以下表格收集有关访客颜色偏好的数据。
如果用户在我不想要的时候提交空白表单,如何使用explode函数将默认值(例如,"No Color Chosen"
是默认值,这里是数据库中不可用)插入mysql数据库防止用户提交空白表格。
虽然我不确定是否使用爆炸功能是正确的方法,但我尝试使用以下语法
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]);?>
派生的默认值默认值“No Color Chosen”?
顺便说一句,这里$ color数组$colors[1]
的另一个元素应该通过值"<?php echo $_POST($colors[1]);?>"
将用户输入发布到数据库中。如果有的话。
还有其他简单方法吗?
答案 0 :(得分:3)
我不明白你的表格是如何运作的......我能给你的最好的想法就是把价值设定为这个(开头的某个地方)....
$color = "DEFAULT VALUE";
if(isset($_POST['color_name']) && !empty($_POST['color_name'])){
$color = $_POST['color_name'];
}
在该行之后使用$ color变量进行下一步操作..
答案 1 :(得分:0)
我不会直接回答PHP问题,但至少可以在HTML5中默认完成占位符文本功能,而无需Javascript或测试默认值没有输入数据库:
<input type="text" placeholder="my text to be replaced"/>
支持看起来相当不错(http://wufoo.com/html5/)虽然您可以在不支持它的浏览器中轻松填充此内容 - 请参阅此处:https://github.com/ginader/HTML5-placeholder-polyfill
行动中的一个例子: