如何使用 php 将选定复选框的值保存到文件?
How to save value from a selected checkbox to a file using php?
我的文本文件如下:
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";
}
?>
这是我的动态table根据我的文件文本的行数生成的
<?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>';
?>
您忘记关闭 (>
) 您的输入标签并为输入值设置 "
。
您必须更改此行:
<td><input type="checkbox" name="check[]" value='.$data.'</td>
至:
<td><input type="checkbox" name="check[]" value="'.$data.'"></td>
编辑 用这个测试:
File 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";
}
?>
我的文本文件如下:
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";
}
?>
这是我的动态table根据我的文件文本的行数生成的
<?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>';
?>
您忘记关闭 (>
) 您的输入标签并为输入值设置 "
。
您必须更改此行:
<td><input type="checkbox" name="check[]" value='.$data.'</td>
至:
<td><input type="checkbox" name="check[]" value="'.$data.'"></td>
编辑 用这个测试:
File 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";
}
?>