Hinnavaatlus
:: Foorum
:: Uudised
:: Ärifoorumid
:: HV F1 ennustusvõistlus
:: Pangalink
:: Telekavad
:: HV toote otsing
|
|
autor |
|
Murtpoiss
HV kasutaja

liitunud: 07.12.2010
|
31.08.2012 16:47:06
kas keegi saab php teemal aidata ? |
|
|
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 |
|
 |
Redikate
HV veteran

liitunud: 30.12.2005
|
31.08.2012 16:51:07
|
|
|
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 |
|
 |
Murtpoiss
HV kasutaja

liitunud: 07.12.2010
|
31.08.2012 16:52:41
|
|
|
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 |
|
 |
Redikate
HV veteran

liitunud: 30.12.2005
|
31.08.2012 16:56:31
|
|
|
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 |
|
 |
andrusny
Kreisi kasutaja

liitunud: 20.03.2006
|
31.08.2012 17:01:42
|
|
|
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 |
|
 |
Murtpoiss
HV kasutaja

liitunud: 07.12.2010
|
31.08.2012 17:17:50
|
|
|
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 |
|
 |
andrusny
Kreisi kasutaja

liitunud: 20.03.2006
|
31.08.2012 17:27:12
|
|
|
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 |
|
 |
Murtpoiss
HV kasutaja

liitunud: 07.12.2010
|
31.08.2012 17:28:49
|
|
|
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 |
|
 |
napoleon
Unknown virus

liitunud: 08.12.2008
|
31.08.2012 17:30:15
|
|
|
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:
|
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 |
|
 |
andrusny
Kreisi kasutaja

liitunud: 20.03.2006
|
31.08.2012 17:35:37
|
|
|
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 |
|
 |
Murtpoiss
HV kasutaja

liitunud: 07.12.2010
|
31.08.2012 20:30:39
|
|
|
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
_________________
 |
|
Kommentaarid: 35 loe/lisa |
Kasutajad arvavad: |
   |
:: |
0 :: |
0 :: |
34 |
|
tagasi üles |
|
 |
|