如何使用PHP将所选复选框的值保存到文件中?

时间:2015-03-10 23:10:17

标签: php html css file checkbox

我的文字文件如下:

  

12345 234 455
  23 67 9666 13 56
  1234 777 900

每当我检查首选复选框时,只显示每行的第一个值,其他值不会出现,我的意思是第一行只显示12345而且不会出现234 455; 有人帮助我吗? 每当我选择任何复选框时,我都需要选择或显示完整的行包含

process.php     

require 'connect.inc.php';

if(isset($_POST['check']) && ! empty($_POST['check']))  
{
    $check=$_POST['check'];
    $numberOfCheck=count($check);

    echo ("You have checked $numberOfCheck checkboxes : ");

    for ($i=0; $i<$numberOfCheck; $i++)  
    {
        echo '<br>';
        echo ($check[$i]. " ");

        $VarCheck=$check[$i];
        $name=time();
        $myFile=fopen($name,"a");
        $txt=$VarCheck;

        fwrite($myFile,$txt);
        fclose($myFile);    
    }
}
else
{
    echo "Zero check selected";
}


?>

这是我根据文件文本行数生成的动态表

<?php

echo '<form method="POST" action="process.php">';

$file = fopen("text.txt","r");

echo '<table border="1">';

while(! feof($file))

  {

  $data= fgets($file);

echo '<tr>

<td><input type="checkbox" name="check[]" value='.$data.'</td>

<td>'.$data.'</td></tr>';


  }
fclose($file);

echo '<input type="submit" value="send">';

echo '</form>';

?>

1 个答案:

答案 0 :(得分:1)

您忘记关闭(>)输入标记,并为输入值设置"

您必须更改此行:

<td><input type="checkbox" name="check[]" value='.$data.'</td>

为:

<td><input type="checkbox" name="check[]" value="'.$data.'"></td>

编辑测试:

  

文件text.txt

12345 234 455
23 67 9666 13 56
1234 777 900
  

Page 1.php

<?php

echo '<form method="POST" action="process.php">';

$file = fopen("text.txt","r");

echo '<table border="1">';

while(! feof($file))

  {

  $data= fgets($file);

if(trim($data) != '') {
echo '<tr>

<td><input type="checkbox" name="check[]" value="'.$data.'"></td>

<td>'.$data.'</td></tr>';
}

  }
fclose($file);

echo '<input type="submit" value="send">';

echo '</form>';

?>
  

Page process.php

<?php


if(isset($_POST['check']) && ! empty($_POST['check']))  
{
    $check=$_POST['check'];
    $numberOfCheck=count($check);

    echo ("You have checked $numberOfCheck checkboxes : ");

    for ($i=0; $i<$numberOfCheck; $i++)  
    {
        echo '<br>';
        echo ($check[$i]. " ");

        $VarCheck=$check[$i];
        $name=time();
        $myFile=fopen($name,"a");
        $txt=$VarCheck;

        fwrite($myFile,$txt);
        fclose($myFile);    
    }
}
else
{
    echo "Zero check selected";
}


?>