Witam
jestem nowy na forum i pozdrawiam wszystkich:)
Mam napisany skrypt który ma parę błędów i chce je usunąć...
Zatrzymałem się na problemie opisanym poniżej..
Skrypt ma na celu tworzenie baz danych{plik.txt] o nazwie użytkownika, odczytywaniu rekordów i usuwania pojedynczych rekordów. Problemik polega na tym ze lista rekordów się nie aktualizuje. Gdy usunę jakiś rekord on nadal istnieje aż do momentu odświeżenia.
<?php
require_once "maincore.php";
require_once "subheader.php";
require_once "side_left.php";
$user = $userdata['user_name'];
$DOCUMENT_ROOT = $HTTP_SERVER_VARS['DOCUMENT_ROOT'];
$nazwapliku = $user.'.txt';
$wp2 = "$DOCUMENT_ROOT/mm/".$nazwapliku;
@ $wp = fopen("$DOCUMENT_ROOT/mm/".$nazwapliku,'r');
$plik = "$DOCUMENT_ROOT/mm/".$user.".txt";
//-----------------------------------------
if (file_exists($wp2)) {
} else {
fopen("$DOCUMENT_ROOT/mm/".$nazwapliku,'w');
}
opentable(LOGS);
$waga = filesize($wp2);
if ($waga < 1)
{
echo 'No Account';
}
else
{
while (!feof($wp))
{
$konta = fgets($wp, 999);
echo $konta.'<br>';
}
fclose($wp);
}
//----------------------------------------------------------------------
closetable();
//------------------------------------------
$dane = file($plik);
if ((isset($_POST['usun'])) AND (is_numeric($_POST['usun']))) {
/* sprawdzam czy zmienna $_POST['usun'] zostala zainicjonowana i czy jest cyfra */
$dane = file($plik); /* pobieram dane z pliku */
unset($dane[$_POST['usun']]); /* usuwam wybrany rekord tablicy */
$f = fopen($plik, "w"); /* nawiazuje polaczenie z plikiem i kasuje jego zawartosc */
foreach($dane as $linia){
fputs($f, $linia); /* wprowadzam linie po linii do pliku */
}
fclose($f); /* zamykam polaczneie z plikiem */
header( 'location: '. $_SERVER['PHP_SELF'] );
}
?>
<form action="show.php" method="post">
<select name="usun">
<?php
$dane = file($plik);
for($i=0;$i<count($dane);$i++) {
list($LVL[$i], $ACC[$i], $PASS[$i]) = explode("|", $dane[$i]);
}
for($i=0;$i<count($ACC);$i++)
echo '<option value="'.$i.'"> '.$LVL[$i]." ".$PASS[$i]."</option>";
?>
<form>
<input type="submit" value="Skasuj wpis" />
</form>
<?php
require_once "side_right.php";
require_once "footer.php";
?>
Kliknij i zaczekaj na załadowanie kodu ...
Jak widzimy na screenie wyskakuje błąd na linijce 93 odpowiada to linijce 83 podanego skryptu powyżej. Próbowałem zastosować odśwież ale bez skutku. Bez funkcji header błąd nie wyskakiwał ale rekordy nie odświeżały się:(
Za wszelkie rady będę bardzo wdzięczny.
Wiadomość doklejona:
Temat do zamknięcia:)
PW od moderatora:
- Zmiana nazwy tematu - khaman 12.05 - 14:20
- Przeniesienie tematu - khaman 12.05 - 14:22
Edytowane przez klucha dnia 16.05.2009 19:47:05
|