-2

我有如下的 HTML 和 PHP 代码。我有代码一个文件html2word.php

<form method="post" action="htmltortf.php">    
    <table>
        <tr>
            <td colspan="3">Convert html to doc</td>
        </tr>
        <tr>
            <td colspan="3">Choose the answer</td>
        </tr>
        <tr>
            <td><input type="radio"  name="004" value="1" <?=($_POST['004']=='1' ? 'checked="checked"' : '')?>/>1</td>
            <td><input type="radio"  name="004" value="2" <?=($_POST['004']=='2' ? 'checked="checked"' : '')?>/>2</td>
            <td><input type="radio"  name="004" value="3" <?=($_POST['004']=='3' ? 'checked="checked"' : '')?>/>3</td>
        </tr>
        <tr>
            <td colspan="3"><input type="submit" name="submit" value="submit" /></td>
        </tr>
    </table>
    <?php
        if(isset($_POST['submit']))
        {
            header("Content-type: application/vnd.ms-word");
            header("Content-Disposition: attachment;Filename=html2doc.doc");
        }
     ?>    
</form>

我需要的:

当用户选中单选框时,当我将其转换为 MS-Word 时,它也会显示单选框被选中。

问题:

当我将其转换为 Word 文档时,它会显示我选中的单选框,但会显示错误消息:

Notice: Undefined index: 004 in C:\wamp\www\html to docv2\htmltortf.php on line 51.

我该如何解决?

4

1 回答 1

0

当用户点击提交按钮时,表单数据发送到服务器。它存储在 $_POST 数组中,因此当您显示此页面时,您必须提前检查是否有任何数据接收器。
尝试类似的事情(用此代码替换单选按钮 html):

<td><input type="radio"  name="004" value="1" <?=((isset($_POST['004']) && $_POST['004']=='1') ? 'checked="checked"' : '')?>/>1</td>
<td><input type="radio"  name="004" value="2" <?=((isset($_POST['004']) && $_POST['004']=='2') ? 'checked="checked"' : '')?>/>2</td>
<td><input type="radio"  name="004" value="3" <?=((isset($_POST['004']) && $_POST['004']=='3') ? 'checked="checked"' : '')?>/>3</td>

检查完整的解决方案: http ://codepad.org/QThcTGdO

于 2012-09-06T14:51:51.047 回答