Dan-Levi Skrevet 30. mars 2014 Skrevet 30. mars 2014 Hei, Har en helt enkel statement som sjekker om en verdi er mindre enn en annen, men den fungerer ikke, noen som kan sjekke den raskt? Har sett meg helt blind på dette. $balance = $wallet->balance(); //3000 $loan = $wallet->loan(); // 5000 if (!$balance < $loan) { //Burde jo være ganske rett frem... $wallet->updateBalance(Session::get('user'),$balance - 1000); $wallet->updateLoan(Session::get('user'),$loan - 1000); Redirect::to('bank.php'); } else { Redirect::to('bank.php'); } Når jeg kjører denne så tar den vekk 1000 uansett om $balance er mindre. Hvis jeg fjerner utropstegnet redirekter den med en gang. Forstår virkelig ikke hva jeg gjør feil? Her er hele scriptet. <?php require_once 'core/init.php'; if (Input::exists('get')) { if (Input::get('borrow')) { $wallet = new Wallet; if ($wallet->get(Session::get('user'))) { $balance = $wallet->balance(); $loan = $wallet->loan(); $wallet->updateBalance(Session::get('user'),$balance + 1000); $wallet->updateLoan(Session::get('user'),$loan + 1000); Redirect::to('bank.php'); } } else if (Input::get('repay')) { $wallet = new Wallet; if ($wallet->get(Session::get('user'))) { $balance = $wallet->balance(); $loan = $wallet->loan(); if ($balance < $loan) { $wallet->updateBalance(Session::get('user'),$balance - 1000); $wallet->updateLoan(Session::get('user'),$loan - 1000); Redirect::to('bank.php'); } else { Redirect::to('bank.php'); } } } else { Redirect::to('bank.php'); } } else { Redirect::to('bank.php'); } Alle redirects er midlertidig.. Setter stor pris på hjelp
etse Skrevet 30. mars 2014 Skrevet 30. mars 2014 parantesfeil, prøv med følgende: if (!($balance < $loan)) { 1
Dan-Levi Skrevet 31. mars 2014 Forfatter Skrevet 31. mars 2014 parantesfeil, prøv med følgende: if (!($balance < $loan)) { Herre min hatt Takk!
Lycantrophe Skrevet 31. mars 2014 Skrevet 31. mars 2014 (endret) dat if-else. Bidrar ikke akkurat til ryktet til php. edit: før noen klager: if (!Input::exists('get')) { Redirect::to( 'bank.php' ); } $wallet = new Wallet; if( Input::get( 'borrow' ) && $wallet->get( Session::get( 'user' ) ) ) { $balance = $wallet->balance(); $loan = $wallet->loan(); $wallet->updateBalance(Session::get('user'), $balance + 1000); $wallet->updateLoan(Session::get('user'), $loan + 1000); Redirect::to('bank.php'); } if( Input::get( 'repay' ) ) { if( $!wallet->get( Session::get( 'user' ) ) ) { exit(); } $balance = $wallet->balance(); $load = wallet->loan(); if( $balance < loan ) { Redirect::to( 'bank.php' ); } $wallet->updateBalance( Session::get( 'user' ), $balance - 1000 ); $wallet->updateLoan( Session::get( 'user' ), $loan - 1000 ); } Med forbehold om at Redirect oppfører seg som return. Endret 31. mars 2014 av Lycantrophe
hjahre Skrevet 31. mars 2014 Skrevet 31. mars 2014 (endret) Hvordan takler PHP logiske setninger som dette? !$balance < $loanJeg håper den negerer verdien til $balance (MAX_type - $balance) og sjekker om den er mindre enn $loan. Hvorfor bruker ikke trådstarter $balance >= $loaneventuelt $loan <= $balanceda det tross alt blir det samme som !($balance < $loan)EDIT: Tar forbehold om at både $balance og $loan er numeriske verdier Endret 31. mars 2014 av hjahre
JimL Skrevet 24. april 2014 Skrevet 24. april 2014 Hvordan takler PHP logiske setninger som dette? !$balance < $loan !$balance < $loan = false < 5000 = true
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå