Un simple chat que hice en PHP que tiene las siguientes opciones :

[+] Solo permite 10 mensajes por lo que borra por antiguedad
[+] Filtra malas palabras
[+] Se pueden borrar comentarios desde el administrador

Una imagen :

Imagen


Los codigos :

index.php
<?php

// DH Chat 0.5
// (C) Doddy Hackman 2015

// Login

$username = "admin"; // Edit
$password = "21232f297a57a5a743894a0e4a801fc3"; // Edit

//

$index = "admin.php"; // Edit

if (isset($_GET['poraca'])) {
    
    echo '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
   <head>
      <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
      <title>Login</title>
      <link rel="shortcut icon" href="images/icono.png">
      <link href="style.css" rel="stylesheet" type="text/css" />
   </head>
   <body>
      <center><br>
         <div class="post">
            <h3>Login</h3>
            <div class="post_body">
               <img src="images/login.jpg" width="562" height="440" />
               <br />
               <form action="" method=POST>
                  Username : <input type=text size=30 name=username /><br /><br />
                  Password : <input type=password size=30 name=password /><br /><br />
                  <input type=submit name=login style="width: 100px;" value=Login /><br /><br />
               </form>
            </div>
         </div>
      </center>
   </body>
</html>';
    
    if (isset($_POST['login'])) {
        
        $test_username = $_POST['username'];
        $test_password = md5($_POST['password']);
        
        if ($test_username == $username && $test_password == $password) {
            setcookie("login", base64_encode($test_username . "@" . $test_password));
            echo "<script>alert('Welcome idiot');</script>";
            $ruta = "http://" . $_SERVER['HTTP_HOST'] . dirname($_SERVER['PHP_SELF']) . "/" . $index;
            echo '<meta http-equiv="refresh" content="0; url=' . htmlentities($ruta) . '" />';
        } else {
            echo "<script>alert('Fuck You');</script>";
        }
    }
    
} else {
    echo '<meta http-equiv="refresh" content="0; url=http://www.petardas.com" />';
}

// The End ?

?>
admin.php
<?php

// DH Chat 0.5
// (C) Doddy Hackman 2015

error_reporting(0);

// Login

$username = "admin"; // Edit
$password = "21232f297a57a5a743894a0e4a801fc3"; // Edit

// DB

$host  = "localhost"; // Edit
$userw = "root"; // Edit
$passw = ""; // Edit
$db    = "chat"; // Edit

if (isset($_COOKIE['login'])) {
    
    $st = base64_decode($_COOKIE['login']);
    
    $plit = explode("@", $st);
    $user = $plit[0];
    $pass = $plit[1];
    
    if ($user == $username and $pass == $password) {
        
        echo '
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
   <head>
      <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
      <title>DH Chat 0.5</title>
      <link rel="shortcut icon" href="images/icono.png">
      <link href="style.css" rel="stylesheet" type="text/css" />
   </head>
   <body>
   <center>
   ';
        
        mysql_connect($host, $userw, $passw);
        mysql_select_db($db);
        
        echo '         <br><img src="images/chat.png" /><br>';
        
        if (isset($_POST['instalar'])) {
            
            $todo = "create table mensajes (
id_comentario int(10) UNSIGNED NOT NULL AUTO_INCREMENT,
mensaje TEXT NOT NULL,
apodo VARCHAR(255) NOT NULL,
PRIMARY KEY (id_comentario));
";
            
            $todo2 = "create table insultos (
id_insulto int(10) UNSIGNED NOT NULL AUTO_INCREMENT,
mensaje TEXT NOT NULL,
PRIMARY KEY (id_insulto));
";
            
            if (mysql_query($todo)) {
                if (mysql_query($todo2)) {
                    
                    $insultos = array(
                        "lammer",
                        "lamer",
                        "maricon",
                        "noob"
                    );
                    
                    foreach ($insultos as $con) {
                        @mysql_query("INSERT INTO insultos(id_insulto,mensaje)values(NULL,'$con')");
                    }
                    
                    echo "<script>alert('Installed');</script>";
                    echo '<meta http-equiv="refresh" content=0;URL=>';
                }
            } else {
                echo "<script>alert('Error');</script>";
            }
        }
        
        if (mysql_num_rows(mysql_query("show tables like 'mensajes'"))) {
            
            //
            
            $re = mysql_query("select * from mensajes order by id_comentario ASC");
            
            if (isset($_GET['id'])) {
                if (is_numeric($_GET['id'])) {
                    if (@mysql_query("delete from mensajes where id_comentario='" . $_GET['id'] . "'")) {
                        echo "<script>alert('Comment deleted');</script>";
                    } else {
                        echo "<script>alert('Error');</script>";
                    }
                }
            }
            
            $sql       = "select id_comentario from mensajes";
            $resultado = mysql_query($sql);
            $cantidad  = mysql_num_rows($resultado);
            
            echo '
            <div class="post">
                <h3>Comments : ' . $cantidad . '</h3>
                   <div class="post_body"><br>';
            if ($cantidad <= 0) {
                echo '<b>No entries found</b><br>';
            } else {
                echo "<table>";
                echo "<td><b>ID</b></td><td><b>Nick</b></td><td><b>Text</b></td><td><b>Option</b></td><tr>";
                
                while ($ver = mysql_fetch_array($re)) {
                    echo "<td>" . htmlentities($ver[0]) . "</td><td>" . htmlentities($ver[2]) . "</td><td>" . htmlentities($ver[1]) . "</td><td><a href=?id=" . htmlentities($ver[0]) . ">Delete</a></td><tr>";
                }
                
                echo "</table>";
                
            }
            
            echo '                <br></div>
            </div>';
            
            if (isset($_POST['new_word'])) {
                $in = $_POST['word'];
                if (@mysql_query("INSERT INTO insultos(id_insulto,mensaje)values(NULL,'$in')")) {
                    echo "<script>alert('Word added');</script>";
                } else {
                    echo "<script>alert('Error');</script>";
                }
            }
            
            if (isset($_GET['del_word'])) {
                if (is_numeric($_GET['del_word'])) {
                    if (@mysql_query("delete from insultos where id_insulto='" . $_GET['del_word'] . "'")) {
                        echo "<script>alert('Word deleted');</script>";
                    } else {
                        echo "<script>alert('Error');</script>";
                    }
                }
            }
            
            echo '
         <div class="post">
            <h3>Block words</h3>
            <div class="post_body"><br>
            ';
            
            echo "
<form action='' method=POST>
<b>Word : </b><input type=text name=word>
<input type=submit name=new_word style='width: 100px;' value=Add>
</form>";
            
            echo '
            <br>
            </div>
         </div>
         ';
            
            
            $sql       = "select id_insulto from insultos";
            $resultado = mysql_query($sql);
            $cantidad  = mysql_num_rows($resultado);
            
            echo '
         <div class="post">
            <h3>Words blocked : ' . $cantidad . '</h3>
            <div class="post_body"><br>
            ';
            
            $rea = mysql_query("select * from insultos order by id_insulto ASC");
            
            if ($cantidad <= 0) {
                echo '<b>No entries found</b><br>';
            } else {
                echo "<table>";
                echo "<td>ID</td><td>Word</td><td>Option</td><tr>";
                while ($ver = mysql_fetch_array($rea)) {
                    echo "<td>" . htmlentities($ver[0]) . "</td><td>" . htmlentities($ver[1]) . "</td><td><a href=?del_word=" . htmlentities($ver[0]) . ">Delete</a></td><tr>";
                }
                
                echo "</table>";
                
            }
            
            echo '
            <br>
            </div>
         </div>
         ';
            
        } else {
            
            echo '
            <div class="post">
                <h3>Installer</h3>
                   <div class="post_body">';
            
            echo "
<form action='' method=POST>
<h2>Do you want install DH Chat 0.5 ?</h2><br>
<input type=submit name=instalar style='width: 100px;' value=Install>
</form><br>";
            echo '                </div>
            </div>';
        }
        
        echo '  
   <br><h3>(C) Doddy Hackman 2015</h3><br>
   </center>
   </body>
</html>';
        
        mysql_close();
        exit(1);
        
    } else {
        echo "<script>alert('Fuck You');</script>";
    }
    
} else {
    echo '<meta http-equiv="refresh" content="0; url=http://www.petardas.com" />';
}

// The End ?

?>
style.css
/*

==-----------------------------------==
|| Name : DH Theme                   ||
|| Version : 0.8                     ||  
|| Author : Doddy H                  ||
|| Description: Templante            ||
|| Date : 14/1/2015                  ||
==-----------------------------------==

*/

body {
	background:transparent url("images/fondo.jpg") repeat scroll 0 0;
	color:gray;
	font-family:helvetica,arial,sans-serif;
	font-size:14px;
	text-align:center;
}

a:link {
	text-decoration:none;
	color:orange;
}
a:visited {
	color:orange;
}
a:hover {
	color:orange;
}

td,tr {
	border-style:solid;
	border-color: gray;
	border-width: 1px;
	background: black;
	border: solid #222 2px;
	color:gray;
	font-family:helvetica,arial,sans-serif;
	font-size:14px;
	text-align:center;
	
	word-wrap: break-word;
	word-break:break-all; 
}

input {
	border-style:solid;
	border-color: gray;
	border-width: 1px;
	background: black;
	border: solid #222 2px;
	color:gray;
	font-family:helvetica,arial,sans-serif;
	font-size:14px;
}

.post {
	background-color:black;
	color:gray;
	margin-bottom:10px;
	width:600px;
	word-wrap: break-word;
}

.post h3 {
	background-color:black;
	color:orange;
	background-color:#000;
	border: solid #222 2px;
	-webkit-border-radius: 4px;
	-moz-border-radius: 4px;
	border-radius: 4px;
	padding:5px 10px;
}

.post_body {
	background-color:black;
	margin:-20px 0 0 0;
	color:white;
	background-color:#000;
	border: solid #222 2px;
	-webkit-border-radius: 4px;
	-moz-border-radius: 4px;
	border-radius: 4px;
	padding:5px 10px;
}

/* The End ? */
chat.php
<?php

//DH Chat 0.5
//(C) Doddy Hackman 2015

// DB

$host = "localhost"; // Edit
$user = "root"; // Edit
$pass = ""; // Edit
$db   = "chat"; // Edit

//

error_reporting(0);

mysql_connect($host, $user, $pass);
mysql_select_db($db);

echo '<link href="chat.css" rel="stylesheet" type="text/css" />';

echo "<table border=0 width='210' style='table-layout: fixed'>";
echo "<td><b>DH Chat 0.5</b></td><tr>";


$sumo = mysql_query("SELECT MAX(id_comentario) FROM mensajes");

$s = mysql_fetch_row($sumo);

foreach ($s as $d) {
    $total = $d;
}

$test = $total - 10;

if ($test <= 0) {
    next;
} else {
    $resto = $test;
    
    for ($i = 1; $i <= $resto; $i++) {
        @mysql_query("DELETE FROM mensajes where id_comentario='$i'");
    }
}

$re = @mysql_query("select * from mensajes order by id_comentario DESC");

while ($ver = @mysql_fetch_array($re)) {
    echo "<td><b>" . htmlentities($ver[2]) . "</b> : " . htmlentities($ver[1]) . "</td><tr>";
}


echo "<br><br><td><br><b>Comment</b><br><br>    
<form action='' method=POST>
Nick : <input type=text name=apodo size=20><br><br>
Text : <input type=text name=msg size=20><br><br>
<input type=submit name=chatentro style='width: 100px;' value=Send>
</form>
<tr>
<td><b>Coded By Doddy H</b></td><tr>
</table>";


if (isset($_POST['chatentro'])) {
    
    $sumo = mysql_query("SELECT MAX(id_comentario) FROM mensajes");
    
    $s = mysql_fetch_row($sumo);
    
    foreach ($s as $d) {
        $x_id = $d + 1;
    }
    
    $apodo   = htmlentities(addslashes($_POST['apodo']));
    $mensaje = htmlentities(addslashes($_POST['msg']));
    
    $apodo   = substr($apodo, 0, 70);
    $mensaje = substr($mensaje, 0, 70);
    
    $rex = mysql_query("select mensaje from insultos");
    
    while ($con = mysql_fetch_array($rex)) {
        $mensaje = str_replace($con[0], "#$!*", $mensaje);
        $apodo   = str_replace($con[0], "#$!*", $apodo);
    }
    
    if (is_numeric($x_id)) {
        @mysql_query("INSERT INTO mensajes(id_comentario,apodo,mensaje)values('$x_id','$apodo','$mensaje')");
    }
    
    echo '<meta http-equiv="refresh" content=0;URL=>';
    
}

mysql_close();

// The End ? 

?>
chat.css
/*

==-----------------------------------==
|| Name : DH Theme                   ||
|| Version : 0.8                     ||  
|| Author : Doddy H                  ||
|| Description: Templante            ||
|| Date : 14/1/2015                  ||
==-----------------------------------==

*/

body {
	color:gray;
	font-family:helvetica,arial,sans-serif;
	font-size:14px;
	text-align:center;
}

a:link {
	text-decoration:none;
	color:orange;
}
a:visited {
	color:orange;
}
a:hover {
	color:orange;
}

td,tr {
	border-style:solid;
	border-color: gray;
	border-width: 1px;
	background: black;
	border: solid #222 2px;
	color:gray;
	font-family:helvetica,arial,sans-serif;
	font-size:14px;
	text-align:center;
	
	word-wrap: break-word;
	word-break:break-all; 
}

input {
	border-style:solid;
	border-color: gray;
	border-width: 1px;
	background: black;
	border: solid #222 2px;
	color:gray;
	font-family:helvetica,arial,sans-serif;
	font-size:14px;
}

.post {
	background-color:black;
	color:gray;
	margin-bottom:10px;
	width:600px;
	word-wrap: break-word;
}

.post h3 {
	background-color:black;
	color:orange;
	background-color:#000;
	border: solid #222 2px;
	-webkit-border-radius: 4px;
	-moz-border-radius: 4px;
	border-radius: 4px;
	padding:5px 10px;
}

.post_body {
	background-color:black;
	margin:-20px 0 0 0;
	color:white;
	background-color:#000;
	border: solid #222 2px;
	-webkit-border-radius: 4px;
	-moz-border-radius: 4px;
	border-radius: 4px;
	padding:5px 10px;
}

/* The End ? */
test.php
<body background="test.jpg">

<?php

include("chat.php");

?>
Si quieren bajar el programa lo pueden hacer de [Enlace externo eliminado para invitados].

Cualquier sugerencia para mejorar este proyecto diganla para mejorar.

Saludos.
Responder

Volver a “PHP”