|
|
2026. október 17. 01:48 szombat, ma Hedvig névnap van |
Manapság egy php alpú, motorú oldalon alapvető dolgok közé tartozik az űrlap feldolgozás. Az összes olyan oldalon ahol adatot küldünk el a szervernek (bejelentkező ablak, szavazás, keresés, cikk küldés) ott bizony találkozhatunk az űrlapfeldolgozással. Most ezt a műveletet fogom bemutatni egyszerűen.
Az adatot kétféleképpen küldhetjük el: POST (POSTDATA), és a GETsegítségével. Ezt a HTML tag-on belül a method-ba írhatjuk bele, tehát most a POSTDATA segítségével fogjuk továbbítani az adatot. A másik fontos dolog a HTML tag-on belül nekünk most az action, mellyel megmondhatjuk hogy hová küldje az adatokat, tehát lényegében a PHP űrlapfeldolgozó fájljára hivatkozunk itt például. Ám mielőtt ebbe belekezdenénk még tudnunk kéne milyen adatbázisba rakjuk be az adatokat, én most a legegyszerűbbet, legkezelhetőbbet választom, az SQL-t, ezen belül is a MySQL-t, mivel az ingyenes, és a legtöbb tárhelyen megtalálható.
MySQL-hez való kapcsolódás!
Ez egy viszonylag egyszerű feladat, szinte szó szerint csak pár sornyi kódot kell átmásolnunk a siker érdekében, de be is illesztem a szükséges kódot és utána elmagyarázom mi mit jelent, mi mire való.
| MySQL kapcsolódás | |
1 2 |
$kapcsolat = mysql_connect("localhost","root","password"); $adatbazis = mysql_select_db("dbname",$kapcsolat); |
A mysql_connect-el kapcsolódik a mysql szerverhez, 3 paramétere van a függvénynek:
A mysql_select_db-nek két paramétere van: az első az adatbázis neve, ami sokszor ugyancsak megegyezik a felhasználónévvel, és a második paraméter pedig egy változó, aminek az értéke a mysql_connect rész, ahogy a fenti kódban látható. Általában érdemes lezárni a műveletek után a MySQL kapcsolódást, melyet a mysql_close függvény segítségével valósíthatunk meg.
| MySQL kapcsolódás és lezárás | |
1 2 3 4 |
$kapcsolat = mysql_connect("localhost","root","password"); $adatbazis = mysql_select_db("dbname",$kapcsolat); //ide jönnek majd az adatbázis műveletek mysql_close($kapcsolat); |
Ennyit gyorsban a MySQL kapcsolódásról.
Űrlap feldolgozása POST segítségével
Tehát akkor lesz elsőként egy olyan fájlunk, amit elküldünk az űrlapfeldolgozónak, legyen a neve például urlap.html
Ebből következik az, hogy a feldolgozó fájlunk a phpfeldolgozo.php lesz, és ez egy kis egyszerűbb cikkküldő szerűségként szolgálhat a továbbiakban. Az egyes mezők értékeit jelen esetben a $_POST állandó tömb segítségével kaphatjuk meg, és a tömb dimenzióértékébe kell beírni a formban lévő input, vagy textarea nevét, tehát például $_POST['nev'] . Elsőként érdemes leellenőrizni, hogy nem üresek-e a mezők:
Ezzel sikeresen leellenőriztük az elküldött adatokat. Most jönne a feldolgozása az adatoknak. Ez lényegében már csak a MySQL feladata, ám nem árt sohasem átkonvertálnunk az elküldött adatokat, hogyha nem szeretnénk hogy mindenféle HTML kód működjön majd a kiíratáskor, ezt a BBcode nevű tutorialban találhatjátok meg ( itt ugyebár még számos lehetőség is megnyilvánul, tehát lehetőség nyílik szabványos bbcode használatára) . De azonban először sajnos fel kell építenünk a MySQL táblánk egyszerű szerkezetét.
És akkor most dolgozzuk fel végre adatainkat.
1 2 3 4 5 6 7 8 9 10 |
if ( !empty($_POST['nev']) and !empty($_POST['cikkcim']) and !empty($_POST['cikk']) ) { $kapcsolat = mysql_connect("localhost","root","password"); $adatbazis = mysql_select_db("dbname",$kapcsolat); mysql_query("INSERT INTO cikk SET nev = '" . mysql_real_escape_string($_POST['nev']) . "', cikkcim = '" . mysql_real_escape_string($_POST['cikkcim']) . "', cikk = '" . mysql_real_escape_string($_POST['cikk']) . "'"); print "Sikeresen hozzáadtad a cikket ".$_POST['nev']." !"; mysql_close($kapcsolat); } else print "Az összes mezőt ki kell töltened!"; |
Az adatbázisba adatbázisparancsokkal tudunk beilleszteni adatokat, melyet a szerver a mysql_query segítségével hajt végre. A végére kiírtuk kedvességből, hogy sikeresen elküldte a cikket, és a végére hozzáfűztük az illető által beírt nevet.
Űrlap feldolgozása GET segítségével
Itt már kicsit kevesebbet fogok magyarázni, mert nagyrésze hasonlít a POST-tal való feldolgozáshoz. A GET-et általában keresők működtetésére szokták használni, tehát akkor csináljunk egy keresőt a cikk táblánkhoz. A következő dokumentum neve legyen például kereses.html
Tehát akkor a feldolgozó fájl a kereskuld.php lesz, és a keresett szót pedig a POST-hoz hasonlóan $_GET['keres'] tömbbel tudjuk elérni. Itt sem árt leellenőriznünk, hogy beírt-e valamit a felhasználó. A következő kódrészletben, csak azt mutatom meg, hogy a mysql-ből hogyan érhetjük el az adatokat, a listázást, meg a többi részt már rátok bízom, kinek a for, kinek a while ciklus tetszik jobban.
1 2 3 4 5 6 7 |
if ( !empty($_GET['keres']) ) { $kapcsolat = mysql_connect("localhost","root","password"); $adatbazis = mysql_select_db("dbname",$kapcsolat); $keresmuvelet=mysql_query("SELECT * FROM cikk WHERE cikkcim LIKE '%" . mysql_real_escape_string($_GET['keres']) . "%' OR cikk LIKE '%" . mysql_real_escape_string($_GET[keres]) . "%' "); // és ide fog jönni a listázás mysql_close($kapcsolat); } else print "Nem írtál be semmit sem a keresés mezőbe."; |
Ha esetleg nem tudod hogyan kellene a listázást véghezvinni nézz szét a PHP manual-ban. Egy fontos dolgot azonban még el kell mondanom a GET-ről, hogy az adatokat a böngésző URL-jében tárlolja, tehát például http://valami.hu/index.php?kapcsolo=ertek&kapcsolo2=ertek2 , tehát ha a kapcsolo2 értékét megszeretnéd tudni, az benne lesz a $_GET['kapcsolo2'] változóban. Ezzel a módszerrel küldi tovább a GET-et használó form.
Végszó
Most már tudunk adatokat küldeni egyik oldalról a másikra, illetve ezeket az adatokat feldolgozni, adatbázisba illeszteni,és a táblában lévő mezőkben is lehetőségünk nyílik keresni. Remélem érhető lett a cikk, és a benne leírt részletek.
|
Szerző: |
|
Webprogramozás Tutorialok Űrlapok feldolgozása PHP-ben |
||||||||||
|