Enero 24, 2018, 01:52:30 am

Autor Tema: [PHP] DH Chat 0.5  (Leído 3346 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado BigBear

  • Yo vivo en CPH
  • ***
  • Mensajes: 736
  • Sexo: Masculino
    • Ver Perfil
[PHP] DH Chat 0.5
« en: Diciembre 04, 2015, 09:24:28 am »
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 :



Los codigos :

index.php

Código: (php) You are not allowed to view links. Register or Login
<?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

Código: (php) You are not allowed to view links. Register or Login
<?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

Código: (css) You are not allowed to view links. Register or Login
/*

==-----------------------------------==
|| 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

Código: (php) You are not allowed to view links. Register or Login
<?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($apodo070);
    
$mensaje substr($mensaje070);
    
    
$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

Código: (css) You are not allowed to view links. Register or Login
/*

==-----------------------------------==
|| 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

Código: (php) You are not allowed to view links. Register or Login
<body background="test.jpg">

<?php

include("chat.php");

?>


Si quieren bajar el programa lo pueden hacer de You are not allowed to view links. Register or Login.

Cualquier sugerencia para mejorar este proyecto diganla para mejorar.

Saludos.

Desconectado alexmanycool

  • Me das tu IP?
  • *
  • Mensajes: 60
    • Ver Perfil
Re:[PHP] DH Chat 0.5
« Respuesta #1 en: Agosto 05, 2016, 01:39:57 am »
Este es el segundo código que veo tuyo, salvando los problemas que marqué en el anterior, este es aún más... no sabría como decirlo, que el anterior.

Este es un código que en un entorno real no habría forma de que funcione correctamente. el dinamismo de un chat es completamente diferente a lo que muestra tu codigo, esto antes que ser un chat parece un muro para dejar mensajes.

Al margen de eso  aunque refrezcaras la página o lo hicieras con ajax, realizar un chat de esta forma es ridiculamente burdo, y no podría aplicarse porque el consumo sería exagerado.

Para completar, utilizas adslashes para filtrar las entradas, algo que en la documentación de php está aclarado que para sentencias sql no es conveniente (puedes revisarlo aquí: You are not allowed to view links. Register or Login).

Reitero mi recomendación, deberías centrarte en un lenguaje y en hacer las cosas bien, seguras, y enfocadas a resolver problemáticas en ambientes reales, en vez de hacer multitud de codigos de pobre calidad (por no decir mediocres) para resolver problemas utilizando mecanismos  obsoletos, funciones no recomendadas, y realmente no resolviendo nada. Aunque si buscabas la forma de explicar como NO hacer un chat, este es un buen ejemplo.

No trato de insultarte, trato de marcarte que no es conveniente hacer los códigos así, y te estoy marcando cada punto en particular, me apoyo también en la documentación de php. Luego la gente opina que php es un desastre de lenguaje por los códigos que andan dando vueltas por ahí.

Si quieres hacer un webchat investiga como usar websockets, utiliza javascript, html, etc. y haz un demonio en php que conecte todo.
You are not allowed to view links. Register or Login tienes una librería propia para manipular websockets orientado a objetos.

Saludos cordiales, y lamento si te ofendí, solo estoy diciendo la verdad.
« Última modificación: Agosto 05, 2016, 01:42:08 am por alexmanycool »
You are not allowed to view links. Register or Login

Desconectado BigBear

  • Yo vivo en CPH
  • ***
  • Mensajes: 736
  • Sexo: Masculino
    • Ver Perfil
Re:[PHP] DH Chat 0.5
« Respuesta #2 en: Agosto 30, 2016, 10:03:53 am »
@alexmanycool : hola , recien leo tu mensaje , no quiero generar una discusion porque nisiquiera me interesa hablar contigo , pero si no te gusta lo que hago simplemente di por lo menos gracias por el tiempo dedicado y di las sugerencias que las acepto sin ningun problema , pero no digas : lo que haces siempre es **** y bla bla bla , es un simple chat , solo eso tiene pocas lineas y poco trabajo , nunca dije que es completo o que sea la hostia , solo cambia tu enfoque de decir las cosas , las sugerencias siempre las acepto.
« Última modificación: Agosto 30, 2016, 10:06:18 am por Doddy »

Desconectado seth

  • El mas real
  • G#
  • **
  • Mensajes: 7889
  • Sexo: Masculino
    • Ver Perfil
Re:[PHP] DH Chat 0.5
« Respuesta #3 en: Agosto 30, 2016, 03:52:51 pm »
te dio muy buen feedback y con respeto, cual es el problema? deberias aprender de lo que te dice y agradecer que se tomo el tiempo de escribir el post


Ves links a xd-blog.com.ar que no andan? buscalos en You are not allowed to view links. Register or Login

Desconectado BigBear

  • Yo vivo en CPH
  • ***
  • Mensajes: 736
  • Sexo: Masculino
    • Ver Perfil
Re:[PHP] DH Chat 0.5
« Respuesta #4 en: Agosto 31, 2016, 06:09:45 am »
@seth : Simple , solo me molesto esta parte :

Código: You are not allowed to view links. Register or Login
en vez de hacer multitud de codigos de pobre calidad (por no decir mediocres)

Como eh dicho las sugerencias siempre las tengo en cuenta , de hecho las anoto y no niego que tengo como 500 codigos publicados basicos pero no todo lo que eh hecho es asi , en mi github eh rescatado varios programas que me llevo tiempo , dedicacion y estudio hacerlos , eso es lo unico que me molesto ya lo eh dicho seth.
« Última modificación: Agosto 31, 2016, 06:11:52 am por Doddy »

Desconectado .xAk.

  • el engendro
  • Colaborador
  • ****
  • Mensajes: 7307
  • Sexo: Masculino
  • F0r3v3R NeWbI3
    • Ver Perfil
Re:[PHP] DH Chat 0.5
« Respuesta #5 en: Agosto 31, 2016, 06:08:17 pm »
 :D por supuesto, dudo que haya pegado un ojo a todos los códigos en la diversidad de lenguajes que nos ha presentado. Yo sí te agradezco los aportes, hay muchos muy interesantes.

Saludos
Is the truth out there?


xx
Un Chat en ASP

Iniciado por shevchenko

0 Respuestas
2849 Vistas
Último mensaje Agosto 28, 2008, 11:07:38 am
por shevchenko
xx
un chat

Iniciado por mxsoun

3 Respuestas
2471 Vistas
Último mensaje Diciembre 07, 2006, 08:14:51 am
por rafaelsk
xx
Chat

Iniciado por tecnoshadow

3 Respuestas
1775 Vistas
Último mensaje Agosto 26, 2010, 05:41:19 am
por pr0xyh4ck
xx
chat en php

Iniciado por ronaldvp2003

1 Respuestas
1816 Vistas
Último mensaje Febrero 05, 2007, 08:25:08 pm
por vart001
exclamation
Chat en tu Web!

Iniciado por K@0$

2 Respuestas
1288 Vistas
Último mensaje ſeptiembre 29, 2010, 09:18:55 pm
por JaAViEr
exclamation
chat irc cph

Iniciado por DaNNiXs

38 Respuestas
11613 Vistas
Último mensaje Abril 05, 2010, 02:09:16 pm
por alfragok
xx
chat

Iniciado por ActerMarking

1 Respuestas
1617 Vistas
Último mensaje Marzo 06, 2010, 12:18:21 pm
por NRagh
xx
Un Chat en ASP

Iniciado por Vassily

2 Respuestas
4092 Vistas
Último mensaje Noviembre 27, 2006, 08:46:58 am
por xXxskacrazyxXx
resuelto
Problemas con Chat

Iniciado por »NaSH

1 Respuestas
756 Vistas
Último mensaje Marzo 14, 2010, 04:34:24 am
por alexmanycool
question
Chat sin winsock

Iniciado por medawar

1 Respuestas
716 Vistas
Último mensaje Febrero 18, 2012, 07:43:21 pm
por OnTheCore