Új hozzászólás Aktív témák
-
Sk8erPeter
nagyúr
Első észrevétel: kapásból rossz a hibafeltételed, mivel !isset($_POST["pix"]) szerepel benne, vagyis épp rosszat vizsgálsz, ha valamit megadott a júzer, soha nem fog belelépni ebbe a feltételágba, mivel itt azt nézed, hogy mi van, ha NEM adtak meg semmilyen adatot, és a SEMMILYEN adat szám-e vagy sem, stb.
Tehát szedd ki azt a felkiáltójelet!Második észrevétel: döntsd el, hogy $pix VAGY $_POST["pix"]-et használsz, és használd azt következetesen.
Harmadik észrevétel:
"Azt, hogy lehet meg oldani, hogy elsőre mikor üres a form ne fusson le a az adatbázis írása?"
Hát nyilván ne így tedd be az adatbázisírás műveletét, hogy mindenféle feltétel-ellenőrzés NÉLKÜL lefut... Csak akkor engedélyezd, ha minden feltétel stimmelt, a felhasználó minden megkövetelt mezőt kitöltött.
Igencsak gány megoldás, de jelenleg ennél a tök egyszerű cuccnál akár változót is figyelgethetsz, ezt persze komolyabb rendszereknél már nem így csinálják, hogy mit tudom én, elején beállítod, hogy $mehet=1; aztán ha hiba van, akkor $mehet=0; -ra állítod, és azt vizsgálod az írásnál, hogy if($mehet), vagyis ha a $mehet értéke 1, csak akkor írjon az adatbázisba... De mondom, ez kicsit ratyi, mindjárt úgyis leolt érte valaki.Sőt, még olyat is csinálhatsz, hogy beállítod az elején, hogy $hibasztring = '';, aztán ha hiba van, akkor abban a feltételágban: $hibasztring = $hibasztring . "Hibásan van ki töltve a 4.2-es kérdés, értéke:".$pix;, a legvégén pedig if(empty($hibasztring)), akkor mehet a feltöltés, egyébként pedig írja ki a hibaüzenetet ( else echo $hibasztring; ).
Persze lehet azt is, hogy egyből return-ölsz az adott hibaüzenettel, de akkor kapásból az első hibánál vissza fog térni.
Szépen kivételkezeléssel szokták megoldani, de ez még valszeg bonyolult lenne neked.
Új hozzászólás Aktív témák
- Egyedi PC összeszerelés Tökéletes színséma, prémium kábelmenedzsment, alkatrészfestés!
- Lenovo Ideapad 330S-15IKB / I5 /20GB RAM / GTX 1050 / M.2 SSD
- Gamer PC - i3 12100f, RTX 3070 és 16gb DDR5 + GARANCIA
- Lenovo ThinkPad T14 Gen 5 Ultra-I7/64GB/512SSD/Érintőképernyő/garancia
- Lenovo ThinkPad T14 G3 I5-1245U/32GB/1TBSSD/Érintőképernyő/Garanciás.
- Samsung Galaxy A06 128GB Kártyafüggetlen, 1Év Garanciával
- Azonnali készpénzes Intel i3 i5 i7 i9 12/13/14 gen processzor felvásárlás személyesen / csomagküldés
- BESZÁMÍTÁS! Gigabyte B760M i5 13400F 16GB DDR4 512GB SSD RTX 3070 8GB Pure Base 500DX fehér 650W
- Bomba ár! Lenovo ThinkPad X260 - i5-6G I 8GB I 256GB SSD I 12,5" HD I HDMI I CAM I W10 I Gari!
- Konzol felvásárlás!! Xbox Series S, Xbox Series X
Állásajánlatok
Cég: CAMERA-PRO Hungary Kft
Város: Budapest
Cég: PC Trade Systems Kft.
Város: Szeged