Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> problem ze skryptem
brekmar
post
Post #1





Grupa: Zarejestrowani
Postów: 76
Pomógł: 0
Dołączył: 19.01.2005

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


Witam mam problem ze skryptem i nie rozumiem kompletnie czemu to nie dziala. Skrypt wyglada tak:
  1. <?php
  2. $o1 = explode("|", $dane['opcja1']);
  3. if (isset($plk1)) {
  4. $upd1 = $o1[1]*$plk1;
  5. $status1 = '1';
  6. }
  7. else {
  8. $upd1 = "$o1[0]|$o1[1]|$o1[2]";
  9. $status1 = "$statusy[0]";
  10. }
  11. print("o1 = $o1[0]|$o1[1]|$o1[2], plk = $plk1, opcja1 = '$upd1' ");
  12. ?>

$dane['opcja1'] wyglada nastepujaco "657|2343|0", a oto co wyswietla po uruchomieniu skryptu przy oczywiscie istniejacej zmiennej $plk1 rownej 1:
Cytat
o1 = 657|2343|0, plk = 1, opcja1 = '0|0|0'

Co tu jest nie tak, prosze o pomoc.
Go to the top of the page
+Quote Post
nospor
post
Post #2





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




a mi dziala prawidlowo:
  1. <?php
  2. $plk1 = 1;
  3. $dane['opcja1'] = '657|2343|0';
  4. $o1 = explode("|", $dane['opcja1']);
  5. if (isset($plk1)) {
  6. $upd1 = $o1[1]*$plk1;
  7. $status1 = '1';
  8. }
  9. else {
  10. $upd1 = "$o1[0]|$o1[1]|$o1[2]";
  11. $status1 = "$statusy[0]";
  12. }
  13. print("o1 = $o1[0]|$o1[1]|$o1[2], plk = $plk1, opcja1 = '$upd1' ");
  14. ?>
a wynik:
Kod
o1 = 657|2343|0, plk = 1, opcja1 = '2343'

Tobie najwyraźniej nie jest spelniony warunek if (isset($plk1)). Daj jeszcze echo $plk1 przed tym ifem i sprawdź czy oby tam ta zmienna jest. Z zdrugiej strony w printcie ponizej masz juz ją ustawioną na 1. Wygląda to tak, jakbys nie pokazal calego kodu smile.gif


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
brekmar
post
Post #3





Grupa: Zarejestrowani
Postów: 76
Pomógł: 0
Dołączył: 19.01.2005

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


Dodalem echo w taki sposob:
  1. <?php
  2. $o1 = explode("|", $dane['opcja1']);
  3. if (isset($plk1)) {
  4. $upd1 = $o1[1]*$plk1;
  5. $status1 = '1';
  6. echo 'if <br>';
  7. }
  8. else {
  9. $upd1 = "$o1[0]|$o1[1]|$o1[2]";
  10. $status1 = "$statusy[0]";
  11. echo 'else <br>';
  12. }
  13. print("o1 = $o1[0]|$o1[1]|$o1[2], plk = $plk1, opcja1 = '$upd1' ");
  14. ?>


No i wynik:
Cytat
if
o1 = 657|2343|0, plk = 1, opcja1 = '0|0|0'

Zmienna widzi ale nie mnozy ;/. Problem polega na tym, ze przy warunkach on zamiast widziec 657|2343|0 widzi 0|0|0, a na koncu znowu widzi prawidlowo, pierwszy raz z takim czyms sie spotykam

Ten post edytował brekmar 22.08.2007, 18:51:55
Go to the top of the page
+Quote Post
TrevorGryffits
post
Post #4





Grupa: Zarejestrowani
Postów: 139
Pomógł: 24
Dołączył: 29.07.2007
Skąd: Tarnowskie Góry

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


B. głupia propozycja;) Daj else do tej samej lini, gdzie jest klamra kończąca "if".
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: 20.08.2025 - 23:00