Avaleht
uus teema   vasta Tarkvara »  WWW »  kas keegi saab php teemal aidata ? märgi kõik teemad loetuks
märgi mitteloetuks
vaata eelmist teemat :: vaata järgmist teemat
Hinnavaatlus :: Foorum :: Uudised :: Ärifoorumid :: HV F1 ennustusvõistlus :: Pangalink :: Telekavad :: HV toote otsing
autor
sõnum Saada viide sõbrale.  :: Teata moderaatorile teata moderaatorile
otsing:  
Murtpoiss
HV kasutaja
Murtpoiss

liitunud: 07.12.2010



Autoriseeritud ID-kaardiga

sõnum 31.08.2012 16:47:06 kas keegi saab php teemal aidata ? vasta tsitaadiga

esimene leht on selline siis

<td><form action="tegevused/panepank.php" method="post">
<input type="text" name="pane" />
<input type="submit" />
</form></td>

ja teine leht on selline

<?php

$playerinfo ="SELECT * from players where name = '$player'";
$playerinfo2 = mysql_query($playerinfo) or die ("could not select players");
$playerinfo3 = mysql_fetch_array($playerinfo2);
$kaigud=$playerinfo3['kaike'];
$raha=$playerinfo3['raha'];
$hoius=$playerinfo3['hoius'];
$hoiusta=(10);

$uushoius=$hoius+(echo $_POST['pane']);
$uusraha=$raha-(echo $_POST['pane']);
$uuskaigud=$kaigud-$hoiusta;
$updateplayer="update players set hoius='$uushoius', raha='$uusraha', kaike='$uuskaigud' where name='$player'";
mysql_query($updateplayer) or die("Could not update player");

header("Location: pank.php");
?>


mis ma valesti teen ?

_________________
Kommentaarid: 35 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 34
tagasi üles
vaata kasutaja infot saada privaatsõnum
Redikate
HV veteran
Redikate

liitunud: 30.12.2005




sõnum 31.08.2012 16:51:07 vasta tsitaadiga

Et siis mis juhtub / ei juhtu?
Või mis oodatud tulemus on?

Muidu teed väga palju asju valesti, aga keskenduks mingile konkreetsele probleemile?
Kommentaarid: 34 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 33
tagasi üles
vaata kasutaja infot saada privaatsõnum
Murtpoiss
HV kasutaja
Murtpoiss

liitunud: 07.12.2010



Autoriseeritud ID-kaardiga

sõnum 31.08.2012 16:52:41 vasta tsitaadiga

oodatud tulemus on see et need muutuks kui sisetad arvu ja vajutad nuppu

hoius='$uushoius', raha='$uusraha', kaike='$uuskaigud'

siis redirectiks tagasi samale lehele kus need arvud juba muutunud
eelmisel lehel ta võtab uuesti need andmed mis on juba muutunud

$playerinfo ="SELECT * from players where name = '$player'";
$playerinfo2 = mysql_query($playerinfo) or die ("could not select players");
$playerinfo3 = mysql_fetch_array($playerinfo2);
$kaigud=$playerinfo3['kaike'];
$raha=$playerinfo3['raha'];
$hoius=$playerinfo3['hoius'];

_________________
Kommentaarid: 35 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 34
tagasi üles
vaata kasutaja infot saada privaatsõnum
Redikate
HV veteran
Redikate

liitunud: 30.12.2005




sõnum 31.08.2012 16:56:31 vasta tsitaadiga

Ja probleem on siis selles et need EI muutu?

$uushoius=$hoius+(echo $_POST['pane']);
$uusraha=$raha-(echo $_POST['pane']);


Peaks olema
$uushoius=$hoius+$_POST['pane'];
$uusraha=$raha-$_POST['pane'];


PHP echot ei ole seal kohe mitte vaja kasutada.
Tuleks kasuks lugeda:
http://ee.php.net/manual/en/function.echo.php
Kommentaarid: 34 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 33
tagasi üles
vaata kasutaja infot saada privaatsõnum
andrusny
Kreisi kasutaja
andrusny

liitunud: 20.03.2006




sõnum 31.08.2012 17:01:42 vasta tsitaadiga

Esimene väga ränk viga
$uushoius=$hoius+(echo $_POST['pane']);


Kui sa liidad muutujaid ei kasutata seal echo ehk andme väljastust

$uushoius=$hoius+$_POST['pane'];


ja sellised liitmised tehakse otse andmebaasi päringusse

$hoius=$_POST['pane'];

$updateplayer="update players set hoius=hoius+$hoius, raha=raha - $hoius , kaike=kaike - 10 where name='$player'";
mysql_query($updateplayer) or die("Could not update player");


päringus erista number muutujad ja string muutujad, kui väli on int siis jutumärke ei käi, kui on text siis käib.

_________________
Kommentaarid: 7 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 7
tagasi üles
vaata kasutaja infot saada privaatsõnum mine selle kasutaja kodulehele
Murtpoiss
HV kasutaja
Murtpoiss

liitunud: 07.12.2010



Autoriseeritud ID-kaardiga

sõnum 31.08.2012 17:17:50 vasta tsitaadiga

kuidas ma liidan muutujaid ?
kuidas teha need otse andmebaasi p2ringusse ?
ok viimasest ma saan aru

kas nii muidu saab teha ?

$updateplayer="update players set hoius='$uushoius', raha='$uusraha', kaike='$uuskaigud' where name='$player'";

et mitutykki on koos ...

ja otse andmebaasi p2ringusse siis nii ?

<?php

$playerinfo ="SELECT * from players where name = '$player'";
$playerinfo2 = mysql_query($playerinfo) or die ("could not select players");
$playerinfo3 = mysql_fetch_array($playerinfo2);
$kaigud=$playerinfo3['kaike']-(10);
$raha=$playerinfo3['raha']-$_POST['pane'];
$hoius=$playerinfo3['hoius']+$_POST['pane'];

$updateplayer="update players set hoius='$hoius', raha='$raha', kaike='$kaigud' where name='$player'";
mysql_query($updateplayer) or die("Could not update player");

header("Location: pank.php");
?>

nii siis ?

_________________
Kommentaarid: 35 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 34
tagasi üles
vaata kasutaja infot saada privaatsõnum
andrusny
Kreisi kasutaja
andrusny

liitunud: 20.03.2006




sõnum 31.08.2012 17:27:12 vasta tsitaadiga

tsitaat:
kuidas teha need otse andmebaasi p2ringusse ?


$hoius=$_POST['pane'];

$updateplayer="update players set hoius=hoius+$hoius, raha=raha - $hoius , kaike=kaike - 10 where name='$player'";
mysql_query($updateplayer) or die("Could not update player");


See oli ju eelmises postituses juba.

tsitaat:
kas nii muidu saab teha ?

miks küsid, käivita kood ja kohe näed kas töötab või mitte.

$updateplayer="update players set hoius='$uushoius',

et siis numbrid ei käi jutumärkidesse. Sul ju ikka väli hoius on int ? Või hoiad oma andmeid text väljal ?

_________________
Kommentaarid: 7 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 7
tagasi üles
vaata kasutaja infot saada privaatsõnum mine selle kasutaja kodulehele
Murtpoiss
HV kasutaja
Murtpoiss

liitunud: 07.12.2010



Autoriseeritud ID-kaardiga

sõnum 31.08.2012 17:28:49 vasta tsitaadiga

Murtpoiss kirjutas:

<?php

$playerinfo ="SELECT * from players where name = '$player'";
$playerinfo2 = mysql_query($playerinfo) or die ("could not select players");
$playerinfo3 = mysql_fetch_array($playerinfo2);
$kaigud=$playerinfo3['kaike']-(10);
$raha=$playerinfo3['raha']-$_POST['pane'];
$hoius=$playerinfo3['hoius']+$_POST['pane'];

$updateplayer="update players set hoius=$hoius, raha=$raha, kaike=$kaigud where name='$player'";
mysql_query($updateplayer) or die("Could not update player");

header("Location: pank.php");
?>


midagi on ikkagi valesti aga mis

_________________
Kommentaarid: 35 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 34
tagasi üles
vaata kasutaja infot saada privaatsõnum
napoleon
Unknown virus
napoleon

liitunud: 08.12.2008



Autoriseeritud ID-kaardiga

sõnum 31.08.2012 17:30:15 vasta tsitaadiga

Saada muidugi ühe päringuga mitut veergu muuta, aga nagu öeldi, select päring ei ole vajalik, saada teha otse UPDATA veerg1=veerg1+x, veerg2=veerg2-y jne.

PS. sisendandmeid peaks ka kontrollima. Kujuta ette olukorda:
UPDATE päring on selline:
sql:
  1. UPDATE players SET hoius=hoius+$_POST['pane'], raha=raha-$_POST['pane'], kaike=kaike-10 WHERE name='$player'

mis juhtub, kui sisestan näiteks 10000# ? Kui ei tea, toksi googlesse SQL injection ja uuri, mida paha nii teha saab kui sisendandmeid ei kontrolli/escape'i
Kommentaarid: 77 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 60
tagasi üles
vaata kasutaja infot saada privaatsõnum
andrusny
Kreisi kasutaja
andrusny

liitunud: 20.03.2006




sõnum 31.08.2012 17:35:37 vasta tsitaadiga

Kas andmebaa s on avatud?

pane

echo $updateplayer="update players set hoius=$hoius, raha=$raha, kaike=$kaigud where name='$player'";
mysql_query($updateplayer) or die("Could not update player". mysql_error());
// header("Location: pank.php");


ja siis pane siia päring mis kuvatakse või MySQL veateade.

_________________
Kommentaarid: 7 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 7
tagasi üles
vaata kasutaja infot saada privaatsõnum mine selle kasutaja kodulehele
Murtpoiss
HV kasutaja
Murtpoiss

liitunud: 07.12.2010



Autoriseeritud ID-kaardiga

sõnum 31.08.2012 20:30:39 vasta tsitaadiga

ma millegip2rast arvan et seal formis on juba mingi viga kuna ta ei vii mind "tegevused/panepank.php" isegi kui mul on redirecting maha võetud
lihtsalt refreshib seda lehte

ja kui ise kirjutad yles et /tegevused/panepank.php siis ta ei leia 'pane'

aga 'kaik' arvutab 2ra et -10

__________________________

enterit vajutades l2heb ... ja k6ik t66tab ... "submit" vajutades ei midagi ...

Sain kõik tööle ... Tänud abi eest icon_smile.gif

_________________
Kommentaarid: 35 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 34
tagasi üles
vaata kasutaja infot saada privaatsõnum
näita postitusi alates eelmisest:   
uus teema   vasta Tarkvara »  WWW »  kas keegi saab php teemal aidata ?
[vaata eelmist teemat] [vaata järgmist teemat]
 lisa lemmikuks
näita foorumit:  
 ignoreeri teemat 
sa ei või postitada uusi teemasid siia foorumisse
sa ei või vastata selle foorumi teemadele
sa ei või muuta oma postitusi selles foorumis
sa ei või kustutada oma postitusi selles foorumis
sa ei või vastata küsitlustele selles foorumis
sa ei saa lisada manuseid selles foorumis
sa võid manuseid alla laadida selles foorumis



Hinnavaatlus ei vastuta foorumis tehtud postituste eest.