获取已检查的无线电PHP的值

时间:2015-09-09 08:32:08

标签: php html forms get radio-button

以下代码是我正在使用的代码:

<form action="sendinfo.php" method="post" id="form">
                -Title:<br>
                <input type="text" class="u-full-width" name="title" placeholder="Insert a title" >
                <br>-Date<br>
                <input class="u-full-width" type="text" name="date" placeholder="Click to add a date"><hr>
                <br>-Buildyear:<br>
                <input class="u-full-width" type="text" name="buildyear" placeholder="click to add buildyear">

                <br>-rebuild<br>
                <input id="1" type="radio" name="rebuildyes" value="yes"><label for="1">tes</label>
                <input id="2" type="radio" name="rebuildno" value="No"><label for="2">No</label><hr>

                <input type="submit" value="send" class="u-full-width">
</form>

其他代码是:

 <?php
        //variables
            $title = $_POST['title'];
            $date = $_POST['date'];
            $buildyear = $_POST['buildyear']; 
            $rebuildyes = $_POST['rebuildyes'];
            $rebuildno = $_POST['rebuildno'];

        //in browser 
            echo "<h1>The inserted data has been locally stored as " . $title . " " . $date . ".txt</h1>";
            echo "<p>click <a href='index.html'>Here</a> to return to the previous screen</p>";



        //write text file.
            $file = fopen($title . " " . $date . ".txt","w");
            if ($date) fwrite($file, "Date: " . $date . "\r\n");
            fwrite($file, "\r\n");
            if ($buildyear) fwrite($file, "Buildyear: " . $buildyear . "\r\n");
            if ($rebuildyes) fwrite($file, "Rebuild? " . $rebuildyes . "\r\n");
            if ($rebuildno) fwrite($file, "Rebuild? " . $rebuildno . "\r\n");

    ?>

此代码的结果是生成的文本文件,其中的数据以第一页上给出的格式填写。这里的问题是我无法使单选按钮工作,至少我无法从中获取数据。当它们为空时,不应该在文件中写下来,当它们被选中时应该是。

另外,请不要告诉我这是一种编码PHP的危险方式,因为我知道它可以让用户访问写入PHP访问的地方,但是这个&#34;项目&#34;只有少数人可以访问,并且实际上不会被托管服务器。话虽如此,如果你有更好的方法来构建这个项目,不是风险明智,只是PHP明智,请告诉我,因为我刚刚开始编写PHP。

由于

3 个答案:

答案 0 :(得分:1)

<input type="radio" name="rebuild" value="yes"><label>Yes</label>
<input type="radio" name="rebuild" value="No"><label>No</label>

and get the value using 

if(isset($_POST['submit'])){
    echo    $rebuild  = $_POST['rebuild'];
    die;
}

答案 1 :(得分:1)

这是我测试过的代码,文件写得正确,并且&#34;重建&#34;也是对的:

<form action="sendinfo.php" method="post" id="form">
    -Title:<br>
    <input type="text" class="u-full-width" name="title" placeholder="Insert a title" >
    <br>-Date<br>
    <input class="u-full-width" type="text" name="date" placeholder="Click to add a date"><hr>
    <br>-Buildyear:<br>
    <input class="u-full-width" type="text" name="buildyear" placeholder="click to add buildyear">

    <br>-rebuild<br>
    <input id="1" type="radio" name="rebuild" value="yes"><label for="1">Yes</label>
    <input id="2" type="radio" name="rebuild" value="no"><label for="2">No</label><hr>

    <input type="submit" value="send" class="u-full-width">
</form>

PHP:

<?php
    //variables
    $title = $_POST['title'];
    $date = $_POST['date'];
    $buildyear = $_POST['buildyear']; 

    //in browser 
    echo "<h1>The inserted data has been locally stored as " . $title . " " . $date . ".txt</h1>";
    echo "<p>click <a href='index.html'>Here</a> to return to the previous screen</p>";

    //write text file.
    $file = fopen($title . " " . $date . ".txt","w");
    if ($date) fwrite($file, "Date: " . $date . "\r\n");
    fwrite($file, "\r\n");
    if ($buildyear) fwrite($file, "Buildyear: " . $buildyear . "\r\n");
    if (isset($_POST['rebuild']) && $_POST['rebuild'] == 'yes') { 
        fwrite($file, "rebuild? yes \r\n");
    } 
    elseif (isset($_POST['rebuild']) && $_POST['rebuild'] == 'no') { 
        fwrite($file, "rebuild? no \r\n"); 
    }

    fclose($file);
?>

答案 2 :(得分:0)

将您的单选按钮设为一个组:

<input id="1" type="radio" name="rebuild" value="yes"><label for="1">tes</label>
<input id="2" type="radio" name="rebuild" value="no"><label for="2">No</label><hr>

然后,检查用户是否选择了“是”值:

if (isset($_POST['rebuild']) && $_POST['rebuild'] == 'yes') {
    // YOUR CODE
}
相关问题