在php代码中,以下代码用于构建一个包含格式的表格,所有3个单元格用于文本,一个单元格用于图像上传。
echo "<table border=1 align=center>
<tr bgcolor='#FFC600'>
<th>sectionID</th>
<th>name</th>
<th>price</th>
<th>image</th>
<th>add</th>
</tr>";
echo "<form action=Data.php enctype=multipart/form-data method=post>";
echo "<tr>";
// give the insert row a special color
echo "<tr bgcolor='#FFC600'>";
echo "<td><input type=text name=cat_id></td>";
echo "<td><input type=text name=item_name></td>";
echo "<td><input type=text name=item_price></td>";
echo "<td><input type=file name=uploaded_file></td>";
echo "<td>" . "<input type=submit name=add value=addNew" . " </td>";
echo "</tr>";
echo "</form>";
echo "</table>";
echo "<br>";
我需要将cat_id的输入更改为下拉列表,我尝试实现此代码但没有成功。
<select>
<option value="a">aa</option>
<option value="b">bb</option>
<option value="c">cc</option>
<option value="d">dd</option>
</select>
这是我到目前为止所尝试的:将以上6行添加到代码中,如下所示:
echo "<form action=myItemsData.php enctype=multipart/form-data method=post>";
echo "<tr>";
// give the insert row a special color
echo "<tr bgcolor='#FFC600'>";
echo "<td>
<select name=cat_id>
<option value="a">aa</option>
<option value="b">bb</option>
<option value="c">cc</option>
<option value="d">dd</option>
</select>
</td>";
echo "<td><input type=text name=item_name></td>";
echo "<td><input type=text name=item_price></td>";
echo "<td><input type=file name=uploaded_file></td>";
echo "<td>" . "<input type=submit name=add value=addNew" . " </td>";
echo "</tr>";
echo "</form>";
echo "</table>";
echo "<br>";
当我尝试在浏览器上加载页面时,我得到了回复:
内部服务器错误
服务器遇到内部错误或配置错误,无法完成您的请求。
请与服务器管理员联系,告知他们错误发生的时间以及可能导致错误的任何操作。
服务器错误日志中可能提供了有关此错误的更多信息。
答案 0 :(得分:1)
所以,我通过使用HEREDOC简化了一些事情,这对于长线,多线字符串非常有用。唯一真正需要的是将select的简单剪切和粘贴到输入所在的单元格中。
echo <<<EOT
<table border=1 align=center>
<tr bgcolor='#FFC600'>
<th>sectionID</th>
<th>name</th><th>price</th>
<th>image</th>
<th>add</th>
</tr>
<form action=Data.php enctype=multipart/form-data method=post>
<tr>;
// give the insert row a special color
<tr bgcolor='#FFC600'>
<td>
<select name=cat_id>
<option value="a">aa</option>
<option value="b">bb</option>
<option value="c">cc</option>
<option value="d">dd</option>
</select>
</td>
<td><input type=text name=item_name></td>
<td><input type=text name=item_price></td>
<td><input type=file name=uploaded_file></td>
<td><input type=submit name=add value=addNew> </td>
</tr>
</form>
</table>
<br>
EOT;
编辑:
除非你出于某种原因必须使用字符串形式的html(即你只是渲染HTML),为什么不这样做?
如果你需要将变量插入标记,那么只需将变量放入php标记:
<keygen><?php echo $myVariable ?></keygen>
试试这个:
<?php
... some preceding php here ...
?>
<table border=1 align=center>
<tr bgcolor='#FFC600'>
<th>sectionID</th>
<th>name</th><th>price</th>
<th>image</th>
<th>add</th>
</tr>
<form action=Data.php enctype=multipart/form-data method=post>
<tr>;
// give the insert row a special color
<tr bgcolor='#FFC600'>
<td>
<select name=cat_id>
<option value="a">aa</option>
<option value="b">bb</option>
<option value="c">cc</option>
<option value="d">dd</option>
</select>
</td>
<td><input type=text name=item_name></td>
<td><input type=text name=item_price></td>
<td><input type=file name=uploaded_file></td>
<td><input type=submit name=add value=addNew> </td>
</tr>
</form>
</table>
<br>
<?php
... some following php here ...
?>