Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]Problem z dodawaniem zmiennych, nie wiem o co chodzi ...
Adiqus
post
Post #1





Grupa: Zarejestrowani
Postów: 28
Pomógł: 1
Dołączył: 27.01.2009

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


Witam ... jestem początkującym programistą PHP i mam pewien problem ...

A mianowicie ...

Zrobiłem stronę (index.html) na której są cztery pola tekstowe ... ich wartości (liczby) są przesyłane motodą POST do pliku walka.php ... tam następuje sumowanie (dodawanie) ich wartości liczowych i wyświetlenie tej sumy za pomocą funkcji echo ...

W przeglądarce ... plik index.html wygląda tak jak ma wyglądać ... ale jak wpisze w te cztery pola cyfry i nacisnę przycisk typu submit ... to mi się pokazuje następująca strona (błąd):

http://img220.imageshack.us/my.php?image=screen01ru5.png

Mógłby mi ktoś wytłumaczyć dlaczego tak jest (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif)

Teraz kod:

index.html:

  1. <title>Walka ... </title>
  2. <form action="walka.php" method="post" name="walka">
  3. <font size=7><b>Ilosc punktow do rozdania jest 35 ...</b></font><br><br>
  4. Podaj swoja zrecznosc: <input name="zrecznosc" type="text">
  5. <br><br>
  6. Podaj swoja szybkosc: <input name="szybkosc" type="text">
  7. <br><br>
  8. Podaj swoja sile: <input name="sila" type="text">
  9. <br><br>
  10. Podaj swoja wytrzymalosc: <input name="wytrzymalosc" type="text">
  11. <br><br>
  12. Wybierz bron:<br>
  13. <input type="radio" name="bron" value="sztylety" /><b>Sztylety</b> (2 ataki w jednej kolejce, z 2 razy mniejsza sila,
  14. pierwszy atak z 2x mniejsza szansa trafienie - lub z 2x wieksza szansa uniku przeciwnika) - 10 obr. / sztylet<br>
  15. <input type="radio" name="bron" value="mieczyk" /><b>Krotki miecz + tarcza</b> (atak z 2x mniejsza sila + szansa
  16. zablokowania) - 20 obr.<br>
  17. <input type="radio" name="bron" value="miecz" /><b>Miecz</b> - 45 obr.<br><br>
  18. <input type="submit" value="Walka !" name="start">
  19. </form>
  20. </body>
  21. </html>


walka.php:

http://img218.imageshack.us/my.php?image=phptb8.jpg Z góry dziękuje ...
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 9)
ziqzaq
post
Post #2





Grupa: Zarejestrowani
Postów: 428
Pomógł: 128
Dołączył: 17.06.2007

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


Pewnie przez nawiasy okrągłe zamiast kwadratowych:
  1. <?php
  2. $zmienna = $_POST('zmienna'); // Nie
  3. $zmienna = $_POST['zmienna']; // Tak
  4. ?>


Ten post edytował ziqzaq 27.01.2009, 19:15:09
Go to the top of the page
+Quote Post
erix
post
Post #3





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




Czekam na PW z tytułem wątku opisującym problem.

edit: otwieram
Go to the top of the page
+Quote Post
Adiqus
post
Post #4





Grupa: Zarejestrowani
Postów: 28
Pomógł: 1
Dołączył: 27.01.2009

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


Cytat(ziqzaq @ 27.01.2009, 19:14:06 ) *
Pewnie przez nawiasy okrągłe zamiast kwadratowych:
  1. <?php
  2. $zmienna = $_POST('zmienna'); // Nie
  3. $zmienna = $_POST['zmienna']; // Tak
  4. ?>


dzieki ...

Postanowiłem ulepszyc tą strone ... Najpierw ma ona sprawdzic czy uzytkownik rozdal 35 pkt. statystyk, jesli nie zostanie wyswietlony bląd ... pozniej (jezeli uzytkownik rozdal 35 pkt.) dodaje do kazdej statystyki 1 (zyby sie nie okazalo, ze uzytkownik ma 0 sily np.) i sprawdza czy zostala wybrana bron ... jezeli nie to wyskakuje bląd ... jezeli tak to losuje wartosci statystyk dla gladiatora (za pomoca funkcji rand()) i przedstawia wszystkie statystyki (uzytkownika i gladiatora) w tabeli ...

No i wyskatuje mi strona z bledem programistycznym ... moglby mi ktos wskazac ten bląd (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif)

Kod

walka.php:

  1. <?php
  2.  
  3. $zr=$_POST['zrecznosc'];
  4. $szyb=$_POST['szybkosc'];
  5. $sil=$_POST['sila'];
  6. $wytrz=$_POST['wytrzymalosc'];
  7.  
  8.  
  9.  
  10. $sila=$sil+1;
  11. $zrecznosc=$zr+1;
  12. $szybkosc=$szyb+1;
  13. $wytrzymalosc=$wytrz+1;
  14.  
  15. $suma=$zr+$szyb+$sil+$wytrz;
  16.  
  17. if($suma>35)
  18. {
  19. echo "Rozdales las za duzo statystyk ... <a href='http://www.adiqusphp.w8w.pl'>Powrot</a>";
  20. }
  21.  
  22. if($suma<35)
  23. {
  24. echo "Rozdales las za malo statystyk ... <a href='http://www.adiqusphp.w8w.pl'>Powrot</a>";
  25. }
  26.  
  27. if($suma==35)
  28. {
  29.  
  30. if($_POST['bron']==NULL)
  31. {
  32.  
  33. echo "Nie wybrales las swojej broni ... <a href='http://www.adiqusphp.w8w.pl'>Powrot</a>";
  34. }
  35.  
  36. else
  37. {
  38.  
  39. $sila_gladiatora=rand(25,48);
  40. $wytrzymalosc_gladiatora=rand(11,22);
  41. $zrecznosc_gladiatora=rand(7,12);
  42. $szybkosc_gladiatora=rand(15,21);
  43.  
  44. echo "<table cellspacing='35' border='1'>
  45. <tr>
  46. <td><b>Imie</b></td>
  47. <td><b>Zrecznosc</b></td>
  48. <td><b>Szybkosc</b></td>
  49. <td><b>Wytrzymalosc</b></td>
  50. <td><b>sila</b></td>
  51. </tr>
  52. <tr>
  53. <td>$_POST['imie']</td>
  54. <td>$zrecznosc</td>
  55. <td>$szybkosc</td>
  56. <td>$wytrzymalosc</td>
  57. <td>$sila</td>
  58. </tr>
  59. <tr>
  60. <td>Gladiator</td>
  61. <td>$zrecznosc_gladiatora</td>
  62. <td>$szybkosc_gladiatora</td>
  63. <td>$wytrzymalosc_gladiatora</td>
  64. <td>$sila_gladiatora</td>
  65. </tr>
  66. </table>";
  67.  
  68. }
  69.  
  70. }
  71.  
  72. ?>


index.html

  1. <title>Walka ... </title>
  2. <form action="walka.php" method="post">
  3. Podaj swoje imie: <input type="text" name="imie"><br><br>
  4. <font size=6><b>Masz 35 pkt. statystyk do rozdania ...</b></font><br><br>
  5. Podaj swoja zrecznosc: <input name="zrecznosc" type="text">
  6. <br><br>
  7. Podaj swoja szybkosc: <input name="szybkosc" type="text">
  8. <br><br>
  9. Podaj swoja sile: <input name="sila" type="text">
  10. <br><br>
  11. Podaj swoja wytrzymalosc: <input name="wytrzymalosc" type="text">
  12. <br><br>
  13. Wybierz bron:<br>
  14. <input type="radio" name="bron" value="sztylety" /><b>Sztylety</b> (2 ataki w jednej kolejce, z 2 razy mniejsza sila,
  15. pierwszy atak z 2x mniejsza szansa trafienie - lub z 2x wieksza szansa uniku przeciwnika) - 10 obr. / sztylet<br>
  16. <input type="radio" name="bron" value="mieczyk" /><b>Krotki miecz + tarcza</b> (atak z 2x mniejsza sila + szansa
  17. zablokowania) - 20 obr.<br>
  18. <input type="radio" name="bron" value="miecz" /><b>Miecz</b> - 45 obr.<br><br>
  19. <input type="submit" value="Walka !">
  20. </form>
  21. </body>
  22. </html>


Z gory dzieki ...
Go to the top of the page
+Quote Post
wookieb
post
Post #5





Grupa: Moderatorzy
Postów: 8 989
Pomógł: 1550
Dołączył: 8.08.2008
Skąd: Słupsk/Gdańsk




Wiedziałem, że będzie się sypać syntax error w temacie.
1) Bierzesz się za robienie gry jak nie znasz zupełnych podstaw?
2) A ten ELSE to do którego IF'a? Elsa ma być tuż po ifie albo tuż bo klamrze zamykającej ifa (ZADNYCH PUSTYCH LINII ITD)
3) Nie podałeś komunikatu błędu. A to TRZEBA podawać
4) Nie spodziewaj sie miłego przyjęcia przy kolejnym syntax errorze.
5) Przeczytaj najpierw JESZCE RAZ wszystko co tutaj jest.http://pl.php.net/manual/pl/langref.php
Tak wiem life is brutal ale jak chcesz się nauczyć to musisz to przeczytac.
Go to the top of the page
+Quote Post
Adiqus
post
Post #6





Grupa: Zarejestrowani
Postów: 28
Pomógł: 1
Dołączył: 27.01.2009

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


1) Nie nazwałbym tego tworzeniem gry ... raczej eksperymentalnym tworzeniem generetora raportu z walki (a to różnica) ... a wogóle znam podstawy ... (robiłem kiedyś w C++ - a np. tam IF ma taką samą składnie jak w PHP)

2) Poprawiłem to ... i nic to nie dało ...

3) Jakiego komunikatu o bledzie (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif) ... wyswietliła mi się tylko taka strona ... http://img220.imageshack.us/my.php?image=screen01ru5.png

4) Wcale się nie spodziewam ... chce po prostu rozwiązać problem ...
5) Hmmm ... raczej wątpie, żebym to przeczytał ... nie za bardzo zman angielski ... (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif)
Go to the top of the page
+Quote Post
wookieb
post
Post #7





Grupa: Moderatorzy
Postów: 8 989
Pomógł: 1550
Dołączył: 8.08.2008
Skąd: Słupsk/Gdańsk




1) Nie znasz :/
2) Widze ze masz wylaczone raportowanie bledow.
Jeżeli masz mozliwość edycji pliku php.ini to zmien
Kod
display_errors na On
error_reporting na E_ALL^E_NOTICE


Jeżeli nie mozesz to sprobuj w htaccess dodac
Kod
php_value display_errors  On
php_value error_reporting E_ALL^E_NOTICE


5) A to niestety musisz przeczytać choćby polski kurs php który omówi ci podstawową składnie i pare innych rzeczy.

I pokaż jeszcze raz co teraz masz za kod.

Ten post edytował wookieb 28.01.2009, 13:33:48
Go to the top of the page
+Quote Post
Adiqus
post
Post #8





Grupa: Zarejestrowani
Postów: 28
Pomógł: 1
Dołączył: 27.01.2009

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


co do zmiany w tych plikach to się na tym zupełnie nie znam ... (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif)

a jesli chodzi o kod:

  1. <?php
  2.  
  3. $zr=$_POST['zrecznosc'];
  4. $szyb=$_POST['szybkosc'];
  5. $sil=$_POST['sila'];
  6. $wytrz=$_POST['wytrzymalosc'];
  7.  
  8.  
  9.  
  10. $sila=$sil+1;
  11. $zrecznosc=$zr+1;
  12. $szybkosc=$szyb+1;
  13. $wytrzymalosc=$wytrz+1;
  14.  
  15. $suma=$zr+$szyb+$sil+$wytrz;
  16.  
  17. if($suma>35)
  18. {
  19. echo "Rozdales las za duzo statystyk ... <a href='http://www.adiqusphp.w8w.pl'>Powrot</a>";
  20. }
  21.  
  22. if($suma<35)
  23. {
  24. echo "Rozdales las za malo statystyk ... <a href='http://www.adiqusphp.w8w.pl'>Powrot</a>";
  25. }
  26.  
  27. if($suma==35)
  28. {
  29.  
  30. if($_POST['bron']==NULL)
  31. {
  32.  
  33. echo "Nie wybrales las swojej broni ... <a href='http://www.adiqusphp.w8w.pl'>Powrot</a>";
  34. }
  35. else // zmiany dokonalem tylko przy tym else ...
  36. {
  37.  
  38. $sila_gladiatora=rand(25,48);
  39. $wytrzymalosc_gladiatora=rand(11,22);
  40. $zrecznosc_gladiatora=rand(7,12);
  41. $szybkosc_gladiatora=rand(15,21);
  42.  
  43. echo "<table cellspacing='35' border='1'>
  44. <tr>
  45. <td><b>Imie</b></td>
  46. <td><b>Zrecznosc</b></td>
  47. <td><b>Szybkosc</b></td>
  48. <td><b>Wytrzymalosc</b></td>
  49. <td><b>sila</b></td>
  50. </tr>
  51. <tr>
  52. <td>$_POST['imie']</td>
  53. <td>$zrecznosc</td>
  54. <td>$szybkosc</td>
  55. <td>$wytrzymalosc</td>
  56. <td>$sila</td>
  57. </tr>
  58. <tr>
  59. <td>Gladiator</td>
  60. <td>$zrecznosc_gladiatora</td>
  61. <td>$szybkosc_gladiatora</td>
  62. <td>$wytrzymalosc_gladiatora</td>
  63. <td>$sila_gladiatora</td>
  64. </tr>
  65. </table>";
  66.  
  67. }
  68.  
  69. }
  70.  
  71. ?>


Ale chyba masz racje ... porywam sie z motyka na słonce ... chociaż to tylko ze 200 instrukcji warunkowych if() i pare funkcji rand() ... (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif)
Go to the top of the page
+Quote Post
wookieb
post
Post #9





Grupa: Moderatorzy
Postów: 8 989
Pomógł: 1550
Dołączył: 8.08.2008
Skąd: Słupsk/Gdańsk




To postaw sobie serwer na localu. Masz sporo opcji, Wamp (nie chodzi o tą gazetę), XAMPP i tam testuj. Bo bez raportowanie błedów pisanie w phpie jest tragiczne. Jak zresztą w każdym innym języku.

Cytat
Ale chyba masz racje ... porywam sie z motyka na słonce ... chociaż to tylko ze 200 instrukcji warunkowych if() i pare funkcji rand() ... tongue.gif

Ironie zachowaj dla siebie.

Ten post edytował wookieb 28.01.2009, 13:45:37
Go to the top of the page
+Quote Post
Adiqus
post
Post #10





Grupa: Zarejestrowani
Postów: 28
Pomógł: 1
Dołączył: 27.01.2009

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


Cytat(wookieb @ 28.01.2009, 13:44:58 ) *
Ironie zachowaj dla siebie.


Ale to nie była ironia ...
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 - 10:42