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
|