2016-11-10 52 views
-2

我現在有這個代碼,但每當我到達頁面我的整個text.txt文件被刪除。我正在使用會話從另一個php文檔的頁面獲取信息。這是信息輸入後它指向的第3頁。如何在按下提交按鈕後在PHP中取消設置一行?

我想選擇哪一行從輸入表單的文本文件中刪除,但我似乎無法得到它的工作。有什麼建議麼?謝謝

<?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); 
+1

'type ='get''這不是「type」它是「方法」。 –

+0

和'$ fil'!='$ Fil'。 –

+0

錯誤報告將是你的朋友。 –

回答

0

請嘗試此代碼。有可能是更簡單的方法,但只是修改你的代碼

<?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方法。

+0

謝謝,完美無缺。但是我必須按兩次按鈕才能刪除字符串。你知道我該如何解決這個問題嗎? – PHPnewb

+0

它只需要點擊一下我。 –