Ok ma comunque il problema persiste sempre.
In pratica non si aggiorna niente! O.O
Codice PHP:
<?php
$db = file("todo.txt");
$trova = $_GET["id"];
foreach($db as $i => $frase) {
# list($id, $valore) = sscanf($linea, "%d|%s");
if($id == $trova) {
$id = ($id == "0") ? "1" : "0";
$db[$i] = "{$id}|{$frase}\n";
break;
}
}
file_put_contents("todo.txt",implode("", $db));
header("Location: index.php");
?>
Potrebbe essere in file_put_contents l'errore?
Perchè inserisci l'implode?
Edit: E' la logica sbagliata... lo stato (1 o 0) e l'id (la linea del file) devono essere separati.
Deve essere aggiornato lo stato, non l'id xD
Codice PHP:
<?php
$db = file("todo.txt");
$trova = $_GET["id"];
foreach($db as $i=>$linea) {
# list($id, $valore) = sscanf($linea, "%d|%s");
if($id == $trova) {
$ex = explode("|",$linea);
$st = ($ex[0] == "0") ? "1" : "0";
$db[$i] = "{$st}|{$ex[1]}\n";
break;
}
}
file_put_contents("todo.txt",$db);
header("Location: index.php");
?>
Ho provato così ma continua a rimanere a 0 se lo è viceversa rimane 1... O.O