PHP ban hogyan lehet leelenőrizni hogy egy szám előjele mínusz-e?
Problémám lenne, ugyanis egy pontrendszert csináltam. Ilyen rangokra lehet beváltani az adott pontokat, és ha egy rangnak mondjuk 5000 a határa, és a felhasználónak csak 300-a van akkor a 300-ból kivonattam az 5000-ret és kijön egy x szám.
if($szam < 0){}
a $szam változó értéke: $szam = $pontjaid - $ponthatar;
A fent leírt megoldással nem nagyin működik.
és nekem ez így nem működik. Van rá valami más megoldás?
Még ilyen feltételre nem volt szükségem, de ha az általad írt módszer nem működik, akkor ellenőrizd azt, hogy a vátozóban tárolt érték első karaktere micsoda?
Tehát az első karakter "-" vagy nem.
Erre az alábbi függvény megfelelő:
Teljesen igazad van montihun!
Csak úgy nem akartam azt írni a kérdezőnek, hogy biztos ő ront el valamit, amíg nem próbáltam én is ki gyakorlatban.
Igazad van, hogy fölöslegesen stringműveletekkel ne bonyolítsuk meg a dolgokat, de legvégső esetben ez is járható út a probléma megoldására.
Most volt fél percem, úgyhogy itt a kód, ami működik is:
<?php
$pontjaid = 100;
$ponthatar = 400;
$szam = $pontjaid - $ponthatar;
if ($szam < 0) {
echo 'negatív';
}
else {
echo '0 vagy pozitív';
}
?>
Kérdező!
Biztos, hogy te rontasz el vmit, de forrás nélkül nehéz megmondani, hogy mit.
if(isset($_POST["code_validate"])){
$code_val = $_POST["code_txt"];
$code_error = false;
include("connect.php");
$parancs_code_lekerese = "SELECT * FROM user_registration WHERE id = '".mysql_escape_string($_GET[id])."'";
$eredmeny_code = mysql_query($parancs_code_lekerese);
while($sor_code = mysql_fetch_array($eredmeny_code)) {
$joga = $sor_code[jogod];
if($code_val == "") {
echo "
<script>
alert('Nem adtál meg semmilyen kódot!');
</script>
";
$code_error = true;
}
if($code_val == 'KÓD#2') {
$altalanos_code = $sor_code[pontok];
$tag2 = '250';
$osszeg2 = $altalanos_code - $tag2;
if($joga == '2') {
echo "
<script>
alert('Jelenleg ezt a szintet használod!');
</script>
";
$code_error = true;
}
if($osszeg2 < '0') {
echo "
<script>
alert('Nem elég a pontjaid száme ehhez: [tag]');
</script>
";
$code_error = true;
}if($code_error == false){
$parancs_code_fresh = "UPDATE user_registration SET felh_szinted = '2' WHERE id = '".mysql_escape_string($_GET[id])."'";
mysql_query($parancs_code_fresh);
$parancs_code_fresh2 = "UPDATE user_registration SET pontok = $osszeg WHERE id = '".mysql_escape_string($_GET[id])."'";
mysql_query($parancs_code_fresh2);
echo "
<script>
alert('Rangod frissítve erre: [tag]]');
</script>
";
}
}
if($code_val == 'KÓD#3') {
$altalanos_code = $sor_code[pontok];
$tag3 = '900';
$osszeg = $altalanos_code - $tag3;
if($joga == '3') {
echo "
<script>
alert('Jelenleg ezt a szintet használod!');
</script>
";
$code_error = true;
}
if($osszeg3 < '0') {
echo "
<script>
alert('Nem elég a pontjaid száme ehhez: [VIP]');
</script>
";
$code_error = true;
}if($code_error == false){
$parancs_code_fresh = "UPDATE user_registration SET felh_szinted = '3' WHERE id = '".mysql_escape_string($_GET[id])."'";
mysql_query($parancs_code_fresh);
$parancs_code_fresh2 = "UPDATE user_registration SET pontok = $osszeg WHERE id = '".mysql_escape_string($_GET[id])."'";
mysql_query($parancs_code_fresh2);
echo "
<script>
alert('Rangod frissítve erre: [VIP]]');
</script>
";
}
}
if($code_val == 'KÓD#4') {
$altalanos_code = $sor_code[pontok];
$tag4 = '2500';
$osszeg4 = $altalanos_code - $tag4;
if($joga == '4') {
echo "
<script>
alert('Jelenleg ezt a szintet használod!');
</script>
";
$code_error = true;
}
if($osszeg4 < '0') {
echo "
<script>
alert('Nem elég a pontjaid száme ehhez: [törzsvendég]');
</script>
";
$code_error = true;
}if($code_error == false){
$parancs_code_fresh = "UPDATE user_registration SET felh_szinted = '4' WHERE id = '".mysql_escape_string($_GET[id])."'";
mysql_query($parancs_code_fresh);
$parancs_code_fresh2 = "UPDATE user_registration SET pontok = '".$osszeg."' WHERE id = '".mysql_escape_string($_GET[id])."'";
mysql_query($parancs_code_fresh2);
echo "
<script>
alert('Rangod frissítve erre: [törzsvendég]');
</script>
";
}
}
if($code_val == 'KÓD#5') {
$altalanos_code = $sor_code[pontok];
$tag5 = '6500';
$osszeg5 = $altalanos_code - $tag5;
if($joga == '5') {
echo "
<script>
alert('Jelenleg ezt a szintet használod!');
</script>
";
$code_error = true;
}
if($osszeg5 < '0') {
echo "
<script>
alert('Nem elég a pontjaid száme ehhez: [ventofan]');
</script>
";
$code_error = true;
}if($code_error == false) {
$parancs_code_fresh = "UPDATE user_registration SET felh_szinted = '5' WHERE id = '".mysql_escape_string($_GET[id])."'";
mysql_query($parancs_code_fresh);
$parancs_code_fresh2 = "UPDATE user_registration SET pontok = $osszeg WHERE id = '".mysql_escape_string($_GET[id])."'";
mysql_query($parancs_code_fresh2);
echo "
<script>
alert('Rangod frissítve erre: [ventofan]]');
</script>
";
}
}
if($code_val == 'KÓD#6') {
$altalanos_code = $sor_code[pontok];
$tag6 = '9500';
$osszeg6 = $altalanos_code - $tag6;
if($joga == '6') {
echo "
<script>
alert('Jelenleg ezt a szintet használod!');
</script>
";
$code_error = true;
}
if($osszeg6 < '0') {
echo "
<script>
alert('Nem elég a pontjaid száme ehhez: [ventopro]');
</script>
";
$code_error = true;
}if($code_error == false){
$parancs_code_fresh = "UPDATE user_registration SET felh_szinted = '6' WHERE id = '".mysql_escape_string($_GET[id])."'";
mysql_query($parancs_code_fresh);
$parancs_code_fresh2 = "UPDATE user_registration SET pontok = $osszeg WHERE id = '".mysql_escape_string($_GET[id])."'";
mysql_query($parancs_code_fresh2);
echo "
<script>
alert('Rangod frissítve erre: [ventopro]');
</script>
";
}
}
}}
Szerintem az lesz a gond, hogy te mindenhol string literálokat használsz, értékadásnál és összehasonlításnál is.
A számokat nem kell ''-be tenni, csak simán, fel fogja ismerni, hogy az egy szám :)
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!