Hírküldő script

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

10 HOZZÁSZÓLÁS

  1. 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.

  2. Ü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?

  3. És működik is? Meg tudnád adni a címét az oldalnak ahol megtaláltad? Fontos lenne :)

  4. Igen működik. Írd be google-ba, hogy cutephp és az 1. találat lesz az.

  5. 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
    )

HOZZÁSZÓLOK A CIKKHEZ

Kérjük, írja be véleményét!
írja be ide nevét