Üzenőfal honlapra


Na ez egy elég komoly tutorial, php és MySQL kell az elkészítéséhez!
Első lépésként csináljunk egy MySQL táblát!

CREATE TABLE `shoutbox` ( 
`id` INT(12) NOT NULL AUTO_INCREMENT, 
`username` VARCHAR(25) NOT NULL, 
`email` VARCHAR(25) NOT NULL, 
`message` TEXT NOT NULL, 
`date` VARCHAR(15) NOT NULL, 
`ip` VARCHAR(25) NOT NULL , 
PRIMARY KEY (`id`))

Akkor most kapcsolatot kell teremtenünk a php fájl és az adatbázis között.
Hozzunk létre egy új fájlt connect.php névvel és a következőt írjuk bele:

<?php 
 
$co_host = "localhost" ; // sql adatbázis cím
$co_name = "username" ; // adatbázis felhasználónév 
$co_pw = "password" ; // adatbázis jelszó 
$co_db = "database name" ; // adatbázis neve 
 
mysql_connect ( $co_host , $co_name , $co_pw ) or die( mysql_error ()); 
mysql_select_db ( $co_db ) or die( mysql_error ()); 
?>

Akkor ezen a részen túlvagyunk, most hozzunk létre egy shoutbox.php nevű fájlt!

Megjegyzés: a connect.php tartalmát biztonsági okokból raktuk külön fájlba.

<html> 
<head> 
<title>Üzenőfal!</title> 
<style type="text/css"> 
<!-- 
.message { 
color: #000000; 
font-family: Verdana; 
font-size: 10px;} 
 
.username { 
color: #FF9900 
font-family: Verdana; 
font-size: 10px; 
font-weight: bold} 
 
.date { 
color: #707070; 
font-family: Verdana; 
font-size: 9px;} 
 
.forms { 
font-family: Verdana, Arial, Helvetica, sans-serif; 
font-size: 10 px; 
color: #6CA05A; 
text-decoration: none; 
background-color: #CCCCCC; 
border-color: #6CA05A; 
border-style: solid; 
border: 1px} 
 
.submit { 
background-color: #CCCCCC; 
border-color: #6CA05A; 
color: #2A343C; 
font-family: Verdana; 
font-size: 10px; 
border-style: solid; 
border 1 px;} 
--> 
</style> 
</head> 
<body leftmargin="0" topmargin="0" marginwidth="0" marginheight="0" style="padding: 2px"> 
<?php 
 
// If submitted 
if( $_POST [ 'submit' ]) { 
 
// Verify if the fields were filled. 
if(! $_POST [ 'username' ]) { 
echo 'HIBA a felhasználóneveddel!' ; 
die; 
} 
if(! $_POST [ 'email' ]) { 
echo 'HIBA az e-mail címeddel!' ; 
die; 
} 
if(! $_POST [ 'message' ]) { 
echo 'HIBA az üzeneteddel!' ; 
die; 
} 
 
// Date format 
$date = date ( "d/m/y" ); // http://www.php.net/date 
 
// Assign variables of the forms 
$username = $_POST [ 'username' ]; 
$email = $_POST [ 'email' ]; 
$message = $_POST [ 'message' ]; 
$ip = $_SERVER [ 'REMOTE_ADDR' ]; 
 
// Connect to the database 
include( 'connect.php' ); 
 
// Insert the info in the shoutbox table. 
$query = "INSERT INTO shoutbox (username, email, message, date, ip) 
VALUES ('$username','$email','$message','$date','$ip')" ; 
mysql_query ( $query ); 
// close connection 
mysql_close (); 
 
// Show message to let them return to the shoutbox 
?> 
<div align="center">Köszönjük a hozzászólást .<br> 
Return to the <a href="shoutbox.php">üzenőfal</a>! 
<?php 
// If NOT submitted 
} else { 
 
// connect to the database 
include( 'connect.php' ); 
 
$query = "SELECT * FROM shoutbox ORDER BY id DESC LIMIT 10" ; 
$result = mysql_query ( $query ); 
// Create a table 
?> 
 
<table width="100%" cellpadding="0" cellspacing="0" border="0"> 
 
<? 
// Run a While loop for the rows 
while( $c = mysql_fetch_array ( $result )) 
{ 
?> 
<tr> 
<td><a href="mailto: <? echo $c['email']; ?> "> 
<? echo $c [ username ] ?> </a> says: 
<div align="justify"> <? echo $c['message']; ?> </div> 
</td> 
</tr> 
<tr><td>on <? echo $c['date']; ?> 
<hr noshade="noshade" size="1" style="border-style: dashed" color="#000000" /></td></tr> 
<? } ?> 
 
</table> 
 
<form method="post" action="shoutbox.php"> 
<table width="100%" border="0" cellpadding="0" cellspacing="0"> 
<tr> 
<td>Felhasználónév :</td> 
<td><input type="text" name="username" class="forms"></td> 
</tr> 
<tr> 
<td>Email :</td> 
<td><input type="text" name="email" class="forms"></td> 
</tr> 
<tr> 
<td>Üzenet :</td> 
<td><input type="text" name="message" class="forms"></td> 
</tr> 
<tr> 
<td colspan="2"><input type="submit" name="submit" value="Mehet" class="subtmit"></td> 
</tr> 
</table> 
</form> 
 
<? 
} 
mysql_close (); 
?> 
</body> 
</html>

Szerző: Lyzu

Frissítés: 2012-es új cikk e témában: Üzenőfal script

Kapcsolódó bejegyzések:
  • Üzenőfal honlapra

    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 adat …

  • Üzenőfal honlapra

    A lapon szerepel már 2 üzenőfalas leírás, de ezek korábbiak kicsit. A Üzenőfal honlapra c. leírás 2004-es, míg a Üzenőfal készítése c. tutorial 2005-ös.Felme …

  • Üzenőfal honlapra

    Ez a tutorial a PHP Tutorial videó sorozatnál feltett kérésre készül. A posztban bemutatott kereső felhasználók között keres, természetesen a logika alapján MYSQ …

  • Üzenőfal honlapra

    A tutorial a PHP-n belüli session és MySQL alapú bejelentkezésről szól. Mindent részletesen leírok, nem kell félni! :)Először is: Mi az a SESSION? A s …

  • Üzenőfal honlapra

    A CSS-ek elején szoktam ezt a kódot használni ahhoz, hogy minden böngésző alatt az egyébként másként megjelenített részeket azonos kinézetre formázzam.…

A cikket beküldte: Harder (http://blog.harder.hu)

23 hozzászólás

  1. porcupain says:

    Nekem az alábbi hibát írja ki. Mi lehet gond?

    Köszönjük a hozzászólást .
    Return to the üzenőfal!
    Warning: mysql_close(): no MySQL-Link resource supplied in /disk/raid2/o/k/okoriroma/shoutbox.php on line 356

    a 356 sor: mysql_close ();

  2. Semmu says:

    hát ez az üzenőfal sem működik…a Rooly fajta sem…ellenőrizzétek a kódokat légyszi

  3. Fefy (http://fefy.extra.hu) says:

    így első ránézésre annyi baja lehet, hogy 2 darab mysql_close() van benne, és csak egy mysql_connect() illetve mysql_select_db() van benne.
    így javaslom, hogy az első mysql_close(); sort szedd ki (vagy szedje ki mindenki, aki használni akarja), mert utánna még vannak sql lekérdezések, de ha nincs aktív kapcsolat, akkor ezek a lekérdezések csak hibát eredményeznek. A kódot átnézve (nem tesztelve), több hibát nem látok benne így hirtelen

  4. Fefy (http://fefy.extra.hu) says:

    Na kipróbáltam és nálam megy rendesen. A mysql_close() -ok száma is megfelelő, csak elnéztem egy sort :)

    Szóval inkább pontosan írd le, hogy mi nem működik, mit ír ki, stb. és akkor pontosabban tudunk segíteni. Valamint olvasd át mégegyszer, hátha kihagytál egy lépést, vagy elírtál valamint a connect.php-ban

  5. Ghost says:

    Na ezt én is kipróbálom!

  6. FeryCsaby (http://www.loversweb.uw.hu) says:

    ez mind ok de nem fejleszettétek tovább…mi igen
    hisz így mikor eltellik h törlöd vagy hogy teszed félre hogy ne vessz el benne…pl napi üzikben! legközelebb szerintem ha már mysql es akkor admin felületet neki ;-) köszeee puszee pacseee :D

  7. Gabesz (http://dragonheart1.uw.hu) says:

    Hali!

    ez egész jó. valami ilyesmire gondoltam, de kicsit kiegészítettem. Köszönöm a segítséget.
    Viszont… Szeretném bizonyos idő közönként ellenőriztetni (kb 30mp) az üzeneteket. Ha megváltozott, frissítse a lekérdezés. Ne kelljen a böngészőben a frissítés gombra kattintani mert akkor újra küldi az üzit. Gondolom JS-el meg lehetne csinálni de amit tudok az az egész oldalt újra tölti és nem csak a lekérdezést.Aki válaszol az az e-mailemre is írjon. Előre is köszi.

  8. Twinky (http://www.BIGdownloads.atw.hu) says:

    nekem ezt írja ki :Parse error: parse error, unexpected T_VARIABLE in /shoutbox/shoutbox.php on line 81

    a 81. sorom: $query = “INSERT INTO Shoutbox (Username, E-mail, Message, Date, IP) VALUES (“$username”, “$email”, “$message”, “$date”, “$ip”)”;

    és a regisztrációm is ezt a hibát írja… én néztem el valamit vagy mi??? segítsetek PLS

  9. Gábor says:

    Nekem is ezt írja ki: Warning: mysql_close(): no MySQL-Link resource supplied in /disk/raid1/t/u/tumi/shoutbox.php on line 139,és nem tudok rájönni,hogy mi lehet a baja,mert az üzeneteket eltárolja,és vissza is adja,de a mehet gomb lenyomásakor kiirja ezt az hibaüzenetet,valamint azt,hogy sikeres üzenetküldés.Segítsetek,hogy mit csináljak vele plíz.

  10. Ursus (http://barlanglako.try.hu) says:

    Én is kaptam a hibaüzenetet. Szerintem a kód végén ez a rész okozza a hibát:

    Helyette:

  11. Ursus (http://barlanglako.try.hu) says:

    A kód végén a kapcsos zárójel rossz helyen ven, a mysql kapcsolat lezárása után kell. Vagy rosszul látom?

  12. Szatya Jr says:

    Sziasztok!
    Az utolsó kapcsos zárójel valóban nem jó helyen van benne.
    Nekem lenne 2 kérdésem is, mint kezdő e témában:
    1. Min kell ahhoz változtatni rajta, hogy az üziket fordított sorrendbe írja ki? (Azaz a legfrisebb legyen legalul)
    2. Hogyan oldható meg, hogy a látogató, tehessen az üzijébe sortörést?
    Előre is köszi a segítséget!

  13. MrSecret (http://www.jatekok.org) says:

    nekem ezt írja ki :Parse error: parse error, unexpected T_VARIABLE in /shoutbox/shoutbox.php on line 81

    a 81. sorom:

    1
    
    $query = "INSERT INTO Shoutbox (Username, E-mail, Message, Date, IP) VALUES ("$username", "$email", "$message", "$date", "$ip")";

    és a regisztrációm is ezt a hibát írja… én néztem el valamit vagy mi??? segítsetek PLS

    ah hiba a 81 sor :
    Ìgy helyes :

    1
    
    $query = "INSERT INTO Shoutbox (Username, E-mail, Message, Date, IP) VALUES (\"$username\", \"$emai\l", \"$message\",\"$date\", \"$ip\")";

    azonkivül ajánlom a a mysql adatbazisban a következö sort :

    1
    
    'date' VARCHAR(15) NOT NULL,

    erre

    1
    
    'date' DATE

    változtatni.
    az új query pedig :

    1
    
    $query = "INSERT INTO Shoutbox (Username, E-mail, Message, Date, IP) VALUES (\"$username\", \"$emai\l", \"$message\", NOW() , \"$ip\")";

    azonkivül :

    1
    
    mysql_query($query) OR DIE("HIBA!! ".mysql_error());

    igy könnyebb lenne.

    Akinek egy Ajax üzenöfalra van szüksége irjon egy mailt.

    ÜDV MrSecret

  14. ViZion says:

    Dobd fel tutorialként, és akkor nem kell levelezned… :)

  15. Martin says:

    Szasztok!
    Megpróbáltam énis szerkeszteni ilyet otthon de sehogy sem akar műkődni, vagy én PHPed-et használok (az az egy a legjobb), mivel nincs otthon internetem, ezért nem tudok mi a hiba a honlappal. A MySQL hova kell elmenteni? Mert azt nem látom sehol sem.

  16. szali says:

    Hm, ez így nem túl szép, kéne vmi SQL injection elleni védelem. Pl. mysql_real_escape_string() az értékekre alkalmazva.

  17. melancholyr says:

    Parse error: syntax error, unexpected $end in C:xampphtdocsszakdolgozatuzenofal.php on line 115

    Nekem ezt dobja ki..

    115 sorom:

    érdekes…

  18. KReW says:

    Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /var/www/blogja.net/krew/www/test/index.html on line 102

    Nekem ezt írja ki légyszi segítsetek, mert fontos lenne!

  19. pcroland (http://pcroland.atw.hu) says:

    Nekem is hibaüzenet volt, ugyanakkor megjelentek az üzenetek, de az azért mégsem jó. Kivettem az első mysql_close() sort és nekem is megy már.

  20. pcroland (http://pcroland.atw.hu) says:

    Nagyon sok hiba van benne:
    1.: át kell írni, hogy üzenet küldés után ne legyen hiba üzenet. ( mysql_close() )
    2.: ha nem a vissza gombot használjuk, hanem frissítünk, akkor kétszer küldi el az üzenetet
    3.: nincs e-mail ellenőrzés. Elfogad akár 2-3 betűt e-mailnek
    4.: nincs a szövegnek kis doboz (text area)
    5.: nincs captcha kód, vagyis ha egy weboldalt a google megtalál, akkor a spam-ek is. Így ez nem használható :-(

  21. Harder (http://blog.harder.hu) says:

    Köszi az észrevételeket. Ez nagyon régi tutorial ha megnézed a dátumot, biztos meg lehet írni a kódot másképp is. Ha Te vagy bárki más érez hajlandóságot, hogy megírja és elküldje nekem, nagyon szívesen kiteszem egy új cikknek és itt jelezni fogom a leírás elején, hogy van egy újabb verzió üzenőfalhoz.

  22. pcroland (http://box6.host1free.com/~pcrola/) says:

    Ismerős küldött be kb. 7-8.-a körül, de nem lett kitéve, pedig abban nem jelentkeztek a hibák. Ja és még jól is néz ki :-) Így néz ki az enyém, csak ebbe háttér is van, meg felül gombok: http://box6.host1free.com/~pcrola/shoutbox/index.php

  23. adam (http://skylex.5mp.eu) says:

    Ez nem működik! vagy valamit nem jól csinálok :(

    Not Found

    The requested URL /shoutbox.php was not found on this server.

Szólj hozzá
a Üzenőfal honlapra c. bejegyzéshez

- Engedélyezett HTML elemek: <a> <em> <strong> <ul> <ol> <li>
- Forráskód beküldéséhez tedd a kódot ezek közé: <pre lang="php" line="1">Kódrészlet helye itt</pre>