Kezdőoldal » Számítástechnika » Programozás » Szintaktikailag hibás ez a...

Szintaktikailag hibás ez a sor? (php, mysql)

Figyelt kérdés

$sql = "UPDATE hirek SET hir_text='$text' WHERE hir_id='$id'";



Az id változót egyébként definiálom előtte úgy, hogy:

$_GET["id"];

Echo-zni is tudja a változót, get-ben megkapja az értéket, de mindig Undefined index-et ír ki a program. Az a legfurább, hogy ellenőrzöm, hogy megtörtént-e a módosítás így:


if ($conn->query($sql) === TRUE) {

echo "Record updated successfully";

} else {

echo "Error updating record: " . $conn->error;

}


Mindig azt írja, hogy record updated successfully. Az id-t az adatbázisból kérem le, ha az adatbázisból get-be megkapott id-t kézzel írom be, akkor működik a dolog, tehát az adatbázis sor létezik ilyen id-vel. Mi a fene lehet ez? Rossz ez szintaktikailag?



#php #MySQL #mysql update
2016. okt. 23. 20:44
1 2 3
 21/24 anonim ***** válasza:

Ácsi! Most POST vagy GET metódussal megy a request? Mert ha nem egy form-ot submitt-elsz a ?id=valami paraméterű URL-re, akkor értelem szerűen valami hibázni fog!

Ha nem form-ot küldesz el, akkor ugye az nem POST metódus, tehát a $_POST eleve üres lesz, le se fut az if blokk. Ha meg form-ot küldesz el, de az action tag-ben nincs benne a ?id=xx akkor a _GET lesz üres!

2016. okt. 24. 09:29
Hasznos számodra ez a válasz?
 22/24 A kérdező kommentje:
Megoldottam, köszi! Mindent post-ban adok át, így nincs mysql sebezhetőség.
2016. okt. 24. 16:56
 23/24 anonim ***** válasza:

Mar hogyne lenne sebezhetoseg, szinte ugyanolyan konnyu postot manipulalni mint getet.


#18: igen, van az a helyzet ahol kell a get egy urlaphoz is, ettol fuggetlenul sem ertem minek kellett bebofognod egy leszolast hamar elotte vegig getrol volt szo.

2016. okt. 24. 18:21
Hasznos számodra ez a válasz?
 24/24 anonim ***** válasza:
Ahogy előttem írták, ugyanúgy van sebezhetőség! Soha, ismétlem SOHA nem szabad megbízni a user inputban! Minden olyan adatot, ami a user irányából érkezik úgy kell tekinteni, hogy potenciális támadó felület lehet, ezért ha adatbázis lekérdezésben adatként használsz POST, GET, COOKIE vagy más user inputot, azt MINDIG escape-elni kell, különben sebezhető lesz a rendszered!
2016. okt. 24. 19:10
Hasznos számodra ez a válasz?
1 2 3

Kapcsolódó kérdések:





Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!