Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [wolontariat]Instrukcja if, problem
mlody93
post
Post #1





Grupa: Zarejestrowani
Postów: 14
Pomógł: 0
Dołączył: 2.07.2009

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


Witam.
Dlaczego ten skrypt nie działa?

zmienna $lum jest podawana przez formularz

if ( 3400 < $lum ) {
$lampa = "lampa 50 W";
} elseif ( 4500 > $lum ){
$lampa = "lampa 50W";
} elseif ( 4501 < $lum ){
$lampa = "lampa 70 W";
} elseif ( 7000 > $lum ){
$lampa = "lampa 70 W";
} else if ( 7001 < $lum ){
$lampa = "lampa 100 W";
} elseif ( 12000 > $lum ){
$lampa = "lampa 100 W";
}


Aby oświetlić pokój potrzebujesz: $lampa

Jeżeli ktoś mi pomoże będę wdzięczny
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 15)
michal_robak
post
Post #2





Grupa: Zarejestrowani
Postów: 115
Pomógł: 12
Dołączył: 13.05.2006

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


a walnij echo $lum przed tą formułą i powiedz co ci wyskoczy. i daj w kazdym ifie coś takie echo "jestem w x warunku" i sprawdzisz czy ci wchodzi do ktorejś pętli. Debugować debugować i jeszcze raz debugować w takich wypadkach exclamation.gif!!

Ten post edytował michal_robak 2.07.2009, 12:10:28


--------------------
do wszystkiego trzeba podejść z głową a problem sam się rozwiąże
Go to the top of the page
+Quote Post
viking
post
Post #3





Grupa: Zarejestrowani
Postów: 6 380
Pomógł: 1116
Dołączył: 30.08.2006

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


Zapewne $_POST['lum']. I poczytaj o register_globals.


--------------------
Go to the top of the page
+Quote Post
MateuszS
post
Post #4





Grupa: Zarejestrowani
Postów: 1 429
Pomógł: 195
Dołączył: 6.10.2008
Skąd: Kraków/Tomaszów Lubelski

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


A jaki błąd? Przypisałeś zawartość tablicy $_POST/$_GET do $lum?

$lum = $_POST['lum'];


--------------------
O! Zimniok :P
Go to the top of the page
+Quote Post
mlody93
post
Post #5





Grupa: Zarejestrowani
Postów: 14
Pomógł: 0
Dołączył: 2.07.2009

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


Cytat(michal_robak @ 2.07.2009, 13:06:24 ) *
a walnij echo $lum przed tą formułą i powiedz co ci wyskoczy.


Wyskoczy mi wartość podana w formularzu
Go to the top of the page
+Quote Post
Spawnm
post
Post #6





Grupa: Moderatorzy
Postów: 4 069
Pomógł: 497
Dołączył: 11.05.2007
Skąd: Warszawa




korzystaj z bbcode.
daj na początku
  1. <?php
  2. $lum=(int)$lum;
  3. ?>
Go to the top of the page
+Quote Post
MateuszS
post
Post #7





Grupa: Zarejestrowani
Postów: 1 429
Pomógł: 195
Dołączył: 6.10.2008
Skąd: Kraków/Tomaszów Lubelski

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


dodaj na koncu zamiast ostatniego elseif

  1. <?php
  2. else { $lampa = "lampa 100 W"; }
  3. ?>


PS ten skrypt nie pokazuje jaka lampe potrzeba, musisz dodac pod kazdym warunkiem
echo $lampa;


--------------------
O! Zimniok :P
Go to the top of the page
+Quote Post
Wicepsik
post
Post #8





Grupa: Zarejestrowani
Postów: 1 575
Pomógł: 299
Dołączył: 26.03.2009

Ostrzeżenie: (20%)
X----


  1. <?php
  2. $lum=(int)$_POST['lum'];
  3.  
  4. if ($lum < 3400){
  5.   $lampa = 'Wartość lum jest mniejsza niz 3400';
  6. }elseif(3400 <= $lum and $lum <= 4500){  // Gdy zmienna lum jest między 3400 a 4500
  7.    $lampa = "lampa 50W";
  8. }elseif (4501 <= $lum and $lum <= 7000){ // Gdy zmienna lum jest między 4501 a 7000
  9.   $lampa = "lampa 70 W";
  10. }else if ( 7001 <= $lum and $lum <= 12000){ // Gdy zmienna lum jest między 7001 a 12000
  11.   $lampa = "lampa 100 W";
  12. }else{
  13.   $lampa = 'Wartość lum przekroczyła 12000';
  14. }
  15. ?>


Ten post edytował Wicepsik 2.07.2009, 12:19:00


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





Grupa: Zarejestrowani
Postów: 14
Pomógł: 0
Dołączył: 2.07.2009

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


Dzięki Wicepsik!
Lecz zrobiłeś 2 błędy bodajże w swoim kodzie.
Wielkie dzięki.

A co zrobić żeby.
W formularzu gdzie jest zmienna $lum podaje ktoś literę a nie liczbę.
Żeby zwróciło błąd?
Go to the top of the page
+Quote Post
Spawnm
post
Post #10





Grupa: Moderatorzy
Postów: 4 069
Pomógł: 497
Dołączył: 11.05.2007
Skąd: Warszawa




albo odbieraj jak pisałem czyli z (int)
albo na końcu daj
  1. <?php
  2. }else{
  3.  echo 'error';
  4. }
  5. ?>
Go to the top of the page
+Quote Post
Pawel_W
post
Post #11





Grupa: Zarejestrowani
Postów: 1 675
Pomógł: 286
Dołączył: 15.06.2009
Skąd: Wieliczka

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


is_numeric()

zwraca true albo false
Go to the top of the page
+Quote Post
mlody93
post
Post #12





Grupa: Zarejestrowani
Postów: 14
Pomógł: 0
Dołączył: 2.07.2009

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


A mógłbym poprosić o jakiegoś gotowca?
Go to the top of the page
+Quote Post
Pawel_W
post
Post #13





Grupa: Zarejestrowani
Postów: 1 675
Pomógł: 286
Dołączył: 15.06.2009
Skąd: Wieliczka

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


if(is_numeric($lum))
{
// kod ten co masz wyżej
}
else
{
echo 'błąd';
}
Go to the top of the page
+Quote Post
Spawnm
post
Post #14





Grupa: Moderatorzy
Postów: 4 069
Pomógł: 497
Dołączył: 11.05.2007
Skąd: Warszawa




Przenoszę.

Przypominam o stosowaniu bbcode...
Go to the top of the page
+Quote Post
mlody93
post
Post #15





Grupa: Zarejestrowani
Postów: 14
Pomógł: 0
Dołączył: 2.07.2009

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


Paweł, coś nie tak z tym... Co ma być na miejscu tekstu za slashami?
Go to the top of the page
+Quote Post
Wicepsik
post
Post #16





Grupa: Zarejestrowani
Postów: 1 575
Pomógł: 299
Dołączył: 26.03.2009

Ostrzeżenie: (20%)
X----


  1. <?php
  2. $lum=$_POST['lum'];
  3. if(is_numeric($lum))
  4. {
  5.  
  6. if ($lum < 3400){
  7.  $lampa = 'Wartość lum jest mniejsza niz 3400';
  8. }elseif(3400 <= $lum and $lum <= 4500){  // Gdy zmienna lum jest między 3400 a 4500
  9.   $lampa = "lampa 50W";
  10. }elseif (4501 <= $lum and $lum <= 7000){ // Gdy zmienna lum jest między 4501 a 7000
  11.  $lampa = "lampa 70 W";
  12. }else if ( 7001 <= $lum and $lum <= 12000){ // Gdy zmienna lum jest między 7001 a 12000
  13.  $lampa = "lampa 100 W";
  14. }else{
  15.  $lampa = 'Wartość lum przekroczyła 12000';
  16. }
  17.  
  18. }
  19. else
  20. {
  21. echo 'błąd';
  22. }
  23. ?>


Ten post edytował Wicepsik 2.07.2009, 12:53:47


--------------------
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 - 15:31