Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Przekazanie zmiennej ---Problem
Forum PHP.pl > Forum > PHP
lukiz88
Cześć

mam problem z przekazaniem zmiennej "$artykul" z formularza.
Próbowałem na wiele sposobów ale nie dałem rady więć liczę na waszą pomoc.
W tym skrypcie chodzi o to by po wybraniu którą linijkę ma usunąć, najpierw ma przekazać zmienną artykuł i ją usunąć poleceniem unlink jak dobrze pamiętam, a potem daną linijkę z pliku newsy.txt.Usuwa linijkę ale nie usuwa pliku.

oto Kod(napisałem to co tylko działa bez unlink):
  1. <?
  2.  
  3. $plik = "newsy.txt";
  4.  
  5. if ((isset($_POST['usun'])) AND (is_numeric($_POST['usun']))) {
  6. /* sprawdzam czy zmienna $_POST['usun'] zostala zainicjonowana i czy jest cyfrą */
  7.  
  8.  
  9.  
  10.  
  11. $dane = file($plik); /* pobieram dane z pliku */
  12.  
  13. unset($dane[$_POST['usun']]) /* usuwam wybrany rekord tablicy */
  14.  
  15. $f = fopen($plik, "w"); /* nawiązuje połączenie z plikiem i kasuje jego zawartosc */
  16. foreach($dane as $linia){
  17.  fputs($f, $linia); /* wprowadzam linie po linii do pliku */
  18. }
  19. fclose($f); /* zamykam polączneie z plikiem */
  20.  
  21. }
  22.  
  23. ?>
  24.  
  25. <form action="usu.php" method="post">
  26. <select name="usun">
  27. <?php
  28. $dane = file($plik);
  29.  
  30. for($i=0;$i<count($dane);$i++) {
  31. list($imie[$i], $nazwisko[$i], $miejscowosc[$i], $artykul[$i]) = explode("|&&|", $dane[$i]);
  32.  
  33.  
  34. }
  35.  
  36. for($i=0;$i<count($imie);$i++) {
  37.  echo '<option value="'.$i.'">Data: '.$imie[$i].", Tytul: ".$nazwisko[$i].", Tresc: ".$miejscowosc[$i].", Artykul: ".$artykul[$i]."</option>";
  38.  
  39. }?>
  40. </select>
  41.  
  42.  
  43. <input type="submit" value="usun" />
  44. </form>


Mam nadzieje że pomożecie.
Sokal
Jakieś errory?

Nie dałeś srednika po
  1. <?php
  2. unset($dane[$_POST['usun']])
  3. ?>


A jak i to nie pomoże to spróbuj tak:
zamiast
  1. <?php
  2. unset($dane[...])
  3. ?>

  1. <?php
  2. $dane[$_POST['usun']] = '';
  3. ?>


I zamiast
  1. <?php
  2. foreach($dane as $linia){
  3.  fputs($f, $linia); /* wprowadzam linie po linii do pliku */
  4. }
  5. ?>

To
  1. <?php
  2. foreach($dane as $linia){
  3. if($linia != '')
  4. {
  5. fputs($f, $linia); /* wprowadzam linie po linii do pliku */
  6. }
  7. }
  8. ?>
Kicok
Cytat
Usuwa linijkę ale nie usuwa pliku.

oto Kod(napisałem to co tylko działa bez unlink):


Ale jak niby mamy ci pomóc, skoro zamieściłeś jedynie działający kod? smile.gif
Może pokażesz w którym miejscu masz tego unlinka, to się pomyśli czemu nie działa.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.