Como desarrollador de PHP, a veces me piden que cree un cuadro de mensajes. Si te pasa lo mismo, aquí tienes una guía rápida. Obviamente querrás agregarle tu propio CSS arriba, pero esta es la idea básica.
Necesitamos una tabla de base de datos MySQL y tres archivos PHP.
Primero, necesitamos un archivo para guardar la información de la base de datos
---Archivo #1:mysql.inc.php---
<?php
#Simply Shouting-ejemplo de cuadro de gritos
# Nombre del archivo: mysql.inc.php
# Descripción: Un archivo para contener información de la base de datos.
$host ='localhost';
$usuario ='nombre_usuario_base_datos';
$contraseña='contraseña_usuario_base_datos';
$nombre ='nombre_base_datos';
?>
Cree una tabla de datos con cuatro campos. Le ponemos el nombre. Es posible que no tenga este archivo SQL antes, cree un archivo PHP "install.php". Después de usar este archivo una vez, ¡recuerde eliminarlo!
-- Archivo #2: install.php --
<?php
#Simply Shouting-ejemplo de cuadro de gritos
# Nombre del archivo: install.php
# Descripción: Crea la tabla de la base de datos.
// incluye el archivo de información de la base de datos.
include("mysql.inc.php");
//Conéctese a la base de datos
$conexión= @mysql_connect($host,$usuario,$contraseña) o die(mysql_error());
$db= @mysql_select_db($name,$connection) or die(mysql_error());
//Si ya tenemos una tabla llamada "shouts", primero debemos eliminarla.
$sql='DROP TABLE IF EXISTS `grita`';
$resultado= @mysql_query($sql,$connection) or die(mysql_error());
// Ahora asegúrate de que no haya ninguna tabla con el mismo nombre, créala
$sql='CREAR TABLA `grita` (
`id` int(11) NO NULL auto_increment,
`marca de tiempo` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
`shoutby` varchar(50) predeterminado NULL,
`gritar` varchar(50) predeterminado NULL,
CLAVE PRIMARIA `id` (`id`)
) TIPO=MyISAM AUTO_INCREMENT=1';
echo'Creando tabla: 'gritos'....';
// cerrar conexión
$resultado= @mysql_query($sql,$conexión) o morir(mysql_error());?>
<html>
<cabeza>
<title>Simply Shouting - Instalación</title>
</cabeza>
<cuerpo>
<br />
Su proceso de instalación está completo. Elimine todos los archivos de instalación de su servidor inmediatamente. Este programa contiene los siguientes archivos de instalación:<br />
<br />
1) instalar.php<br />
<br />
<br />
<!-- Podría simplemente enviarlos a index.php automáticamente, pero luego se preguntarían si se creó correctamente o no -->.
Haga clic <a href="index.php">aquí</a> para comenzar.</html>
Este es el archivo principal:
--- Archivo #3: index.php---
<?
#Simply Shouting-ejemplo de cuadro de gritos
# Nombre del archivo: index.php
# Descripción: Página principal para mostrar nuestros gritos.
//Contiene información de la base de datos.
include_once("mysql.inc.php");
//Conectarse a la base de datos
$conexión= @mysql_connect($host,$usuario,$contraseña) o die(mysql_error());
$db= @mysql_select_db($nombre,$conexión) o die(mysql_error());
?>
<html>
<cabeza>
<meta http-equiv="Tipo de contenido" content="text/html; charset=utf-8"><tipo de estilo="text/css">
<!--
cuerpo,td,th {
familia de fuentes: Verdana, Arial, Helvetica, sans-serif;
tamaño de fuente: 12px;
}
-->
</estilo><cuerpo>
<div style="ancho:500px;alto 400px; borde:ranura delgada #519554;">
<?
// Muestra los últimos 10 mensajes Primero, inicializa un contador.
$counting=0;
// necesitamos un contador porque quiero mostrar nuestros gritos en orden ASC
// (como una sala de chat)
$sql=mysql_query("SELECT * FROM `shouts`");
mientras($datos=mysql_fetch_array($sql)){
//cuenta cada fila
$contando=$contando+1;
} //finaliza mientras
// si el conteo es mayor que 10, seleccionamos el último
// 10 gritos para mostrar
if($counting>10){
$countlessten=$contando-9;
$sql=mysql_query("SELECCIONAR * DESDE `gritos` ORDEN POR `gritos`.`id` LÍMITE ASC $countlessten,10");
}demás{
//si no, no importa, ¡hay menos de 10!
$sql=mysql_query("SELECCIONAR * DESDE `gritos` ORDEN POR `gritos`.`id` ASC LIMIT 10");
}
mientras($datos=mysql_fetch_array($sql)){
//mi campo de marca de tiempo en la base de datos es básicamente inútil para mí a menos que
//Lo analizo. El siguiente código analiza la marca de tiempo en cosas que
//puede usar.
$marca de tiempo=$datos['marca de tiempo'];
$publicadoaño=substr($marca de tiempo,0,4);
$publicadomes=substr($timestamp,5,2);
$postedday=substr($timestamp,8,2);
$tiempo publicado=substr($marca de tiempo,11,5);
$newpostedtime="";
$nomilitary=substr($postedtime,0,2);
// la hora es mayor que 12, por lo que debemos volver a 1-12 y
// agrega un "pm"
si($nomilitar>=13){
$nomilitar=$nomilitar-12;
$newpostedtime=$nomilitar;
$newpostedtime.=":";
$newpostedtime.=substr($postedtime,3,2);
$newpostedtime.=" pm";
}
si($newpostedtime!=""){
$tiempopublicado=$nuevotiempopublicado;
}demás{
$postedtime.=" soy";
}
//ahora que tenemos tiempo, vamos a gritar y gritar
$shoutby=$data['shoutby'];
$gritar=$datos['gritar'];
echo$postedmonth."/".$postedday."/".$postedyear." en ".$postedtime." - <strong>".$shoutby." dijo: </strong>".$shout."<br ><br>";
// parece: 1/12/2008 a las 5:02 pm - Josh dijo: ¡Yo Yo Yo!
}
//a continuación se muestra el formulario HTML para crear los gritos
?>
<form id="newshout" name="newshout" action="newshout.php" método="post"><nombre de entrada="shoutby" type="text" id="shoutby" onClick="javascript:this.value =''" value="Ingrese su nombre aquí" size="24" maxlength="50" />
<br><br><input name="gritar" tipo="texto" id="gritar" onClick="javascript:this.value=''" value="¡Haga clic y grite!" size="24" maxlength= "50" />
<br><br><input id="enviar" nombre="enviar" tipo="enviar" valor="¡Gritar /></formulario>
</div>
</cuerpo>
</html>
Finalmente, necesitamos un archivo PHP para manejar el formulario
- Archivo #4: newsout.php -.
<?
#Simply Shouting-ejemplo de cuadro de gritos
# Nombre del archivo: noticiasout.php
# Descripción: Procese el formulario HTML en index.php y redirija
//Obtenga el nombre de la persona que dejó el mensaje.
$gritarpor=$_POST['gritarpor'];
if($shoutby=="Ingrese su nombre aquí"||$shoutby==""){
//Si no se ingresa ningún nombre
$shoutby="Visitante";
}
si($_POST['gritar']){
// Mensaje
if($_POST['shout'] !="¡Haz clic y grita!"){
//no gritaron el valor predeterminado, así que continúa procesando
$gritar=$_POST['gritar'];
//Reemplaza "<" y ">" para detener a los piratas informáticos
$gritar=str_replace("<"," ",$gritar);
$gritar=str_replace(">"," ",$gritar);
// Contiene información de datos
include_once("dbaccess.php");
//Conectarse a la base de datos
$conexión= @mysql_connect($host,$usuario,$contraseña) o die(mysql_error());
$db= @mysql_select_db($nombre,$conexión) o die(mysql_error());
//Insertar información del mensaje en la base de datos
$sql="INSERT INTO `gritos`(`shoutby`,`shout`) VALUES('$shoutby','$shout')";
//Cierra la conexión
$resultado= @mysql_query($sql,$conexión);
}
}
?>
<html>
<cabeza>
</cabeza>
<body onLoad="ventana.open('index.php','_self')">
</cuerpo>
</html>