Autor | Zpráva | ||
---|---|---|---|
Lenoknin Profil * |
#1 · Zasláno: 20. 6. 2011, 18:28:41
Ahoj,
potřeboval bych od vás malou pomoc s php scriptem... pro vás to asi nebude žádný problém :-) nechci nic složitého :D mám tento form: <form action="insert.php" method="post"><br> <center> <b>Nick:</b> <input type="text" name="nick" /><br> <b>počet:</b> <input type="text" name="pocet" /><br> <input type="submit" value="ZAPSAT" /> a potřebuji udělat php script ,který by do mysql uložil pod nick daný počet (tedy číslo), ale aby ho zaroveň sečetl s číslem, které tam již je... Předem moc děkuji za pomoc :-) |
||
Tori Profil |
#2 · Zasláno: 20. 6. 2011, 18:45:40
Dotaz do databáze bude vypadat asi takhle:
UPDATE tabulka SET pocet = pocet + 1 WHERE nick = 'ferda' |
||
Lenoknin Profil * |
#3 · Zasláno: 20. 6. 2011, 19:14:59
tento radek mi uplne staci, jenze potrebuji aby neudelal prikaz +1, ale + a ten pocet z formu...
v tom je jediny problem ,ktery resim :D |
||
hary28 Profil |
#4 · Zasláno: 20. 6. 2011, 19:21:32
UPDATE tabulka SET pocet = pocet + '".$_POST["pocet"]."' WHERE nick = 'ferda' |
||
Majkl578 Profil |
#5 · Zasláno: 20. 6. 2011, 21:02:17
hary28:
Jen to ne! SQL injection ti nic neříká? Vstupy od uživatele před vložením do SQL dotazu vždy ošetřovat (mysql_real_escape_string, ...): mysql_real_escape_string($_POST['foo']) Když jde o číslo, asi by bylo vhodné to jako číslo i přičítat: mysql_query('UPDATE tabulka SET pocet = pocet + ' . (int) $_POST['foo'] . " WHERE nick = 'ferda'"); |
||
Lenoknin Profil * |
#6 · Zasláno: 21. 6. 2011, 18:27:15
Chápu tedy správně, že pokud použiji předchozí form bude řádka vypadat takto?
mysql_query('UPDATE tabulka SET pocet = pocet + ' . (int) $_POST['pocet'] . " WHERE nick = '$nick'"); ? |
||
Tori Profil |
#7 · Zasláno: 21. 6. 2011, 18:32:57
Lenoknin:
mysql_query('UPDATE tabulka SET pocet = pocet + ' . (int) $_POST['pocet'] . " WHERE nick = '" . mysql_real_escape_string($_POST['nick']) . "'"); |
||
Lenoknin Profil * |
#8 · Zasláno: 21. 6. 2011, 20:20:15
funguje :-) děkuju moc za pomoc :-)
|
||
Časová prodleva: 13 let
|
0