按下提交按钮后如何取消 PHP 中的一行?
How can I unset a line in PHP after pressing a submit button?
我现在有了这段代码,但每当我进入该页面时,我的整个 text.txt 文件都会被删除。我正在使用会话从另一个 php 文档的页面获取信息。这是输入信息后跳转到的第3页
我想从输入表单的文本文件中选择要删除的行,但我似乎无法让它工作。有什么建议么?谢谢
<?php
$tekstFil = fopen("test.txt","r");
$t = 0;
while (!feof($tekstFil)) {
$informasjonLinje = fgets ($tekstFil);
echo "$t : $informasjonLinje <br/>";
$t++;
}
fclose($tekstFil);
$fil = file("test.txt");
echo "<br/>";
echo "<form action='' type='get'>";
echo "Velg hvilken linje med informasjon du vil slette: ";
echo "<input type='number' name='linjeNummer' value=''>";
echo "<input type='submit' name='slett' value='slett'>";
echo "</form>";
if(isset($_GET["slett"])) {
echo "Du valgte å slette linje nummer: " . $_GET["linjeNummer"];
}
$linjeNummer = $_GET["linjeNummer"];
unset($fil[4]);
$fil = array_values($Fil);
$tekstFil = fopen("test.txt", "w");
foreach ($fil as $verdi) {
fwrite($tekstFil, $verdi);
}
fclose($tekstFil);
请尝试此代码。可能有更简单的方法,但只是修改了您的代码
<?php
$tekstFil = fopen("test.txt","r");
$t = 0;
$buffer = array();
while (!feof($tekstFil)) {
$informasjonLinje = fgets ($tekstFil);
$buffer[] = $informasjonLinje;
echo "$t : $informasjonLinje <br/>";
$t++;
}
fclose($tekstFil);
$fil = file("test.txt");
echo "<br/>";
echo "<form action='' type='get'>";
echo "Velg hvilken linje med informasjon du vil slette: ";
echo "<input type='number' name='linjeNummer' value=''>";
echo "<input type='submit' name='slett' value='slett'>";
echo "</form>";
if(isset($_GET['slett'])) {
echo "Du valgte å slette linje nummer: " . $_GET["linjeNummer"];
$linjeNummer = $_GET["linjeNummer"];
//unset($fil[4]);
//$fil = array_values($Fil);
$tekstFil = fopen("test.txt", "w");
unset($buffer[$linjeNummer]);
$buffer1 = implode("", $buffer);
fwrite($tekstFil, $buffer1);
fclose($tekstFil);
}
unset($buffer);
?>
请尽量不要重新加载页面,因为您使用的是 GET 方法。
我现在有了这段代码,但每当我进入该页面时,我的整个 text.txt 文件都会被删除。我正在使用会话从另一个 php 文档的页面获取信息。这是输入信息后跳转到的第3页
我想从输入表单的文本文件中选择要删除的行,但我似乎无法让它工作。有什么建议么?谢谢
<?php
$tekstFil = fopen("test.txt","r");
$t = 0;
while (!feof($tekstFil)) {
$informasjonLinje = fgets ($tekstFil);
echo "$t : $informasjonLinje <br/>";
$t++;
}
fclose($tekstFil);
$fil = file("test.txt");
echo "<br/>";
echo "<form action='' type='get'>";
echo "Velg hvilken linje med informasjon du vil slette: ";
echo "<input type='number' name='linjeNummer' value=''>";
echo "<input type='submit' name='slett' value='slett'>";
echo "</form>";
if(isset($_GET["slett"])) {
echo "Du valgte å slette linje nummer: " . $_GET["linjeNummer"];
}
$linjeNummer = $_GET["linjeNummer"];
unset($fil[4]);
$fil = array_values($Fil);
$tekstFil = fopen("test.txt", "w");
foreach ($fil as $verdi) {
fwrite($tekstFil, $verdi);
}
fclose($tekstFil);
请尝试此代码。可能有更简单的方法,但只是修改了您的代码
<?php
$tekstFil = fopen("test.txt","r");
$t = 0;
$buffer = array();
while (!feof($tekstFil)) {
$informasjonLinje = fgets ($tekstFil);
$buffer[] = $informasjonLinje;
echo "$t : $informasjonLinje <br/>";
$t++;
}
fclose($tekstFil);
$fil = file("test.txt");
echo "<br/>";
echo "<form action='' type='get'>";
echo "Velg hvilken linje med informasjon du vil slette: ";
echo "<input type='number' name='linjeNummer' value=''>";
echo "<input type='submit' name='slett' value='slett'>";
echo "</form>";
if(isset($_GET['slett'])) {
echo "Du valgte å slette linje nummer: " . $_GET["linjeNummer"];
$linjeNummer = $_GET["linjeNummer"];
//unset($fil[4]);
//$fil = array_values($Fil);
$tekstFil = fopen("test.txt", "w");
unset($buffer[$linjeNummer]);
$buffer1 = implode("", $buffer);
fwrite($tekstFil, $buffer1);
fclose($tekstFil);
}
unset($buffer);
?>
请尽量不要重新加载页面,因为您使用的是 GET 方法。