Ez egy hírküldő script. Működése nagyon egyszerű. Mindössze 3 fájlból áll, és adatbázis alapú a hírek tárolása. A dbconnect.php segítségével kapcsolódik az adatbázishoz, és lekéri a `hirek` tábla tartalmát, majd kiírja. A submit.php lapon vehetünk fel új hírt, a viewNews.php lapon jelenneg meg a hírek. Lássuk is a lépéseket:
1.; Lépés:
Az SQL adatbázisba hozd létre az alábbi táblát
1 2 3 4 5 6 7 8 | CREATE TABLE 'hirek' ( 'id' INT(11) NOT NULL AUTO_INCREMENT, 'title' VARCHAR(255) NOT NULL DEFAULT ", 'user' varchar(22) NOT NULL default ", 'date' VARCHAR(50) NOT NULL DEFAULT '0000-00-00', 'message' text NOT NULL, PRIMARY KEY ('id') ) TYPE=MyISAM AUTO_INCREMENT=1; |
2.; Lépés:
Nyiss meg valami szövegszerkesztőt, másold be a kódot, és mentsd el dbconnect.php néven (az adatokat írd át – LeGaS) !
1 2 3 4 5 6 7 8 | <?php $username = "felhasznalonev";//felhasználóneved $password = "jelszo";//jelszavad $host = "localhostt";//mysql server $database = "adatbazisnev";//az adatbázisod neve mysql_connect($host,$username,$password) or die("Hiba az adatbázis kapcsolódásakor !<br>" . mysql_error()); mysql_select_db($database) or die("Nem lehet kiválasztani az adatbázist !<br>" . mysql_error()); ?> |
3.; Lépés:
Mentsd el viewNews.php néven !
1 2 3 4 5 6 7 8 9 10 11 | <? include("dbconnect.php"); $getnews = mysql_query("SELECT * FROM hirek ORDER BY id DESC"); while($r=mysql_fetch_array($getnews)){ extract($r); echo("<hr> <font size=2>$title | $date</font><br> <font size=1>$message</font><br> <font size=1>Írta: $user</font><p>"); } ?> |
4.; Lépés:
Ezt mentsd el submit.php néven!
(Nem érdemes submit.php néven menteni, mert nincs jelszóval védve az admin felület, így a fájlnév ismeretében bárki írogathatna. Esetleg egy htaccess alapú védelemmel…)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 | <?php include("dbconnect.php"); extract($_POST); if(!empty($title)) { $title = addslashes($title); $user = addslashes($user); $message = addslashes($message); $date = date("F j, Y"); $date2 = mktime(); $sql = "INSERT INTO hirek (id, title, user, message, date) VALUES ('NULL', '$title','$user','$message','$date')"; $query = mysql_query($sql) or die("Cannot query the database.<br>" . mysql_error()); echo "Hír hozzáadva."; } else { ?> <form name="news" method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>"> <p>Kérlek töltsd ki a következő mezőket:</p> <table width="100%" border="0" cellpadding="0" cellspacing="0"> <tr> <td width="117"><font size="1">Cím*: </font> </td> <td width="577"> <font size="1"> <input type="text" name="title" size="50"> </font> </td> </tr> <tr> <td width="117"><font size="1">Név*:</font></td> <td width="577"> <font size="1"> <input type="text" name="user" size="50"> </font> </td> </tr> <tr> <td width="117"><font size="1">Hír*:</font></td> <td width="577"> <font size="1"> <textarea name="message" rows=10 cols=43></textarea> </font> </td> </tr> </table> <p> <font size="1"> <input type="submit" name="Submit" value="Küldés"></font> </p> </form> <?php } ?> |
Szerző: RoolY
Korrektor: LeGaS
Hibajelentés: az utolsó kóddobozban nem jó a kódszínezés, és a keresési találatoknál teljes egészében megjeleníti a tutorialt.
Köszi, sajnos bekavart a wp, mikor átírta a macskakörmöket idézőjelekre.
Üdv!
Az elején amikor az SQL adatbázisba létre kell hozni egy táblát elakadtam. Bemegyek a phpMyAdmin-ba (ATW-nek a MySQL-es bigyója :) ) Ott van egy olyan, hogy SQL, ahol parancsokat lehet bevinni, én oda bemásolom a parancsot ami létrehozza a táblát, de kiírja, hogy: Hiba SQL-kérés utána leírja a parancsot amit bemásoltam és a végére MySQL jelzi: #1064 –
Mit rontottam el?
rooney8: én is itt akadtam el, igaz én extra.hu-n vagyok.
Én már találtam egy másik ilyen „hírküldő rendszert” :)
És működik is? Meg tudnád adni a címét az oldalnak ahol megtaláltad? Fontos lenne :)
Igen működik. Írd be google-ba, hogy cutephp és az 1. találat lesz az.
a cutephp txt alapú rendszer!
Különben tényleg nem oké az sql…
Ez a jó MYSQL hozzá, 30p mire rájöttünk:
CREATE TABLE hirek (
id int(11) NOT NULL AUTO_INCREMENT PRIMARY KEY,
title varchar(255) NOT NULL,
user varchar(22) NOT NULL,
date varchar(50) NOT NULL,
message text NOT NULL
)