Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> dodawanie do zmiennej
Th0e
post
Post #1





Grupa: Zarejestrowani
Postów: 122
Pomógł: 0
Dołączył: 16.09.2012

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


Witam. Bawie się ostatniow PHP i chciałbym zrobić takie coś, że gdy wpisujemy do pola 1 i wysyłamy to za każdym razem do pewnej zmiennej dodaje nam pewną wartość. oto mój skrypt (nie śmiejcie sie - bawie się w robienie gry (IMG:style_emoticons/default/biggrin.gif) )

Kod
<?php
$level = 1;
$exp = 0;
if ($exp > 100)
$level +=1;
?>

<h2>walka</h2>
<form method="post" />
<input type="text" name="wartosc" />
<input type="submit" value="walcz!" />

<?php
$otrzymane = $_POST['wartosc'];

if ($otrzymane == 1)
{
$exp += 10;
}

?>

<h2>statystyki postaci</h2>
<?php
echo "poziom $level <br />";
echo "doswiadczenie $exp <br />";
?>


jak widać za każdym razem gdy wyślemy w formularzu 1 powinno nam dodać 10 do zmiennej exp. a dodaje to tylko raz, potem już nie. za pewne trzeba to zrobić jakoś z pętlą, ale próbowałem i nie mogę sobie poradzić.
Nagrodzę lajkami. Pozdrawiam.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 10)
sebastian.rozmus
post
Post #2





Grupa: Zarejestrowani
Postów: 48
Pomógł: 12
Dołączył: 7.03.2012

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


Potrzebujesz bazy danych ; )

A jeśli to tylko zabawa to możesz pobawić się sesjami, ale miej świadomość że dane w sesji nie są trwałe ;]
Go to the top of the page
+Quote Post
Th0e
post
Post #3





Grupa: Zarejestrowani
Postów: 122
Pomógł: 0
Dołączył: 16.09.2012

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


Cytat(sebastian.rozmus @ 19.09.2012, 20:57:42 ) *
Potrzebujesz bazy danych ; )

A jeśli to tylko zabawa to możesz pobawić się sesjami, ale miej świadomość że dane w sesji nie są trwałe ;]



na prawdę nie da się zrobić tego jakoś prościej ? jeszcze nie miałem styczności z MYSQL
Go to the top of the page
+Quote Post
Szymciosek
post
Post #4





Grupa: Zarejestrowani
Postów: 1 168
Pomógł: 126
Dołączył: 5.02.2010
Skąd: Świdnica

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


Dokładnie, najlepsze rozwiązanie - baza danych

Tworzysz sobie tam tabele z kolumną np USER/EXP
Uzupełniasz ją początkowo np Janek/0
a później za każdym razem, akcja po Twoim kliku robi UPDATE w bazie i dodaje do tego co jest w EXP + 10.

Ewentualnie możesz się bawić z jakimś plikiem txt - obsługa file w php... tylko niestety też musisz się douczyć.

Ten post edytował Szymciosek 19.09.2012, 20:03:06
Go to the top of the page
+Quote Post
Th0e
post
Post #5





Grupa: Zarejestrowani
Postów: 122
Pomógł: 0
Dołączył: 16.09.2012

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


jeszcze jakieś propozycje?
Go to the top of the page
+Quote Post
Szymciosek
post
Post #6





Grupa: Zarejestrowani
Postów: 1 168
Pomógł: 126
Dołączył: 5.02.2010
Skąd: Świdnica

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


Nie ma więcej.
Za każdym wysłaniem cały plik jest przeładowywany i ładowany od nowa. Więc masz wybór:

Sesje - trwałe, ale do czasu wyłączenia/wyczyszczenia przeglądarki - zależne od ustawień
Cookies - Trwałe czasowo przy poruszaniu się po stronie
Baza danych - najlepsze do takich rzeczy
Txt - może być, ale musisz zobaczyć jak się obsługuje pliki, odczytuje wiersze itd - to jest proste wystarczy poczytać.

Nie wiem czy więcej propozycji dostaniesz.
Go to the top of the page
+Quote Post
sebastian.rozmus
post
Post #7





Grupa: Zarejestrowani
Postów: 48
Pomógł: 12
Dołączył: 7.03.2012

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


Wczytywanie:

  1. $exp = file_get_contents('plik.php');


Zapis

  1. file_put_contents('plik.php', $exp);
Go to the top of the page
+Quote Post
Th0e
post
Post #8





Grupa: Zarejestrowani
Postów: 122
Pomógł: 0
Dołączył: 16.09.2012

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


Kod
<?php
$level = 1;
$exp = 0;
if ($exp > 100)
$level +=1;
?>

<h2>walka</h2>
<form method="post" />
<input type="text" name="wartosc" />
<input type="submit" value="walcz!" />

<?php
$potworek = 10;

$otrzymane = $_POST['wartosc'];

if($otrzymane == 2)
$expplik = fopen("exp.txt", "w");
if($otrzymane == 1)
{
$exp = $exp+$potworek;
file_put_contents("exp.txt",$exp);
}
echo $fopen = file_get_contents("exp.txt");


?>

<h2>statystyki postaci</h2>
<?php
echo "poziom $level <br />";
echo "doswiadczenie $exp <br />";
?>


w powyższym sposobie spróbowałem zwykłym sposobem, oraz sposobem zapisu plików. najpierw wprowadzając 2 stworzyłem plik, a potem wysyłając 1 powinno dodawać za każdym razem po 10. oba sposoby nie działają, dodaje tylko raz. widocznie trzeba się wziąć za mysql -.-
Go to the top of the page
+Quote Post
Szymciosek
post
Post #9





Grupa: Zarejestrowani
Postów: 1 168
Pomógł: 126
Dołączył: 5.02.2010
Skąd: Świdnica

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


Jasne, że trzeba, zdziwisz się jaki jest prosty na takim poziomie jakiego Ty oczekujesz (IMG:style_emoticons/default/wink.gif)
Go to the top of the page
+Quote Post
sebastian.rozmus
post
Post #10





Grupa: Zarejestrowani
Postów: 48
Pomógł: 12
Dołączył: 7.03.2012

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


Zapewne chodzi Ci o :

  1. <?php
  2. $level = 1;
  3. $exp = file_get_contents('exp.php');
  4. if ($exp > 100)
  5. $level +=1;
  6. ?>
  7.  
  8. <h2>walka</h2>
  9. <form method="post" />
  10. <input type="text" name="wartosc" />
  11. <input type="submit" value="walcz!" />
  12.  
  13. <?php
  14. $potworek = 10;
  15.  
  16. $otrzymane = $_POST['wartosc'];
  17.  
  18. if($otrzymane == 2)
  19. $expplik = fopen("exp.txt", "w");
  20. if($otrzymane == 1)
  21. {
  22. $exp = $exp+$potworek;
  23. file_put_contents("exp.txt",$exp);
  24. }
  25. echo $fopen = file_get_contents("exp.txt");
  26.  
  27.  
  28. ?>
  29.  
  30. <h2>statystyki postaci</h2>
  31. <?php
  32. echo "poziom $level <br />";
  33. echo "doswiadczenie $exp <br />";
  34. ?>


No i jeszcze pliczek na lvl chyba (IMG:style_emoticons/default/wink.gif)

Żeby siepobawić to możesz tak robić, ale jesli chcesz zrobić coś co ma działać (szybko i prosto) to poczytaj o bazach danych
Go to the top of the page
+Quote Post
Th0e
post
Post #11





Grupa: Zarejestrowani
Postów: 122
Pomógł: 0
Dołączył: 16.09.2012

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


Cytat(sebastian.rozmus @ 19.09.2012, 21:40:17 ) *
Zapewne chodzi Ci o :

  1. <?php
  2. $level = 1;
  3. $exp = file_get_contents('exp.php');
  4. if ($exp > 100)
  5. $level +=1;
  6. ?>
  7.  
  8. <h2>walka</h2>
  9. <form method="post" />
  10. <input type="text" name="wartosc" />
  11. <input type="submit" value="walcz!" />
  12.  
  13. <?php
  14. $potworek = 10;
  15.  
  16. $otrzymane = $_POST['wartosc'];
  17.  
  18. if($otrzymane == 2)
  19. $expplik = fopen("exp.txt", "w");
  20. if($otrzymane == 1)
  21. {
  22. $exp = $exp+$potworek;
  23. file_put_contents("exp.txt",$exp);
  24. }
  25. echo $fopen = file_get_contents("exp.txt");
  26.  
  27.  
  28. ?>
  29.  
  30. <h2>statystyki postaci</h2>
  31. <?php
  32. echo "poziom $level <br />";
  33. echo "doswiadczenie $exp <br />";
  34. ?>


No i jeszcze pliczek na lvl chyba (IMG:style_emoticons/default/wink.gif)

Żeby siepobawić to możesz tak robić, ale jesli chcesz zrobić coś co ma działać (szybko i prosto) to poczytaj o bazach danych



w czym jest inny twój sposób od mojego:


  1. <?php
  2. $level = 1;
  3. $exp = 0;
  4. if ($exp > 100)
  5. $level +=1;
  6. ?>
  7.  
  8. <h2>walka</h2>
  9. <form method="post" />
  10. <input type="text" name="wartosc" />
  11. <input type="submit" value="walcz!" />
  12.  
  13. <?php
  14. $potworek = 10;
  15.  
  16. $otrzymane = $_POST['wartosc'];
  17.  
  18. if($otrzymane == 2)
  19. $expplik = fopen("exp.txt", "w");
  20. if($otrzymane == 1)
  21. {
  22. $exp = $exp+$potworek;
  23. file_put_contents("exp.txt",$exp);
  24. }
  25. echo $fopen = file_get_contents("exp.txt");
  26.  
  27.  
  28. ?>
  29.  
  30. <h2>statystyki postaci</h2>
  31. <?php
  32. echo "poziom $level <br />";
  33. echo "doswiadczenie $exp <br />";
  34. ?>


? jakoś nie widzę różnicy

dzięki już załapałem (IMG:style_emoticons/default/smile.gif)


Ten post edytował Th0e 20.09.2012, 12:40:21
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 23.08.2025 - 22:14