Autor | Zpráva | ||
---|---|---|---|
xaverista Profil |
#1 · Zasláno: 23. 2. 2015, 15:26:45
Zdravím, omlouvám se za případné chyby a ,, neuplnost,, kódu (ten funguje), píšu teď z mobilu.
Takže teď k otázce. Mám systém, kdy uživatel zadá kód, který jim připíše ,, peníze,, a pokud je kod správný přibude jim částka podle zadaného kódu a script Toaster (notifikace) jim vypíše, že správně zadali kód a kolik získali. Problém je s tím, když chci at, že zadali špatně kod, který neexistuje. Protože mi tu notifikaci vypíše několikrát. Vše je propojeno s databazi. V DB sloupce kod a castka... $vysledek = mysql_query("SELECT * FROM kody ORDER BY kredit DESC",$spojeni); while ($kod = mysql_fetch_array($vysledek){ if($_POST['zadanykod'] == $kod['kod']){ //Probíhají úkony jako updatovani tabulky tedy přečtení peněz a vypsání OK hlášky } } Děkuji všem za nápady xaverista. |
||
juriad Profil |
#2 · Zasláno: 23. 2. 2015, 15:31:29
Filtruj už na úrovni databáze:
$dotaz = "SELECT * FROM kody WHERE kod = '" . mysql_real_escape_string($POST['zadanykod']) . "'"; $vysledek = mysql_query($dotaz); if ($kod = mysql_fetch_array($vysledek) { // OK } else { // wrong } |
||
Tomáš123 Profil |
#3 · Zasláno: 23. 2. 2015, 15:39:20
xaverista:
Alebo používaj break a medzi hodnotu ku ktorej sa po ukončení cyklu vrátiš:
<?php $vysledek = mysql_query("SELECT * FROM kody ORDER BY kredit DESC",$spojeni); while ($kod = mysql_fetch_array($vysledek){ if($_POST['zadanykod'] == $kod['kod']){ //probíhají úkony jako updatovani tabulky tedy přečtení peněz a vypsání OK hlášky $shoda = true; } } if($shoda !== true) { //kód bloku else } ?> |
||
xaverista Profil |
Ok díky, váhal jsem mezi tímto.
Jinak.ještě jde nějak v mysql dotazu udelat toto? V PDO jsem to normálně dělal $vloz = mysql_query("INSERT INTO test(uzivatel,nic) VALUES(?,?)");//nevím jak ten dotaz přesně je... Myslím že je to i ochrana proti sql injection, mam mám pravdu? |
||
Časová prodleva: 9 let
|
0