我正在尝试从POST方法获取一些表单数据。
这是表格的代码 -
<form action="" method="post" name="form1" id="form1">
<input type="hidden" value="15" name="ad_id">
<table width="100%" cellspacing="0" cellpadding="0" border="0" class="block">
<tbody><tr>
<td valign="top"> </td>
<td align="right">all fields are required</td>
</tr>
<tr>
<td valign="top"> </td>
<td align="center"></td>
</tr>
<tr>
<td valign="top" width="150"><label for="name">Advertisement Name</label>
*</td>
<td><input type="text" size="45" value="Banner" id="name" name="name">
e.g Home Banner</td>
</tr>
<tr>
<td valign="top"><label for="placement">Advertisement Placement</label></td>
<td><select id="placement" name="placement">
宽Skyscrapper 160 x 600
</tr>
<tr>
<td valign="top"><label for="code">Advertisement Code</label></td>
<td><textarea rows="5" cols="45" id="code" name="code"></textarea></td>
</tr>
<tr>
<td>Status</td>
<td><label>
<input type="radio" checked="checked" value="1" name="status">
Active</label>
<label>
<input type="radio" value="0" name="status">
Inactive</label></td>
</tr>
<input type="hidden" value="1" name="banner_uploaded" id="banner_uploaded">
<tr>
<td>For Country - </td>
<td>
<select id="country" name="country">
<option>Not posting all the names of country</option>
</select>
</td>
</tr>
<tr>
<td><label for="Scheduling">Valid From </label></td>
<td><input type="text" value="" id="date-from" name="date-from"> Format : dd/mm/yyyy:hh/mm</td>
</tr>
<tr>
<td><label for="Scheduling">Valid Till </label></td>
<td><input type="text" value="" id="date-to" name="date-to"> Format : dd/mm/yyyy:hh/mm</td>
</tr>
<tr>
<td> </td>
<td align="right"><input type="submit" onclick="return validate_ad_form(add_adv)" value="Update Advertisement" class="button" name="update"></td>
</tr>
</tbody></table>
</form>
但是当我通过它传递HTML代码时,我得$ _POST ['code']为空。
当我通过纯文本时,它可以正常工作。
当我打印$ _POST [即used - print_r($ _ POST)],我得到了以下输出 -
数组([ad_id] =&gt; 15 [名称] =&gt;横幅[展示位置] =&gt; ad_468x60 [代码] =&gt; [状态] =&gt; 1 [banner_uploaded] =&gt; 1 [国家] = &gt; IN [date-from] =&gt; [date-to] =&gt; [update] =&gt;更新广告)
请注意,我还没有输入'date-from','date-to'字段。
我已故意进入,因为StackOverflow不允许我发布图片!
人们,任何帮助都将受到高度赞赏。
答案 0 :(得分:1)
问题是你是print_r()
正在浏览器中显示。如果您的POST数据中包含HTML,那么当您将数据转储回来时,这些标记将作为HTML感兴趣。您必须强制输出为明文模式(header('Content-type: text/plain);
),或者通过htmlspecialchars()
运行可以包含HTML的字段以逃避&lt;和&gt;字符。
如果您查看正在执行print_r()
的页面的来源,我怀疑您会在那里看到HTML标记。如果您只使用example.jpg
图片进行测试,则不会看到任何内容,因为该图片很可能不存在,因此无法渲染,然后<a>
标记没有任何内容强调也不会出现。