mlody93
2.07.2009, 11:57:58
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
michal_robak
2.07.2009, 12:06:24
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

!!
viking
2.07.2009, 12:07:40
Zapewne $_POST['lum']. I poczytaj o register_globals.
MateuszS
2.07.2009, 12:07:43
A jaki błąd? Przypisałeś zawartość tablicy $_POST/$_GET do $lum?
$lum = $_POST['lum'];
mlody93
2.07.2009, 12:09:41
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
Spawnm
2.07.2009, 12:09:47
korzystaj z bbcode.
daj na początku
<?php
$lum=(int)$lum;
?>
MateuszS
2.07.2009, 12:13:06
dodaj na koncu zamiast ostatniego elseif
<?php
else { $lampa = "lampa 100 W"; }
?>
PS ten skrypt nie pokazuje jaka lampe potrzeba, musisz dodac pod kazdym warunkiem
echo $lampa;
Wicepsik
2.07.2009, 12:13:10
<?php
$lum=(int)$_POST['lum'];
if ($lum < 3400){
$lampa = 'Wartość lum jest mniejsza niz 3400';
}elseif(3400 <= $lum and $lum <= 4500){ // Gdy zmienna lum jest między 3400 a 4500
$lampa = "lampa 50W";
}elseif (4501 <= $lum and $lum <= 7000){ // Gdy zmienna lum jest między 4501 a 7000
$lampa = "lampa 70 W";
}else if ( 7001 <= $lum and $lum <= 12000){ // Gdy zmienna lum jest między 7001 a 12000
$lampa = "lampa 100 W";
}else{
$lampa = 'Wartość lum przekroczyła 12000';
}
?>
mlody93
2.07.2009, 12:29:18
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?
Spawnm
2.07.2009, 12:31:13
albo odbieraj jak pisałem czyli z (int)
albo na końcu daj
<?php
}else{
}
?>
Pawel_W
2.07.2009, 12:31:46
is_numeric()
zwraca true albo false
mlody93
2.07.2009, 12:35:53
A mógłbym poprosić o jakiegoś gotowca?
Pawel_W
2.07.2009, 12:38:33
if(is_numeric($lum))
{
// kod ten co masz wyżej
}
else
{
echo 'błąd';
}
Spawnm
2.07.2009, 12:40:19
Przenoszę.
Przypominam o stosowaniu bbcode...
mlody93
2.07.2009, 12:45:03
Paweł, coś nie tak z tym... Co ma być na miejscu tekstu za slashami?
Wicepsik
2.07.2009, 12:53:05
<?php
$lum=$_POST['lum'];
{
if ($lum < 3400){
$lampa = 'Wartość lum jest mniejsza niz 3400';
}elseif(3400 <= $lum and $lum <= 4500){ // Gdy zmienna lum jest między 3400 a 4500
$lampa = "lampa 50W";
}elseif (4501 <= $lum and $lum <= 7000){ // Gdy zmienna lum jest między 4501 a 7000
$lampa = "lampa 70 W";
}else if ( 7001 <= $lum and $lum <= 12000){ // Gdy zmienna lum jest między 7001 a 12000
$lampa = "lampa 100 W";
}else{
$lampa = 'Wartość lum przekroczyła 12000';
}
}
else
{
}
?>
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę
kliknij tutaj.