• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Dodawanie liczby do zmiennej

Object Storage Arubacloud
0 głosów
230 wizyt
pytanie zadane 22 marca 2019 w JavaScript przez Jokii Nowicjusz (240 p.)
edycja 23 marca 2019 przez ScriptyChris

Dzień dobry mam problem z takim skrypcikiem:

<?php
  session_start();
?>
<html lang="pl">
<head>
    <meta http-equiv="content-type" content="text/html; charset=utf-8">
    <title>Strona Główna</title>
    <link rel="Stylesheet" href="style.css">

<script>
 var Money = '<?php echo $_SESSION['money']; ?>';
 function addmoney()
 {
    Money = Money + 1;
    document.getElementById("moneyzdobyte").innerHTML = Money;
 }
</script>

</head>
    
<body>
<?php
 
        if (!isset ($_SESSION['zalogowany']))
        {
        echo "<div id='container'>";
        echo $_SESSION['login']." [<a href='logout.php'> Wyloguj się!</a>]<br>";
        echo "Zarobiłeś: <div id='moneyzdobyte'>0</div>";
        echo "<button onclick='addmoney()'>Zarabjaj</button>";
        } else header("Location: index.php");
?>
</body>
</html>

Otóż zamiast wyniku załóżmy 250 + 1 = 251 to otrzymuje 2501... i mogę dodawać te jedynki w nieskończoność gdzie jest problem?

komentarz 22 marca 2019 przez kalczur Gaduła (4,320 p.)
Dzieje się tak ponieważ traktuję to jak tekst, a więc przed dodaniem do tego jakiejś liczby daj
Money = parseFloat(Money);  jeśli chcesz zmiennoprzecinkowy a jeśli całkowite to parseInt()

No i co właściwie przypisujesz w 10 linijce do Money?
1
komentarz 22 marca 2019 przez lateM Pasjonat (17,660 p.)
komentarz 22 marca 2019 przez Jokii Nowicjusz (240 p.)

@kalczur, zmienną sesyjną z php z innego pliku

 

 

 

 

komentarz 22 marca 2019 przez kalczur Gaduła (4,320 p.)
Zrób tak jak pisałem i daj znać czy działa
komentarz 22 marca 2019 przez Jokii Nowicjusz (240 p.)
Dodałem do skryptu to co kazałeś i nadal nie działa

jakieś inne sugestie?

1 odpowiedź

0 głosów
odpowiedź 23 marca 2019 przez MrxCI Dyskutant (8,260 p.)
//Money = Money + 1;


function addMoney(money,int){

if(typeof money == `object` || typeof int == `object`){throw `param cannot be object`;}

money = typeof money == `number` ? money : parseInt(money);
int = typeof int == `number` ? int : parseInt(int);

return money+=int;

}

// usage  
// Money = addMoney(Money,20); 


Taka funkcja na szybko, myślę że powinna spełnić podstawowe oczekiwania

 

Założyłem ze zmienna money nie może być liczbą zmiennoprzecinkową.

Podobne pytania

+1 głos
2 odpowiedzi 1,207 wizyt
0 głosów
1 odpowiedź 209 wizyt
pytanie zadane 27 sierpnia 2020 w C i C++ przez NieMaJuzNazw Użytkownik (890 p.)
0 głosów
1 odpowiedź 194 wizyt

92,573 zapytań

141,423 odpowiedzi

319,645 komentarzy

61,959 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...