Gå til innhold

Litt inviklet kode.. Hjelp!


Anbefalte innlegg

Det ble litt rart;

 

$innBank = $hennt['bank'] // Henter ut banken's pengesum
 ?>
   <?php
 if(isset($_POST['setinnpen'])) {
 $inn1 = $hent['peng']; // Henter ut penger man allerede har på hånd
 $inn2 = $_POST['settinna'];
 $inn3 = $inn1 - $inn2;
 $inn4 = $inn3;
 $inn5 = $innBank;
 $inn6 = $inn4 - $inn5;
 $inn7 = $inn6;
 $inn8 = mysql_query("UPDATE brukere SET bank = '$inn7', peng = '$inn4' WHERE id = '$_SESSION[id]'");
 echo "hehe";
 }
 ?>

 

 

Problemet er at jeg får samme sum i banken som jeg får på hånd. Men det skal jo ikke være slik. Ser dere hva som er feil?

Endret av creAtiive
Lenke til kommentar
Videoannonse
Annonse

Skjær meg laus! Er ikke rart det blir innviklet når du holder på på den måten der.

 

Jeg går ut i fra at dette er en del av en funksjon som gjør at brukerne kan sette penger inn i banken? Hvorfor i alle dager minker du bankens beholdning når du da setter inn penger? Du kan gjør alt der skrotet der på seks linjer, tre om man dropper definering av mer forklarende variabler. Noe du kanskje bør lære deg.

 

$bank = $hennt['bank'];
$bruker = $hent['peng'];
$settinn = is_numeric( $_POST['settinna'] ) ? intval( $_POST['settinna'] ) : die( "Feil" );

$new_bruker = $bruker - $settinn;
$new_bank = $bank + $settinn;

mysql_query( "UPDATE brukere SET bank = '$new_bank', peng = '$new_bruker' WHERE id = {$_SESSION['id']}" );

 

Slik vil din kode være i praksis, om jeg forsto den riktig.

$innbank = 300000;

$inn1 = 10000;
$inn2 = 5000;
$inn3 = 10000 - 5000; // = 5000;
$inn4 = 5000;
$inn5 = 300000;
$inn6 = 5000 - 300000; // = -295000
$inn7 = -295000;
$inn8 = mysql_query("UPDATE brukere SET bank = '-295000', peng = '5000' WHERE id = '$_SESSION[id]'");

Ikke rart det der ikke stemmer, da ingen av tallene du kommer frem til henger på grep.

Lenke til kommentar
Skjær meg laus! Er ikke rart det blir innviklet når du holder på på den måten der.

 

Jeg går ut i fra at dette er en del av en funksjon som gjør at brukerne kan sette penger inn i banken? Hvorfor i alle dager minker du bankens beholdning når du da setter inn penger? Du kan gjør alt der skrotet der på seks linjer, tre om man dropper definering av mer forklarende variabler. Noe du kanskje bør lære deg.

 

$bank = $hennt['bank'];
$bruker = $hent['peng'];
$settinn = is_numeric( $_POST['settinna'] ) ? intval( $_POST['settinna'] ) : die( "Feil" );

$new_bruker = $bruker - $settinn;
$new_bank = $bank + $settinn;

mysql_query( "UPDATE brukere SET bank = '$new_bank', peng = '$new_bruker' WHERE id = {$_SESSION['id']}" );

 

 

Takk for hjelpen :)

<?php
/* sett inn penger */
if(array_key_exists('setinnpen', $_POST)) {
$bank2 = $hent['bank'];
$bruker2 = $hent['peng'];
$settinn2 = quote_smart($_POST['settinna']);

if(!is_numeric($settinn2)) {
echo '<font style="color:#FF0000; font-size:11px; font-family:Verdana, Arial, Helvetica, sans-serif;"><strong>Du skrev inn et ugyldig tall!</strong></font>';
}
else {
if($settinn2 > $bruker2) {
echo '<font style="color:#FF0000; font-size:11px; font-family:Verdana, Arial, Helvetica, sans-serif;"><strong>Du har ikke så mye penger!</strong></font>';
}
else {

$new_bruker = $bruker2 - $settinn2;
$new_bank = $bank2 + $settinn2;

mysql_query( "UPDATE brukere SET bank = '$new_bank', peng = '$new_bruker' WHERE id = {$_SESSION['id']}" );

echo ('<font style="color:#FFFFFF; font-size:11px; font-family:Arial, Helvetica, sans-serif;">Du satte inn <strong>' . number_format($settinn2) . '</strong> kr, på din bankkonto.</font>');
}
}
}
?>

Lenke til kommentar

$settinn2 = quote_smart($_POST['settinna']);

if(!is_numeric($settinn2)) {

Den kunne med fordel vært:

$settinn2 = intval( $_POST['settinna'] );

if( $settinn2 < 1 ) {

 

POST har vel heller ingen grenser på lengen på nøklene, så beskriv de istede for slik krypisk skrot som "settinna", "setinnpen", etc. Samme gjelder SQL. penger og bankbeholdning fremfor peng og bank.

Endret av m4rtin
Lenke til kommentar

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 konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...