PHP-Script.hu
Kiemelt hirdetés:
2017. december 12. 15:54 kedd, ma Gabriella névnap van


grafika


Videóbázis


Kategória: PHP
Egy egyszerű vendégkönyv készítése - 1. rész
2011.05.23. 14:47

Üdv mindenkinek!

Ebben a tutorialban, bemutatom, hogyan tudsz csinálni egy egyszerű vendégkönyvet, amit elhelyezhetsz az oldaladon és már használhatják is a vendégeid. Egy kevés sql használatra és 4 darab fájlra lesz szükségünk.


Először is az sql adatbázisunkban hozzunk létre egy új táblát a következő adatokkal:

Tábla neve: vendegkonyv

7 darab mezőre lesz szükségünk:

1. nev (varchar (255))

2. email (varchar (255))

3. weboldal (varchar (255))

4. uzenet (varchar (255))

5. datum (varchar (50))

6. ip (varchar (15))

7. id (int (11)) <--- not null, auto_increment és ez a Primary key is

type: myisam

Ha kész vagyunk,  jöhetnek a php fájlok. Először is szükségünk van egy "config.php" fájlra.

itt a kód: 

config.php
1
2
3
4
5
6
7
8
9
10
11
<?php 
// mysql adatok (írd át a saját adataidra)
$host = "localhost"; 
$user = "testuser"; 
$pass = "testpass"; 
$database = "test_database"; 
// mysql kapcsolódás
mysql_connect("$host","$user","$pass") or die (mysql_error()); 
// adatbázis kiválasztása
mysql_select_db ("$database") or die (mysql_error()); 
?>
Ha ezzel kész vagyunk, szükségünk lesz egy űrlapra is:
<form id="form1" name="form1" method="post" action="add.php"> 
<table width="600" border="0" cellspacing="0" cellpadding="4"> 
<tr> 
<td width="153">Név:</td> 
<td width="431"> 
<label for="name"></label> 
<input type="text" name="name" id="name" /> 
</td> 
</tr> 
<tr> 
<td>Email:</td> 
<td><label for="email"></label> 
<input type="text" name="email" id="email" /></td> 
</tr> 
<tr> 
<td>Weboldal:</td> 
<td><label for="website"></label> 
<input type="text" name="website" id="website" /></td> 
</tr> 
<tr> 
<td valign="top">Üzenet:</td> 
<td><label for="message"></label> 
<textarea name="message" id="message" cols="45" rows="5"></textarea></td> 
</tr> 
<tr> 
<td><input name="ip" type="hidden" value="<?php echo $_SERVER["REMOTE_ADDR"]; ?>"> 
<input name="date" type="hidden" value="<?php echo date('d M Y - H:i'); ?>"></td> 
<td><input type="submit" name="post" id="post" value="Küldés" /></td> 
</tr> 
</table> 
</form>

ezt mentsd el "post.php" néven, most pedig szükségünk van egy "add.php" fájlra, ami az adatokhoz kell!

add.php
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 
if(isset($_POST['post'])){ 

include "config.php"; 

$name = $_POST['name']; 
$email = $_POST['email']; 
$website = $_POST['website']; 
$message = $_POST['message']; 
$date = $_POST['date']; 
$ip = $_POST['ip']; 

$name = preg_replace("/>/","&gt;",$name); 
$name = preg_replace("/</","&lt;",$name); 
$email = preg_replace("/>/","&gt;",$email); 
$email = preg_replace("/</","&lt;",$email); 
$website = preg_replace("/>/","&gt;",$website); 
$website = preg_replace("/</","&lt;",$website); 
$message = preg_replace("/>/","&gt;",$message); 
$message = preg_replace("/</","&lt;",$message); 

$name = stripslashes($name); 
$email = stripslashes($email); 
$website = stripslashes($website); 
$message = stripslashes($message); 
// Ellenőrzi, hogy a név, email, üzenet mezők, kivannak-e töltve
if ((( empty($name) ) || ( empty($email) ) || ( empty($message) ))){ 
// Ha valamelyik nincs, akkor ezt fogja kiírni 
echo "Kérlek minden mezőt tölts ki (név, emai, üzenet)!"; 
// Ha minden kivan töltve, ellenőrzi, hogy az e-mail valós, helyes-e 
} elseif ((!strstr($email , "@")) || (!strstr($email , "."))) { 
// Ha az e-mail nem jó, akkor ezt írja ki
echo "Kérlek, valós emailt adj meg!"; 
} else { 
// Ha minden mezőt kitöltött és az email is helyes, akkor beküldi az adatokat az sql-be 
$query = "INSERT INTO vendegkonyv (nev, email, weboldal, uzenet, datum, ip) VALUES ('$name','$email','$website','$message','$date','$ip')";
$result = mysql_query($query); 
if ($result){ 
// Ha sikerült elküldeni az üzenetet ezt irja ki
echo "Az üzeneted sikeresen be van jegyezve, <a href=\"index.php\">kattints ide</a> hogy visszatérj a vendégkönyvhez.";
} else { 
// Ha nem sikerült elküldeni az üzenetet, akkor ezt fogja ki írni
echo "Valami hiba történt, kérlek menj <a href=\"javascript: history.back(-2)\">vissza</a> és probáld meg újra!"; 
} 
} 
} else { 
echo "Kérlek használd az <a href=\"post.php\">űrlapot</a> az új bejegyzés küldéséhez!";
} 
?>

 És végül már csak egy "index.php" fájl kell, ahol látni fogjuk a bejegyzéseket!

index.php
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
<table width="600" border="0" cellspacing="0" cellpadding="4"> 
<tr> 
<td width="177">Egy egyszerű vendégkönyv</td> 
<td width="407" align="right"><a href="post.php">Új bejegyzés</a></td> 
</tr> 
<tr> 
<td colspan="2"><hr size="5" width="100%" color="#333333"></td> 
</tr> 
<?php 
include "config.php"; 

$query = "SELECT * FROM vendegkonyv ORDER BY id DESC"; 
$result = mysql_query($query); 

if ($result) { 
while ($row = mysql_fetch_array($result)): 
?> 
<tr> 
<td colspan="2">Posted by <?php echo $row['nev']; ?> <?php 
if($row['weboldal'] == ''){ 
echo ""; 
} else { 
echo "<a href=\"" . $row['weboldal'] . "\">Link</a>"; 
} 
?> 
on <?php echo $row['datum']; ?></td> 
</tr> 
<tr> 
<td colspan="2"><?php echo $row['uzenet']; ?></td> 
</tr> 
<tr> 
<td colspan="2"><hr size="1" width="100%" color="#333333"></td> 
</tr> 
<?php endwhile ?> 
</table> 
<?php 

} else { 
echo "Nem sikerült kiválasztani az adatbázist!"; 
} 
?>

 

Amint látjátok, ez tényleg egy egyszerű vendégkönyv, nagyon egyszerű elkészíteni is! Legközelebb a 2. részben készítünk ehez a vendégkönyvhöz egy admin részt! Remélem hasznotokra lesz!


 Szerző: usershidori Hozzászólások(3) Hozzászólások Megosztás az iWiW-en Megosztás az Facebook-on Megosztás a Google Reader-ben Megosztás az Twitter-en 

Listázás:  Idő szerint:
Webprogramozás arr PHP info Egy egyszerű vendégkönyv készítése - 1. rész
(#3) Petivagyok 2011.08.16. 14:03

Petivagyok
Petivagyok
Kezdő

add.php 36.sor
$query = "INSERT INTO guestbook

ezt is cserélni kell erre:
$query = "INSERT INTO vendegkonyv

(#2) raczger válasza erre: (#1) noszii 2011.06.13. 14:10

raczger
raczger
Admin

Köszi az észrevételt, javítottam, illetve azt hiszem, hogy a post résznél is megtaláltam a hibát (ékezetek voltak a form és post neveiben), próbáld ki újra, elvileg most már működnie kell.

(#1) noszii 2011.06.13. 11:16

noszii
noszii
Kezdő

sziasztok
probléma:
SELECT * FROM guestbook ORDER BY id DESC"

de a sql adatbázisba vendegkonyv tablat hoztunk létre
tehát:
SELECT * FROM vendegkonyv ORDER BY id DESC"

a másik hogy a postolás nem megy még az nem tudom mért de az írja hogy a mező nincs kitöltve kepkep


noszii
Listázás:  Idő szerint:


© 2006-2017 PHP-Script.hu, Minden jog fenntartva!
Design: Rácz Gergely, Oldalmotor: Rácz Gergely
Impresszum - Oldaltörténet - Oldalszabályzat