Autor Tema: Sistema de Mensajes [ShoutBox - Marquesina]  (Leído 5438 veces)

Conectado naveda

  • Administrador General
  • PHPero Master
  • *****
  • Mensajes: 2.282
  • Karma: 165
  • Sexo: Masculino
    • Ver Perfil
    • naveda.me
Sistema de Mensajes [ShoutBox - Marquesina]
« en: 05 de Enero de 2007, 13:27:21 pm »
Viendo que en un foro hay gente que se ha interesado mucho por este tema, me he ofrecido a crear este tutorial para saber como crear un buen Sistema de Mensajes :D

He creado todo el codigo en un mismo archivo donde se muestra la marquesina, el formulario y se interactua con la base de datos (extraccion e insercion de datos).

Antes de cualquier cosa debemos tener creada una tabla en la base de datos que se llame, por ejemplo, "marquesina". Para ello tenemos este codigo que la crea:

Código: [Seleccionar]
create table `marquesina`(
id int primary key auto_increment,
autor varchar(255) not null,
mensaje varchar(255) not null
);

marquesina.php
<?PHP
/* Aqui se conecta a la base de datos, cada uno como quiere.
Ejemplo:
include("conectar.php");
*/
	
if (isset(
$_POST[&#39;enviar&#39;])) {
	
	
if (isset(
$_POST[&#39;mensaje&#39;]) && isset($_POST[&#39;autor&#39;])) {
	
	
	
if (!empty(
$_POST[&#39;mensaje&#39;]) && !empty($_POST[&#39;autor&#39;])) {
	
	
	
	
$query "INSERT INTO `marquesina` (mensaje, autor) values (&#39;".$_POST[&#39;mensaje&#39;]."&#39;,&#39;".$_POST[&#39;autor&#39;]."&#39;)";
	
	
	
	
if (!
mysql_query($query)) {
	
	
	
	
	
echo &
#39;<script>alert("ERROR: No se ha enviado el mensaje");</script>&#39;;
	
	
	
	
}
	
	
	
}
	
	
}
	
}
	
function 
mostrar($limit) {
	
	
$query mysql_query("SELECT * FROM `marquesina` LIMIT ", isset($limit) ? $limit "30");
	
	
if (
mysql_num_rows($query)) {
	
	
	
$mensaje "";
	
	
	
while (
$mensajes mysql_fetch_array($query)) {
	
	
	
	
$mensaje .= $mensajes[&#39;autor&#39;].": ".$mensajes[&#39;mensaje&#39;]." || ";
	
	
	
}
	
	
	
return 
$mensaje;
	
	
} else {
	
	
	
return 
"No hay mensajes";
	
	
}
	
	
mysql_free_result($mensajes);
	
}
?>
<table border="0" cellpadding="0" cellspacing="0" width="100%">
	
<tr>
	
	
<td><marquee width="100%"><?=mostrar(10);?></marquee></td>
	
</tr>
	
<tr>
	
	
<td>
	
	
<table border="0" cellpadding="0" cellspacing="5" width="100%">
	
	
	
<tr>
	
	
	
<form method="post" action="<?=$_SERVER[&#39;PHP_SELF&#39;];?>">
	
	
	
	
<td width="1%"><input type="text" value="Mensaje" name="mensaje"></td>
	
	
	
	
<td width="1%"><input type="text" value="Autor" name="autor"></td>
	
	
	
	
<td><input type="submit" value="Enviar" name="enviar"></td>
	
	
	
</form>
	
	
	
</tr>
	
	
</table>
	
	
</td>
	
</tr>
</table>


No he probado el codigo, por favor probadlo ejjeje.
Puede que no entendais esta linea:
$query mysql_query("SELECT * FROM `marquesina` LIMIT ", isset($limit) ? $limit "30");
No os preocupeis, cuando edite el post e incluya la explicación, lo entendereis ^^.
Solamente diré que es una estructura condicional (isset($limit) ? $limit "30")

Muy pronto la explicación :D
« Última modificación: 05 de Enero de 2007, 13:41:45 pm por naveda »
Por favor, leete las Normas


Comunidad PHPeros

Sistema de Mensajes [ShoutBox - Marquesina]
« en: 05 de Enero de 2007, 13:27:21 pm »

Conectado naveda

  • Administrador General
  • PHPero Master
  • *****
  • Mensajes: 2.282
  • Karma: 165
  • Sexo: Masculino
    • Ver Perfil
    • naveda.me
Re: Sistema de Mensajes [ShoutBox - Marquesina]
« Respuesta #1 en: 05 de Enero de 2007, 13:41:26 pm »
Correcto
Por favor, leete las Normas


Desconectado BLISZ

  • PHPerit@
  • *
  • Mensajes: 38
  • Karma: 7
  • Sexo: Masculino
    • Ver Perfil
Re: Sistema de Mensajes [ShoutBox - Marquesina]
« Respuesta #2 en: 05 de Enero de 2007, 13:42:16 pm »
Solamente diré que es una estructura condicional (isset($limit) ? $limit "30")

Muy pronto la explicación :D

No vi eso xD explicalo tu si es lo que querias
Empty your mind, be formless, shapeless — like void*. If you put an int into a void*, it becomes the int. You put float into a void* it becomes the float. You put in a char it becomes the char. Now, void* can flow or it can overflow. Be void* my friend.

Desconectado kekoman

  • PHPero Master
  • ******
  • Mensajes: 1.180
  • Karma: 45
  • Sexo: Masculino
  • Mi nuevo usuario es marco811
    • Ver Perfil
Re: Sistema de Mensajes [ShoutBox - Marquesina]
« Respuesta #3 en: 05 de Enero de 2007, 15:21:02 pm »
me podrias decir donde pongo los datos mysql? el host, el usuario, la base de datos, la pass!  ??? ???  :)


Este usuario ya no lo uso, mi nuevo usuario es marco811

Desconectado JuAnCHO

  • PHPero Avanzado
  • ****
  • Mensajes: 327
  • Karma: 1
  • Sexo: Masculino
  • 33 Y Truco xD
    • Ver Perfil
Re: Sistema de Mensajes [ShoutBox - Marquesina]
« Respuesta #4 en: 05 de Enero de 2007, 15:36:53 pm »
me podrias decir donde pongo los datos mysql? el host, el usuario, la base de datos, la pass!  ??? ???  :)
No hace falta que pongas datos mysql.
Simplemente, subes la tabla :
Citar
create table `marquesina`(
id int primary key auto_increment,
autor varchar(255) not null,
mensaje varchar(255) not null
);
Al tenerla creada en tu base de datos, tendras que hacer que el codigo conecte a la db. No ?
Naveda ya ha puesto una manera de conectar ;)
PD : Claramente, el archivo conectar.php lo tendras que crear tu, pero vamos, que está tirao xD

-----------------------------------------------------------------
" A un gran corazón ninguna ingratitud lo cierra,
   ninguna indeferencia lo cansa ".

Desconectado Krosty

  • PHPer@
  • **
  • Mensajes: 75
  • Karma: 0
    • Ver Perfil
Re: Sistema de Mensajes [ShoutBox - Marquesina]
« Respuesta #5 en: 05 de Enero de 2007, 21:33:07 pm »
alguien que ya lo haya hecho apra ver el resultado?

Desconectado JuAnCHO

  • PHPero Avanzado
  • ****
  • Mensajes: 327
  • Karma: 1
  • Sexo: Masculino
  • 33 Y Truco xD
    • Ver Perfil
Re: Sistema de Mensajes [ShoutBox - Marquesina]
« Respuesta #6 en: 05 de Enero de 2007, 22:39:44 pm »
alguien que ya lo haya hecho apra ver el resultado?
Hazlo tu, solo tienes que subir archivos :S

-----------------------------------------------------------------
" A un gran corazón ninguna ingratitud lo cierra,
   ninguna indeferencia lo cansa ".

Desconectado kekoman

  • PHPero Master
  • ******
  • Mensajes: 1.180
  • Karma: 45
  • Sexo: Masculino
  • Mi nuevo usuario es marco811
    • Ver Perfil
Re: Sistema de Mensajes [ShoutBox - Marquesina]
« Respuesta #7 en: 05 de Enero de 2007, 23:12:08 pm »
gracias
y a que  base de datos se envian los datos ???
« Última modificación: 05 de Enero de 2007, 23:18:19 pm por kekoman »


Este usuario ya no lo uso, mi nuevo usuario es marco811

Desconectado JuAnCHO

  • PHPero Avanzado
  • ****
  • Mensajes: 327
  • Karma: 1
  • Sexo: Masculino
  • 33 Y Truco xD
    • Ver Perfil
Re: Sistema de Mensajes [ShoutBox - Marquesina]
« Respuesta #8 en: 06 de Enero de 2007, 06:24:46 am »
A la tuya. Debes definirla en el conectar.php o el nombre que le des.

-----------------------------------------------------------------
" A un gran corazón ninguna ingratitud lo cierra,
   ninguna indeferencia lo cansa ".

Desconectado kekoman

  • PHPero Master
  • ******
  • Mensajes: 1.180
  • Karma: 45
  • Sexo: Masculino
  • Mi nuevo usuario es marco811
    • Ver Perfil
Re: Sistema de Mensajes [ShoutBox - Marquesina]
« Respuesta #9 en: 06 de Enero de 2007, 09:23:40 am »
esto me dice :(
Código: [Seleccionar]
Warning: mysql_query(): supplied argument is not a valid MySQL-Link resource in /home/s0308794/public_html/marq/marquesina.php on line 17

Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /home/s0308794/public_html/marq/marquesina.php on line 18
No hay mensajes
Código: [Seleccionar]
Warning: mysql_query() [function.mysql-query]: Access denied for user 'nobody'@'localhost' (using password: NO) in /home/s0308794/public_html/marq/marquesina.php on line 10

Warning: mysql_query() [function.mysql-query]: A link to the server could not be established in /home/s0308794/public_html/marq/marquesina.php on line 10


Este usuario ya no lo uso, mi nuevo usuario es marco811

Conectado naveda

  • Administrador General
  • PHPero Master
  • *****
  • Mensajes: 2.282
  • Karma: 165
  • Sexo: Masculino
    • Ver Perfil
    • naveda.me
Re: Sistema de Mensajes [ShoutBox - Marquesina]
« Respuesta #10 en: 06 de Enero de 2007, 11:23:03 am »
¡DEBES CONECTAR A LA BASE DE DATOS!
Por favor, leete las Normas


Desconectado cuatox

  • PHPerit@
  • *
  • Mensajes: 42
  • Karma: -2
  • Estoy viendo como naveda programa alado de él xD
    • Ver Perfil
    • HN
Re: Sistema de Mensajes [ShoutBox - Marquesina]
« Respuesta #11 en: 06 de Enero de 2007, 15:51:13 pm »
Me pasa lo mismo.

Desconectado JuAnCHO

  • PHPero Avanzado
  • ****
  • Mensajes: 327
  • Karma: 1
  • Sexo: Masculino
  • 33 Y Truco xD
    • Ver Perfil
Re: Sistema de Mensajes [ShoutBox - Marquesina]
« Respuesta #12 en: 06 de Enero de 2007, 17:48:37 pm »
Tambien hay que daros la conexion a la db ?
Joaz ... xD

-----------------------------------------------------------------
" A un gran corazón ninguna ingratitud lo cierra,
   ninguna indeferencia lo cansa ".

Desconectado cuatox

  • PHPerit@
  • *
  • Mensajes: 42
  • Karma: -2
  • Estoy viendo como naveda programa alado de él xD
    • Ver Perfil
    • HN
Re: Sistema de Mensajes [ShoutBox - Marquesina]
« Respuesta #13 en: 06 de Enero de 2007, 18:23:38 pm »
Tambien hay que daros la conexion a la db ?
Joaz ... xD
Yo lo hize la conexión la copie desde el mc.
Pero da el error que dice kekoman

Desconectado WarezD@rK

  • PHPer@ Fijo
  • ***
  • Mensajes: 162
  • Karma: 8
  • Sexo: Masculino
  • Pasaba por aquí...
    • Ver Perfil
    • Ninguno
Re: Sistema de Mensajes [ShoutBox - Marquesina]
« Respuesta #14 en: 06 de Enero de 2007, 18:36:57 pm »
CONFIG.PHP

<?
$host 
"localhost";
$user "user";
$pass "pass";
$dbname "db";
$conecta mysql_connect($host$user$pass) or die("No se puede conectar con el servidor MySQL.");
mysql_select_db($dbname$conecta);
?>
Trabajando en mi actual proyecto.