Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> lista rozwijana i dostępność produktów JEST BRAK
djbit
post
Post #1





Grupa: Zarejestrowani
Postów: 19
Pomógł: 0
Dołączył: 10.01.2009

Ostrzeżenie: (0%)
-----


Witam, chciałbym zrobić taki formularz z listą rozwijaną- przykład:

młotek ( obok młotka lista rozwijana i dwa pola wyboru - albo JEST albo BRAK)
kilof ( obok kilofa lista rozwijana i dwa pola wyboru - albo JEST albo BRAK)
na końcu zapisz stan magazynowy najlepiej do pliku txt.

chcę żeby dane trafiały do pliku txt i były odczytywane za pomocą php ale już bez pola wyboru.

czyli żeby było wyświetlone np.

młotek JEST
kilof BRAK

teraz gdy znów bym wchodził do formularza z wyborem (listą rozwijaną), żeby tu w polach wyboru widniała ostatnia wybrana opcja czyli np. Młotek JEST kilof BRAK.

Da się coś takiego zrobić, bo kombinuje i nie umiem nic wymyślić.
Go to the top of the page
+Quote Post
RubiX
post
Post #2





Grupa: Zarejestrowani
Postów: 162
Pomógł: 6
Dołączył: 14.02.2007
Skąd: Poznań

Ostrzeżenie: (0%)
-----


omg koleś wystarczy otworzyć google i wpisać php + działania na plikach txt

tutaj masz jakiś pierwszy lepszy kurs KLiK dziwne zobacz nawet po polsku napisali smile.gif sorry że tak trochę szydze ale normalnie zaśmiecacie już to forum.php.pl

A teraz zrób tak:
stwórz sobie plik options.txt i nadaj mu chmody 777 żebyś zaraz nie zrobił nowego tematu dlaczego nie da się zapisać danych do pliku txt.
Następnie zrób sobie formularz z tymi młotkami kilofami i wiertarkami.
Przesyłasz formularz i odbierasz zmienne

  1. <?php
  2. $mlotek = $_POST['mlotek'];
  3. $kilof = $_POST['kilof'];
  4.  
  5. $options = "options.txt";
  6. if ($plik = fopen($options, "w"))
  7.     {
  8.      if (fwrite($plik, $mlotek . "|" . $kilof) !== FALSE) echo "Zapis do pliku zakończył się powodzeniem...";
  9.        else echo "Zapis do pliku się nie powiódł...";
  10.  
  11.      fclose($plik);
  12. ?>


teraz załóżmy że $mlotek to BRAK a $kilof to jest, to w twoim pliku będzie taki zapis : BRAK|JEST

Jak chcesz wsadzić te dane spowrotem w formularz to robisz odczyt z pliku czyli

  1. <?php
  2. $options = "options.txt";
  3. $plik = fopen($options, "r");
  4. $dane = fread($plik, filesize($options));
  5. list($mlotek, $kilof) = explode("|", $dane);
  6. ?>


i teraz w zmiennej $mlotek masz BRAK a w kilof JEST tylko musisz je wsadzic w <option value="$mlotek">$mlotek</option> co myśle że już będziesz wiedział jak.


--------------------
===================================

\o/ torebki
Go to the top of the page
+Quote Post
djbit
post
Post #3





Grupa: Zarejestrowani
Postów: 19
Pomógł: 0
Dołączył: 10.01.2009

Ostrzeżenie: (0%)
-----


Za nic w świecie mi to nie chce działać
Mam plik tekstowy options.txt
Mam stworzony plik index.php do podglądu dostępności towaru:
Kod
<?php
$options = "options.txt";
$plik = fopen($options, "r");
$dane = fread($plik, filesize($options));
list($mlotek, $kilof) = explode("|", $dane);
echo "młotek $mlotek<br>";
echo "kilof $kilof";

?>



Tutaj mam formularz.php do wyboru dostępności produktu:
Kod
<?php

$mlotek = $_POST['mlotek'];
$kilof = $_POST['kilof'];


echo '<form action="" method="post">Młotek
    <select name="mlotek">
        <option>JEST</option>
        <option>BRAK</option>
    </select><br>Kilof
        <select name="kilof">
        <option>JEST</option>
        <option>BRAK</option>
    </select><input type="submit" value="Zapisz" />
</form>';


$options = "options.txt";
if ($plik = fopen($options, "w"))
    {
     if (fwrite($plik, $mlotek . "|" . $kilof) !== FALSE) echo "Zapis do pliku zakończył się powodzeniem...";
       else echo "Zapis do pliku się nie powiódł...";
      }
     fclose($plik);
?>


To działa i zapisuje do pliku tekstowego takie coś:
JEST|JEST
a plik index.php wyświetla takie coś:
młotek JEST
kilof JEST

czyli wszystko ok

Ale nie umiem sobie poradzić, żeby ten formularz pobierał te dane z pliku tekstowego i umieszczał w okienku listy rozwijanej jako pierwszy ten co był wcześniej zaznaczony. Jak zastosuje ten kod co podałeś to pobiera, ale już nie ma innej opcji do wyboru jest tylko (gdy rozwijam okienko) np, Kilof JEST JEST.
Go to the top of the page
+Quote Post
RubiX
post
Post #4





Grupa: Zarejestrowani
Postów: 162
Pomógł: 6
Dołączył: 14.02.2007
Skąd: Poznań

Ostrzeżenie: (0%)
-----


pokaz kod w ktorym masz wyciag z pliku i wsadzasz to w formularz


  1. <?php
  2. $options = "options.txt";
  3. $plik = fopen($options, "r");
  4. $dane = fread($plik, filesize($options));
  5. list($mlotek, $kilof) = explode("|", $dane);
  6.  
  7.  
  8. echo '<form action="" method="post">Młotek
  9.    <select name="mlotek">
  10. <option>'.$mlotek.'</option>
  11.        <option>JEST</option>
  12.        <option>BRAK</option>
  13.    </select><br>Kilof
  14.        <select name="kilof">
  15. <option>'.$kilof.'</option>
  16.        <option>JEST</option>
  17.        <option>BRAK</option>
  18.    </select><input type="submit" value="Zapisz" />
  19. </form>';
  20. ?>


takie cos mniej wiecej


--------------------
===================================

\o/ torebki
Go to the top of the page
+Quote Post
djbit
post
Post #5





Grupa: Zarejestrowani
Postów: 19
Pomógł: 0
Dołączył: 10.01.2009

Ostrzeżenie: (0%)
-----


Gdy umieszczę w formularzu taki kod:
Kod
<?php
$optionss = "options.txt";
$plikk = fopen($optionss, "r");
$dane = fread($plikk, filesize($optionss));
list($mlotek, $kilof) = explode("|", $dane);

echo '<form action="" method="post">Młotek
   <select name="mlotek">
<option>'.$mlotek.'</option>
       <option>JEST</option>
       <option>BRAK</option>
   </select><br>Kilof
       <select name="kilof">
<option>'.$kilof.'</option>
       <option>JEST</option>
       <option>BRAK</option>
   </select><input type="submit" value="Zapisz" />
</form>';

$options = "options.txt";
if ($plik = fopen($options, "w"))
    {
     if (fwrite($plik, $mlotek . "|" . $kilof) !== FALSE) echo "Zapis do pliku zakończył się powodzeniem...";
       else echo "Zapis do pliku się nie powiódł...";
      }
     fclose($plik);
?>


Odczytuje on dane z pliku txt.

Ale gdy zmienię np. z brak na jest i daje zapisz to już tego nie zapisuje w pliku txt
ten kod coś tu miesza:
Kod
$optionss = "options.txt";
$plikk = fopen($optionss, "r");
$dane = fread($plikk, filesize($optionss));
list($mlotek, $kilof) = explode("|", $dane);


bez niego funkcja zapisywania działa, ale nie działa funkcja wczytywania z pliku.

mały postęp jest;) :
Kod
<?php
$optionss = "options.txt";
$plikk = fopen($optionss, "r");
$dane = fread($plikk, filesize($optionss));
list($mlotek, $kilof) = explode("|", $dane);

echo '<form action="" method="post">Młotek
   <select name="mlotekk">
<option>'.$mlotek.'</option>
       <option>JEST</option>
       <option>BRAK</option>
   </select><br>Kilof
       <select name="kiloff">
<option>'.$kilof.'</option>
       <option>JEST</option>
       <option>BRAK</option>
   </select><input type="submit" value="Zapisz" />
</form>';

$options = "options.txt";
if ($plik = fopen($options, "w"))
    {
     if (fwrite($plik, $mlotekk . "|" . $kiloff) !== FALSE) echo "Zapis do pliku zakończył się powodzeniem...";
       else echo "Zapis do pliku się nie powiódł...";
      }
     fclose($plik);
?>



zmieniłem <select name="mlotek"> na <select name="mlotekk"> itd. już zapisuje je w postaci jest/jest i odczytuje je mlotek jest kilof jest, tylko że jak kilka razy odświeże formularz to zostają puste okienka i puste pola sie zapisują do pliku txt.
Go to the top of the page
+Quote Post
melkorm
post
Post #6





Grupa: Zarejestrowani
Postów: 1 366
Pomógł: 261
Dołączył: 23.09.2008
Skąd: Bydgoszcz

Ostrzeżenie: (0%)
-----


To dodaj warunek na pola z post czy przypadkiem nie są puste / nieustawione smile.gif


--------------------
Go to the top of the page
+Quote Post
djbit
post
Post #7





Grupa: Zarejestrowani
Postów: 19
Pomógł: 0
Dołączył: 10.01.2009

Ostrzeżenie: (0%)
-----


hmm - a można jaśniej biggrin.gif

dziwne trochę, że te pola się samoczynnie czyszczą - przecież powinny cały czas wczytywać z pliku txt.
Go to the top of the page
+Quote Post
melkorm
post
Post #8





Grupa: Zarejestrowani
Postów: 1 366
Pomógł: 261
Dołączył: 23.09.2008
Skąd: Bydgoszcz

Ostrzeżenie: (0%)
-----


tylko że te optiony nie mają value to raz dwa że nie widze gdzie przypisujesz wartości zp osta do tych zmeinnych ... .


ahh ... wklej aktualny cały kod.~~

Ten post edytował melkorm 11.01.2009, 19:07:24


--------------------
Go to the top of the page
+Quote Post
djbit
post
Post #9





Grupa: Zarejestrowani
Postów: 19
Pomógł: 0
Dołączył: 10.01.2009

Ostrzeżenie: (0%)
-----


Kod
<?php

$mlotekk = $_POST['mlotekk'];
$kiloff = $_POST['kiloff'];

$optionss = "options.txt";
$plikk = fopen($optionss, "r");
$dane = fread($plikk, filesize($optionss));
list($mlotek, $kilof) = explode("|", $dane);

echo '<form action="" method="post">Młotek
   <select name="mlotekk">
<option>'.$mlotek.'</option>
       <option>JEST</option>
       <option>BRAK</option>
   </select><br>Kilof
       <select name="kiloff">
<option>'.$kilof.'</option>
       <option>JEST</option>
       <option>BRAK</option>
   </select><input type="submit" value="Zapisz" />
</form>';

$options = "options.txt";
if ($plik = fopen($options, "w"))
    {
     if (fwrite($plik, $mlotekk . "|" . $kiloff) !== FALSE) echo "Zapis do pliku zakończył się powodzeniem...";
       else echo "Zapis do pliku się nie powiódł...";
      }
     fclose($plik);
?>
Go to the top of the page
+Quote Post
melkorm
post
Post #10





Grupa: Zarejestrowani
Postów: 1 366
Pomógł: 261
Dołączył: 23.09.2008
Skąd: Bydgoszcz

Ostrzeżenie: (0%)
-----


  1. <?php
  2. if ($plik = fopen($options, "w"))
  3. ?>


popraw ten warunek na taki :
  1. <?php
  2. if ($plik = fopen($options, "w") && $_POST['submit'])
  3. ?>


i submitowi daj name="submit" .


--------------------
Go to the top of the page
+Quote Post
djbit
post
Post #11





Grupa: Zarejestrowani
Postów: 19
Pomógł: 0
Dołączył: 10.01.2009

Ostrzeżenie: (0%)
-----


dałem i teraz w ogóle nie działa, wywala mi błąd:
Warning: fclose(): supplied argument is not a valid stream resource in h:\!cwphp nowe\hurtownia\formularz.php on line 30
Go to the top of the page
+Quote Post
melkorm
post
Post #12





Grupa: Zarejestrowani
Postów: 1 366
Pomógł: 261
Dołączył: 23.09.2008
Skąd: Bydgoszcz

Ostrzeżenie: (0%)
-----


daj fclose w klamry warunku? :|

zresztą gdy pobierasz dane z pliku pod nimi powinieneś dać jeszcze :
  1. <?php
  2. fclose($plikk);
  3.  
  4. //podtym :
  5. list($mlotek, $kilof) = explode("|", $dane);
  6. ?>


Ten post edytował melkorm 11.01.2009, 19:39:35


--------------------
Go to the top of the page
+Quote Post
djbit
post
Post #13





Grupa: Zarejestrowani
Postów: 19
Pomógł: 0
Dołączył: 10.01.2009

Ostrzeżenie: (0%)
-----


Kod
<?php

$mlotekk = $_POST['mlotekk'];
$kiloff = $_POST['kiloff'];

$optionss = "options.txt";
$plikk = fopen($optionss, "r");
$dane = fread($plikk, filesize($optionss));
list($mlotek, $kilof) = explode("|", $dane);
fclose($plikk);

echo '<form action="" method="post">Młotek
    <select name="mlotekk">
<option>'.$mlotek.'</option>
        <option>JEST</option>
        <option>BRAK</option>
    </select><br>Kilof
        <select name="kiloff">
<option>'.$kilof.'</option>
        <option>JEST</option>
        <option>BRAK</option>
    </select><input type="submit" name="submit" value="Zapisz" />
</form>';

$options = "options.txt";
if ($plik = fopen($options, "w") && $_POST['submit'])
     {
      if (fwrite($plik, $mlotekk . "|" . $kiloff) !== FALSE) echo "Zapis do pliku zakończył się powodzeniem...";
        else echo "Zapis do pliku się nie powiódł...";
       }
      fclose($plik);
?>


Dalej nic. Komunikat: Warning: fclose(): supplied argument is not a valid stream resource in ...formularz.php on line 31

Ten post edytował djbit 11.01.2009, 20:35:34
Go to the top of the page
+Quote Post
RubiX
post
Post #14





Grupa: Zarejestrowani
Postów: 162
Pomógł: 6
Dołączył: 14.02.2007
Skąd: Poznań

Ostrzeżenie: (0%)
-----


Ale masz bajzel w tym wszystkim może podziel ten plik na jakies akcje zebys wiedzial co gdzie masz np:

  1. <?php
  2. if (!$_GET['akcja']) {
  3. $_GET['akcja'] = "krok1";
  4. }
  5.  
  6. if ($_GET['akcja'] == "krok1") {
  7.  
  8. $optionss = "options.txt";
  9. $plikk = fopen($optionss, "r");
  10. $dane = fread($plikk, filesize($optionss));
  11. list($mlotek, $kilof) = explode("|", $dane);
  12. fclose($plikk);
  13.  
  14. echo '<form action="formularz.php?akcja=krok2" method="post">Młotek
  15.    <select name="mlotekk">
  16. <option>'.$mlotek.'</option>
  17.        <option>JEST</option>
  18.        <option>BRAK</option>
  19.    </select><br>Kilof
  20.        <select name="kiloff">
  21. <option>'.$kilof.'</option>
  22.        <option>JEST</option>
  23.        <option>BRAK</option>
  24.    </select><input type="submit" name="submit" value="Zapisz" />
  25. </form>';
  26. }
  27.  
  28. if ($_GET['akcja'] == "krok2") {
  29.  
  30. $mlotekk = $_POST['mlotekk'];
  31. $kiloff = $_POST['kiloff'];
  32. $options = "options.txt";
  33. $plik = fopen($options, "w");
  34.    
  35.      if (fwrite($plik, $mlotekk . "|" . $kiloff) !== FALSE) echo "Zapis do pliku zakończył się powodzeniem... <a href='formularz.php'>Powrót</a>";
  36.        else echo "Zapis do pliku się nie powiódł...";
  37.      
  38.      fclose($plik);
  39. }
  40. ?>


Spróbuj z tym

A tak pozatym to skoro to linia 31 to bardziej tyczy się zamkniecia tego 2 otwierania pliku podczas zapisu !

Ten post edytował RubiX 11.01.2009, 21:21:19


--------------------
===================================

\o/ torebki
Go to the top of the page
+Quote Post
djbit
post
Post #15





Grupa: Zarejestrowani
Postów: 19
Pomógł: 0
Dołączył: 10.01.2009

Ostrzeżenie: (0%)
-----


Cześć, wielki ukłon w waszą stronę. Działa yahoo.gif
Go to the top of the page
+Quote Post
melkorm
post
Post #16





Grupa: Zarejestrowani
Postów: 1 366
Pomógł: 261
Dołączył: 23.09.2008
Skąd: Bydgoszcz

Ostrzeżenie: (0%)
-----


Cytat
Dalej nic. Komunikat: Warning: fclose(): supplied argument is not a valid stream resource in ...formularz.php on line 31


Kod
<?php

$mlotekk = $_POST['mlotekk'];
$kiloff = $_POST['kiloff'];

$optionss = "options.txt";
$plikk = fopen($optionss, "r");
$dane = fread($plikk, filesize($optionss));
list($mlotek, $kilof) = explode("|", $dane);
fclose($plikk);

echo '<form action="" method="post">Młotek
    <select name="mlotekk">
<option>'.$mlotek.'</option>
        <option>JEST</option>
        <option>BRAK</option>
    </select><br>Kilof
        <select name="kiloff">
<option>'.$kilof.'</option>
        <option>JEST</option>
        <option>BRAK</option>
    </select><input type="submit" name="submit" value="Zapisz" />
</form>';

$options = "options.txt";
if ($plik = fopen($options, "w") && $_POST['submit'])
     {
      if (fwrite($plik, $mlotekk . "|" . $kiloff) !== FALSE) echo "Zapis do pliku zakończył się powodzeniem...";
        else echo "Zapis do pliku się nie powiódł...";
fclose($plik);
       }
      
?>


edit: nie ma to jak nie odświeżyć , po godzinie AFK , strony .... ;p

Ten post edytował melkorm 11.01.2009, 21:33:29


--------------------
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 21.08.2025 - 13:03