Alkalmazott Informatikai Tanszék PHP mintapélda Dr. Nehéz Károly egyetemi adjunktus Miskolci Egyetem Alkalmazott Informatikai Tanszék
PHP „üzenőfal” alkalmazás Készítsünk „üzenőfal” vagy egyszerű fórum alkalmazást PHP segítségével. Legalapvetőbb kivitelezési lépések Tervezés Szoftvereszközök meghatározása Funkcionális terv Adatbázis terv Kódolás Implementálás PHP nyelven Tesztelés
Szoftvereszközök meghatározása LAMP – LINUX, Apache, MySQL, PHP – stratégia alkalmazása Fejlesztőeszközök: Tetszőleges egyszerű szövegszerkesztő Uniform szerver v3.3 (Apache webszerver, mySQL db, Php interpreter) PhpMyAdmin magyar változata (uniform szervet nem tartalmaz magyar változatot.) www.phpmyadmin.net/ DBDesigner 4.x (http://www.fabforce.net/dbdesigner4/)
Funkcionális terv Főoldal (forum.php) Belépő oldal (login.php) belép Új üzenet hibás jelszó Üzenetléterhozó oldal (messageAdd.php) vissza Elutasító oldal (invalid.php) Újra belép
Adatbázis terv DBDesigner 4.x segítségével, vagy a PhpMyAdmin segítségével
login.php invalid.php Kérem a belépési nevét és a jelszavát: <form action="forum.php" method="post"> Felhasznaló neve:<input type="text" name="felhasznalo" /> <br/> Jelszó:<input type="password" name="jelszo" /> <br/> <input type="submit" value="Belépés a fórumba" /> </form> invalid.php A megadott jelszó vagy felhasználói név hibás</br> <a href="login.php">Vissza a belépési oldalra</a>
forum.php (1.rész) if($loggedIn == false) { <h1>Fórum</h1> <? include_once(".access"); $db = "forum"; $table = "felhasznalo"; session_start(); if (!isset($_SESSION['user'])) { $statement = "select * from " . $table . " where " . " felhasznalo='" . $_REQUEST['felhasznalo'] . "' and jelszo='" . $_REQUEST['jelszo'] . "'"; if(mysql_connect($host, $user, $pwd)){ mysql_select_db($db) or die("select"); $result = mysql_query($statement); if(mysql_num_rows($result) > 0) { $loggedIn = true; } if($loggedIn == false) { header("Location: invalid.php"); } $_SESSION['user'] = $_REQUEST['felhasznalo']; echo "<h2>Üdvözlöm kedves: " . $_SESSION['user'] . "</h2>"; ?> <h3>Új üzenet létrehozás</h3> <form action="messageAdd.php"> Email cim: <input type="text" name="email" /> <br/> Üzenet: <textarea cols="30" rows="10" name="uzenet" ></textarea> </br> <input type="submit" value="Új üzenet" /> </form>
forum.php (2. rész) <? $statement = "select * from uzenet order by ido"; if(mysql_connect($host, $user, $pwd)) { mysql_select_db($db) or die("meghalt select"); $result = mysql_query($statement); } while($row = mysql_fetch_row($result)){ echo "<hr/>"; echo "Sorszám:" . $row[0] . "<br/>"; echo "Email cím:" . $row[1] . "<br/>"; echo "Üzenet szövege:" . $row[2] . "<br/>"; echo "Idopont:" . $row[3] . "<br/>"; ?>
messageAdd.php <? include_once(".access"); $db = "forum"; $table = "uzenet"; $statement = "insert into " . $table . " (email,uzenet,ido) VALUES ( '" . $_REQUEST['email'] . "','" . $_REQUEST['uzenet'] . "','" . date("c") . "');"; //echo $statement; if(mysql_connect($host, $user, $pwd)){ mysql_select_db($db) or die("select"); mysql_query($statement); } ?> <a href="forum.php">Vissza</a>
Működés közben