Foros del Web » Programando para Internet » PHP »

Problema para crear tagboard o shoutbox

Estas en el tema de Problema para crear tagboard o shoutbox en el foro de PHP en Foros del Web. Hola a todos, Les queria hacer una pregunta hacerca de como crear un tagboard. La cosa es que el tag board muestra todo lo que ...
  #1 (permalink)  
Antiguo 25/02/2008, 11:50
 
Fecha de Ingreso: diciembre-2007
Mensajes: 274
Antigüedad: 16 años, 5 meses
Puntos: 0
Exclamación Problema para crear tagboard o shoutbox

Hola a todos,

Les queria hacer una pregunta hacerca de como crear un tagboard.

La cosa es que el tag board muestra todo lo que escribo de forma perfecta es decir. Todo lo ue escribo desde MySQL me lo toma. Pero cuando escribo por medio de estas funciones no me lo tomas. Aver si explico mejor lo que hago o quiero que haga.


En MySQl tengo una tabla con tres campo

id con auto increment
user
mensaje



EL TAGBOARD muestea las primeros 10 texto que encuentra y .Cuando un usuario inicia una session con el login, a la session la guardo con la variable valid_user y en esa guardo el nombre del usuario. Entonces cuando se conecta le tiene el permiso de escribir en el tagboard.Hay la persona escribe y se muestra el mensaje entre los primeros deiz

Código PHP:
<?
$db 
mysql_connect("localhost""root""0002085523");
 
mysql_select_db("juego"$db);
 
$query "select * from tagboard " or die (mysql_error());
 
$resultado mysql_query($query,$db);

 
$num_resultados mysql_num_rows($resultado);
 
$numero2=$num_resultados 10;

  
$query "select * from tagboard where id>='$numero2'" or die (mysql_error());
 
$resultado mysql_query($query,$db);

   for (
$i=$num_resultados$i >=$numero2 $i--)
  {
     
$row mysql_fetch_array($resultado);
     
?>
     <table border=2 bordercolor=green bgcolor=lightgreen width=23%><td>


     <?

     
echo "<font color=red>".stripslashes($row["user"])."$i</font><br>";
     echo 
stripslashes($row["mensaje"])."</td>";



}
echo 
"</table>";
}
Hay esta el codigo con eso muestro la informacion que he guardado en la base de datos
Con el LOOK FOR hago que la informacion se muestre de forma desendente hasta que llegue a 10.


Hasta ahi todo bien y facil. Ahora yo quiero que escriban las personas no registradas o sin login solo puedan ver lo que dicen y las registradas puedan ver y escribir para eso uso la funcion session_is_registered

Código PHP:
<?
session_start
();

  if (
session_is_registered("valid_user"))
{
?>
     <form action=index.php method=post>
     <input tipe=text name=msj>
     <input type=submit value=OK>
     </form>
<?
Entonces si esta conectado muestra el dodigo HTML que le permite escribir.

FACIL,FACIL y SIN ERRORES, hasta haora.



Aca el problema miren cuado la persona escribió el mensaje, y toca enviar el proceso no me lo toma prtobe con TODO TODO TODO peri no sale miren aqui la parte ue no sale

Código PHP:
<?

$msj
=$HTTP_POST_VARS[msj];


$db mysql_connect("localhost""root""0002085523");
mysql_select_db("juego");
$query "insert into tagboard values('".NULL."','$valid_user','".$msj."') " or die (mysql_error());
$resultado mysql_query($query);
 if (!
$resultado)
 {
  return 
"Problemas al conectarse con el servidor intentelo mas tarde<br><br></a>";

  }
}

No se e guarda el codigo que manda el usuario probe TODO igual la parte que dice


Código PHP:
('".NULL."','$valid_user','".$msj."'
Probe con comillas sin comillas,con comillas simples de todo pero no sale.

Bueno algo mas si alguien puede decir como hacer para que cada 20 letras la computadora haga un <br> haci el break se para y me ayudaria mucho

por ejemplo:

El usuario escribe 20 <br>
Y aparece un break






P.D:Aqui el code completo son 2 funciones todavia no funciona.
P.D2: INCLUDE_ONCE("todo.php") es com si fuera el index.html

Código PHP:
<?
function tagboard()
{


 
$db mysql_connect("localhost""root""0002085523");
 
mysql_select_db("juego"$db);
 
$query "select * from tagboard " or die (mysql_error());
 
$resultado mysql_query($query,$db);

 
$num_resultados mysql_num_rows($resultado);
 
$numero2=$num_resultados 10;

  
$query "select * from tagboard where id>='$numero2'" or die (mysql_error());
 
$resultado mysql_query($query,$db);

   for (
$i=$num_resultados$i >=$numero2 $i--)
  {
     
$row mysql_fetch_array($resultado);
     
?>
     <table border=2 bordercolor=green bgcolor=lightgreen width=23%><td>


     <?

     
echo "<font color=red>".stripslashes($row["user"])."$i</font><br>";
     echo 
stripslashes($row["mensaje"])."</td>";



}
echo 
"</table>";
}

function 
guardar()
{
session_start();

  if (
session_is_registered("valid_user"))
{
?>
     <form action=index.php method=post>
     <input tipe=text name=msj>
     <input type=submit value=OK>
     </form>
<?

$msj
=$HTTP_POST_VARS[msj];


$db mysql_connect("localhost""root""0002085523");
mysql_select_db("juego");
$query "insert into tagboard values('".NULL."','$valid_user','".$msj."') " or die (mysql_error());
$resultado mysql_query($query);
 if (!
$resultado)
 {
  return 
"Problemas al conectarse con el servidor intentelo mas tarde<br><br></a>";

  }
}
else
{
include_once(
"todo.php");
exit;
}

}


?>
Si alguien me puede ayudar gracias

Última edición por luks77; 25/02/2008 a las 12:00
  #2 (permalink)  
Antiguo 25/02/2008, 12:15
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Re: Problema para crear tagboard o shoutbox

Para forzar un <br /> cada 20 palabras usa la función wordwrap. Tu otro problema es que es mejor utilizar $_SESSION['valid_user'] en lugar de $valid_user directamente.

Saludos.
  #3 (permalink)  
Antiguo 25/02/2008, 17:55
 
Fecha de Ingreso: diciembre-2007
Mensajes: 274
Antigüedad: 16 años, 5 meses
Puntos: 0
Re: Problema para crear tagboard o shoutbox

Gracias, ahora tengo un problema mas, No puedo recuperar el msj del codigo HTML es decir ni por HTTP_POST_VARS ni por HTTP_REQUEST_VARS alguien me puede ayudar a recuperar el code



Código:
     <form action=index.php method=post> 
     <input tipe=text name=msj> 
     <input type=submit value=OK> 
     </form>
  #4 (permalink)  
Antiguo 25/02/2008, 17:59
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Re: Problema para crear tagboard o shoutbox

El tipo de campo esta incorrecto, el correcto es:
Código HTML:
<input type="text" name="msj"> 
Lo rescatas por $_POST['msj']

Saludos.
  #5 (permalink)  
Antiguo 25/02/2008, 20:10
 
Fecha de Ingreso: diciembre-2007
Mensajes: 274
Antigüedad: 16 años, 5 meses
Puntos: 0
Re: Problema para crear tagboard o shoutbox

Y Como hago para ponerlo en orden desendente porque no me lo toma y no se porque.

Es decir que sea del id mas alto al mas bajo y que solo muestre los 10 primeros id.

GRACIAS

Última edición por luks77; 26/02/2008 a las 09:09
  #6 (permalink)  
Antiguo 25/02/2008, 20:45
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Re: Problema para crear tagboard o shoutbox

Tu query hazlo así:
Código PHP:
$query "select * from tagboard where id>='$numero2' ORDER BY id DESC LIMIT 10" or die (mysql_error()); 
Saludos.
  #7 (permalink)  
Antiguo 26/02/2008, 09:12
 
Fecha de Ingreso: diciembre-2007
Mensajes: 274
Antigüedad: 16 años, 5 meses
Puntos: 0
Re: Problema para crear tagboard o shoutbox

La ultima y termino todo el codigo me quedo haci

Código PHP:
<?
function tagboard()
{
 
escribir();

 
$db mysql_connect("localhost""root""0002085523");
 
mysql_select_db("juego"$db);
 
$query "select * from tagboard " or die (mysql_error());
 
$resultado mysql_query($query,$db);

 
$num_resultados mysql_num_rows($resultado);
 
$numero2=$num_resultados 10;

     
$query "select * from tagboard where id>='$numero2' ORDER BY id DESC LIMIT 10" or die (mysql_error());
     
$resultado mysql_query($query,$db);

     for (
$i=$numero2$i <=$num_resultados ;$i++)
     {
     
$row mysql_fetch_array($resultado);
     
?>
<div align="left">     <table border=2 bordercolor=green bgcolor=lightgreen width=75%><td>


     <?

     
echo "<font color=red>".stripslashes($row["user"])."</font><br>";

           
$tag_mensajestripslashes($row["mensaje"]);
          
$nuevo_texto wordwrap($tag_mensaje8"<br> \n"5);
          echo 
"$nuevo_texto </td>";


}
echo 
"</table></table></table></div>";
}
Si yo quiero agregar esta imagen como fondo del shoutbox como hago

LINK

http://img352.imageshack.us/img352/386/shoutboxbq0.png

GRACIAS.

Última edición por luks77; 26/02/2008 a las 14:18
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 22:50.