ugrás a tartalomhoz

Hiba a programba de nem találom.

Andras H. · 2015. Jún. 8. (H), 17.14
Üdv mindenkinek!

Új vagyok itt és kérésem lenne. Egy ismerősőmnek csináltam egy shop ot.
Bár még nincs fent de minden lelett tesztelve és jól működik.
csakhogy az adminba nemtudok menüt, kategóriát csinálni a php val.
Az a fúrcsa, hogy ez működött de vaéamit elrontottam és bár már sokszor átnéztem de nemtudom mi a hiba nem találom. A kat módosítás oké de a felvitel nem. biztosan én hibáztam de többszem többet lát. Mindíg a "Kategória rögzítése sikertelen!" el dobja vissza. Köszi szépen. András

Ime a program részlet:
case "katfelvitel2":

if (!preg_match("/[0-9]/", $_GET['k'])) {
$kod = 0 ;
}
else{
$kod = $_GET['k'];
}
$lek = mysql_query("select * from kategoria2");
$num = mysql_num_rows($lek);
$id=$num+1 ; 
mysql_query("insert into kategoria2(id) values('$id')") or die ("<font size=1 face=verdana>Kategória rögzítése sikertelen!</font>"); 
if(isset($_GET['k'])){
header("Location:kategoria.php?k=$_GET[k]");
}
else{
header("Location:kategoria.php");
}
break;
 
3

Megvan a hiba vagy mégse!?

Andras H. · 2015. Jún. 8. (H), 17.42
Sajnos mégse jó.
6

Így, hogy két SQL utasítás is

kuka · 2015. Jún. 8. (H), 17.48
Így, hogy két SQL utasítás is ugyanazzal az üzenettel száll el, mi innen nem sokat tippelhetünk. Derítsd ki melyik a ludas, illetve vágd be a mysql_error() függvény kimenetét (amit közvetlenül a hiba bekövetkezte után hívj meg).

Persze a legjobb az volna ha az egészet így ahogy van kisepernéd és újrakezdenéd PDO vagy mysqli használatával. Merthogy a mysql modul kirúgásra lett ítélve.
1

Akkor már csak egy apró

kuka · 2015. Jún. 8. (H), 17.27
Akkor már csak egy apró hozzáfűzés: ha a k paraméterben a támadó egyetlen számjegyet is küld, a teljes rosszindulatú kódot átengeded.
2

Mire gondolsz?

Andras H. · 2015. Jún. 8. (H), 17.32
Köszi nem vagyok programozó csak autodidakta módon csinálom. Melyik része?
4

Ha az URL-ben ez

kuka · 2015. Jún. 8. (H), 17.43
Ha az URL-ben ez áll:
kategoria.php?k=1','1','1');%20drop%20table%20kategoria;%20--
$kod értéke ez lesz:
$kod = "1','1','1'); drop table kategoria; --";
Behelyettesítve az SQL utasításba pedig:
insert into kategoria(id,kod,nev,hanyadik) values('','1','1','1'); drop table kategoria; --','','')
5

Köszönöm kuka

Andras H. · 2015. Jún. 8. (H), 17.47
Köszi megnézem.
8

auto_increment

plip · 2015. Jún. 16. (K), 11.05
Továbbá nézz utána a mysql dokumentációban az auto_increment-nek!