1

我没有这方面的经验,但我认为我做得很好。我需要有经验的人的帮助。认为这是一个有趣的问题假设有 3 个复选框和 3 个文本框。

<input type="checkbox" name="check[1]" value="1.">  
<textarea name="text[1]" ></textarea>

 <input type="checkbox" name="check[2]" value="2.">   
 <textarea name="text[2]" ></textarea>

 <input type="checkbox" name="check[3]" value="3.">  
 <textarea name="text[3]" ></textarea>

我需要创建一个循环来检查 foreachcheck[%]是否被选中 if (isset($_POST['check[%]']))以将所有选中text[%]的文本框值添加到一些$value

$value需要作为选框中的一行输出

我认为它需要$value经历低谷html_entity_decode ,但我不确定。最终输出类似于

$output .= "<font><marquee scrollamount='3' BEHAVIOR=SCROLL DIRECTION="left"> $value"."</marquee>"."</font>";
4

1 回答 1

1

对于初学者,对于 PHP POST,我不会在输入值的名称中使用方括号。

索引.php:

<form action="test.php" method="POST">
    <input type="checkbox" name="check1" value="1.">  
    <textarea name="text1" ></textarea>
    <input type="checkbox" name="check2" value="2.">   
    <textarea name="text2" ></textarea>
    <input type="checkbox" name="check3" value="3.">  
    <textarea name="text3" ></textarea>
    <button type="submit">Submit</button>
</form>

测试.php:

    $total_checkbox_num = 3;
    $final_message = '';
    if ($_SERVER["REQUEST_METHOD"] == "POST") {
        foreach($_POST as $key => $value) {
            if (!is_array($key)) {
                $_POST[$key] = htmlspecialchars(stripslashes(trim($value)));
            }
        }
        for($i = 1; $i <= $total_checkbox_num; $i++) {
            if(isset($_POST['check'.$i])) {
                $final_message .= $_POST['text'.$i];
            }
        }
        $output = '<font><marquee scrollamount="3" behavior="scroll" direction="left">' . $final_message . '</marquee></font>';
        echo $output;
    } else echo "There was an error";
于 2013-02-25T16:22:40.500 回答