Szerző Téma: Üzenőfal  (Megtekintve 2546 alkalommal)

Üzenőfal
« Dátum: 2015. november 15. - 10:54:05 »
+1 Show voters
Sziasztok! Egyik ismerősömnek készítettem egy text mentéses üzenőfalat. Azért nem használtam MySQL-t, mert mindenképpen ragaszkodott hozzá, hogy ne SQL alapú legyen. Azóta nem alakítottam át, viszont arra gondoltam, hogy megosztom, mert mások számára is hasznos lehet.
Az oldal, ahová kilistázódnak az üzenetek (index.php)
 

<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Strict//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd\">
<html>
<head>
<title>Üzenőfal</title>
<meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\" />
<meta name=\"author\" content=\"ReSIk\" />
<meta name=\"copyright\" content=\"ReSIk\" />
   <link rel=\"stylesheet\" href=\"style.css\" />
</head>
<body>
<center>
<h1>Üzenetküldés</h1>
<form method=\"post\" action=\"feldolgozo.php\">
Neved: <input type=\"text\" name=\"nev\" value=\"\" />
<br /><br />
Üzeneted: <textarea name=\"uzenet\"></textarea>
<br /><br />
<input type=\"submit\" value=\"Küldés\" />
<br /><br />
</form>
<h1>Eddigi üzenetek:</h1>
<div id=\"header\">
<hr />
<?php
$fajlnev = \"kiirasok.txt\";
$megnyitesolvas = fopen(\"$fajlnev\", \"r\");
$olvas = fread($megnyitesolvas, filesize($fajlnev));
if ( $olvas == null ) {
   echo \"Nincsenek üzenetek!<br />\";
}
else {
   echo $olvas;
}
?>
</div>
</body>
</html>

 
Az új üzenet hozzáadását feldolgozó script (feldolgozo.php)
 

<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Strict//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd\">
<html>
<head>
<title>Üzenőfal</title>
<meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\" />
<meta name=\"author\" content=\"ReSIk\" />
<meta name=\"copyright\" content=\"ReSIk\" />
<link rel=\"stylesheet\" href=\"style.css\" />
</head>
<body>
<?php
function feldolgozas()
{
$nev = $_POST[\"nev\"];
$uzenet = $_POST[\"uzenet\"];
if ( !isset ( $nev ) || !isset ( $uzenet ) ) {
echo \"
   <script language=\'JavaScript\'>
      alert(\'Minden űrlapot ki kell töltened!\');
      location.href=\'index.php\';
   </script>
\";
}
else {
if ( strlen ( $nev ) < 3 || strlen ( $nev ) > 20 ) {
   echo \"
   <script language=\'JavaScript\'>
      alert(\'Nem lehet három karakternél rövidebb és húsz karakternél hosszabb neved!\');
      location.href=\'index.php\';
   </script>
\";
}
elseif ( strlen ( $uzenet ) < 10 || strlen ( $uzenet ) > 5000 ) {
   echo \"
   <script language=\'JavaScript\'>
      alert(\'Az üzenetnek 10 karakternél nagyobbnak és 5000 karakternél kisebbnek kell lennie!\');
      location.href=\'index.php\';
   </script>
\";
}
else {
   if ( $nev && $uzenet ) {
      $megnyit = fopen(\"kiirasok.txt\", \"a\");
      $beleir = fwrite($megnyit, \"Üzenetet írta: <b>$nev</b> ekkor: <b>\" . date(\"Y. \") . date(\"m. \") . date(\"d. | \") . date(\"H: \") . date(\"i: \") . date(\"s \\n\\n\") . \"</b><br />\" . \"Üzenet: <b>\'$uzenet\'\\n\\n</b><hr />\" );
      fclose($megnyit);
         echo \"<script language=\'JavaScript\'>
            alert(\'Üzenetedet sikeresen kiírtuk!\');
            location.href=\'index.php\';
         </script>\";
   }
   else {
      echo \"<script language=\'JavaScript\'>
            alert(\'Üzeneted elküldése közben hiba lépett fel!\');
            location.href=\'index.php\';
         </script>\";
   }
}
}
}
feldolgozas();
?>
</body>
</html>

 
A scripthez tartozó kezdetleges design (style.css)
 

body {
background-color: grey;
}
h1 {
color: white;
font-family: courier;
}
input {
border: 2px solid black;
}
textarea {
border: 2px solid black;
}
hr {
width: 800px;
}
div#header {
border: 2px solid black;
border-radius: 7px;
background-color: rgba(9,7,1,0.4);
}
b {
color: white;
}

 
A script működése: A főoldalon lévő űrlapba írhatod a neved és az üzented. Amennyiben nincs még létrehozva a mentéshez szükséges kiirasok.txt, úgy nem kell manuálisan létrehozni, mert a script létrehozza magának! Ha hozzáadsz egy üzenetet, az mentődik a fájlba, és a főoldalon kilistázza a fájl tartalmát. A kiirasok.txt fájlt abban a könyvtárban hozza létre, amiben az index.php van!
A Live Demo eléréséhez kattints ide! Ha ki szeretnétek próbálni, akkor nyugodtan. :)

ᗩωєѕσмє

  • Vendég
Üzenőfal
« Válasz #1 Dátum: 2015. november 15. - 11:51:41 »
0 Show voters
A Design lehetne picit szebb is, de szerintem jólett. Annyi még az észrevétel, hogy az üzenet küldése után frissíteni kell az oldalt, hogy megjelenítse amit küldtem.

Üzenőfal
« Válasz #2 Dátum: 2015. november 15. - 12:03:04 »
0 Show voters
Idézetet írta: zιтяσиє date=1447584701\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"58448\" data-ipsquote-contentclass=\"forums_Topic
A Design lehetne picit szebb is, de szerintem jólett. Annyi még az észrevétel, hogy az üzenet küldése után frissíteni kell az oldalt, hogy megjelenítse amit küldtem.
 
Köszi. A design elég kezdetleges de lehetséges, hogy kiadok egy másik verziót, amiben felturbózom. :) A frissítéses dolgot úgy érted, hogy ha valaki küld egy üzenetet, akkor nem jeleníti meg egyből a másik felhasználónak, csak frissítés után? Mert ha igen, akkor ezt JavaScripttel meg tudnám oldani.

Nem elérhető DrAkE

  • 2078
    • Profil megtekintése
Üzenőfal
« Válasz #3 Dátum: 2015. november 15. - 13:21:25 »
+3 Show voters
Jók az üzenetek.

Üzenőfal
« Válasz #4 Dátum: 2015. november 15. - 13:26:35 »
0 Show voters
Sejtésem sincs, ki írta ki...  ::|

Üzenőfal
« Válasz #5 Dátum: 2015. november 22. - 10:37:30 »
+1 Show voters
Én egyáltalán nem közvetlen menteném a fájlba a tartalmat, hanem esetleg encodeolva, valamint név;üzenet;dátum;ip csv formában, és ezt majd kiexplodeolva jeleníteném meg. Valamint legalább egy alapfokú védelmet tehettél volna bele.
« Utoljára szerkesztve: 2016. március 13. - 00:39:37 írta blackdog476 »

Üzenőfal
« Válasz #6 Dátum: 2016. május 27. - 17:02:33 »
0 Show voters
PLS valaki mondja meg hogy xampp vel hogyan kell mindenkiszámára elérhetövé tenni igy : www.valami.hu ?? KÖSZÖNÖM!  :-)  :) :D

Üzenőfal
« Válasz #7 Dátum: 2016. május 27. - 22:55:18 »
0 Show voters
xamppvel?
kinyitod a routereden a 80as portot, freenomnál regisztrálsz egy domaint sajat ipdre, es kesz  a weboldalad xamppvel

Üzenőfal
« Válasz #8 Dátum: 2016. május 29. - 18:30:10 »
0 Show voters
Nem igazán értek én ehez... :)  :angry:

Üzenőfal
« Válasz #9 Dátum: 2016. május 29. - 18:39:38 »
0 Show voters
akkor ne is próbálkozz nagyon vele.. nézz utána a dolgoknak

Üzenőfal
« Válasz #10 Dátum: 2016. május 29. - 18:41:59 »
0 Show voters
Rendben van!

 

SimplePortal 2.3.7 © 2008-2024, SimplePortal