Foros del Web » Programando para Internet » PHP »

Problema con los anuncios

Estas en el tema de Problema con los anuncios en el foro de PHP en Foros del Web. Hola,buenas,quisiera mostrarles el formulario que tengo hecho para una especie de libro de visitas,pero simplemente quiero que en vez de funcionar como libro de visitas,me ...
  #1 (permalink)  
Antiguo 05/06/2005, 09:06
Saldu
Invitado
 
Mensajes: n/a
Puntos:
Problema con los anuncios

Hola,buenas,quisiera mostrarles el formulario que tengo hecho para una especie de libro de visitas,pero simplemente quiero que en vez de funcionar como libro de visitas,me funcione como un libro de anuncios,donde el usuario registrado anuncie algo,que le pasó en la vida y demás...
Bueno la cosa es así:

<table width="100%" cellspacing="0" cellpadding="0" border="0">
<tr>
<td class=titcol>&nbsp;<b>Dej&aacute; tu anuncio!</b></td>
</tr>
<tr>
<td class=fuente8>&nbsp;D&eacute;janos tu mensaje en el libro de visitas y danos tu opini&oacute;n del sitio
<br>
<br>
</td>
</tr>
<tr>
<td>
<table width="100%" cellspacing="0" cellpadding="0" border="0">
<tr>

<td ALIGN=CENTER class=fuente8 valign="middle">
Deje su oferta de amistoso,o de jugadores en venta:
<br>
<textarea name="comentario" cols="30" rows="7"></textarea>
</td>
</tr>
<tr>
<td colspan=2 align=center class=fuente8>
<br>
<input type="submit" value=" Enviar la firma al libro de visitas ">
<input type="hidden" value=".$_SESSION['username'].">
</td>
</tr>
</table>
</td>
</tr>
</table>
</form>


El problema es este...Cada vez que hacen login en mi página,para hacer el login se toman los datos de la tabla "Usuarios" lo que yo quiero hacer,es que cuando el usuario deje su mensaje,o anuncio,en la tabla librovisitas_php:

CREATE TABLE `librovisitas_php`
(`id_librovisitas_php` int(11) unsigned NOT NULL auto_increment,
`comentario` text,
`username` varchar(255) NOT NULL default '',
PRIMARY KEY (`id_librovisitas_php`)) TYPE=MyISAM

Bueno,lo que yo quiero es que,tome el dato de la tabla usuarios,y en la tabla del libro de visitas que me aparezca,qué ID firmó,pero en que en el index.php me aparezca directamente el username....

y este es el index.php:

<html>
<head>
<title>Anuncios</title>
<link rel="STYLESHEET" type="text/css" href="estilo.css">
</head>
<body>
<br>
<table align="center" width="550" cellspacing="2" cellpadding="8" border="0" bgcolor="#ffffff">
<tr>
<td>
<h1>Anuncios!</h1>
<?
//conecto con la base de datos
$conn = mysql_connect("Localhost","root","");
mysql_select_db("Tryman",$conn);


if (!$HTTP_POST_VARS)
{
//si no recibo nada por el formulario de firma del libro, muestro las firmas del libro
//construyo la sentencia SQL
$ssql = "SELECT * FROM librovisitas_php";

//se mostrarán las últimas fimas, aunque habrá un enlace en la parte de abajo que se podrá pulsar para ver más firmas
if (isset($_GET["vermas"]))
$ssql .= " where id_librovisitas_php<=" . $vermas;

//ordeno la sentencia y limito el numero de resultados
$ssql .= " ORDER BY id_librovisitas_php desc limit 11";

//tomo el juego de resultados
$resultid = mysql_query($ssql,$conn);
?>

Aqu&iacute; es donde debes anunciar que est&aacute;s por vender algún jugador,o algo.Este es el sector de Anuncios,deja tus mensajes siempre y cuando sea para algo como,pedir partidos amistosos,o vender jugadores.Est&aacute; estrictamente prohibido dejar mensajes fuera de lo común,ya que para eso está el <A HREF="foro/index.php" style="cursor:crosshair" TARGET= "mainFrame">Foro.</A> &raquo;</A>
<br>
<br>
<span class=fuente8><b>Muchas gracias por tu colaboraci&oacute;n</b></span>
<br>
<br>
<?
//muestro los datos en un bucle
$num_filas = 0;
while (($damefila=mysql_fetch_object($resultid)) && ($num_filas<10))
{
?>
<table align="center" width="100%" cellspacing="2" cellpadding="0" border="0">

<tr><td bgcolor=cccccc colspan="2"><img src="images/pixeltrans.gif" width=1 height=1 border="0"></td></tr>
<?echo strip_tags($damefila->username)?>
<td class=fuente8 valign="top">
<?echo strip_tags($damefila->comentario)?>
<td valign="top" align="right" nowrap class=fuente8>

</td>
</tr>
</table>

<br>
<?
$num_filas++;
} //termina el bucle while

//si quedan más valoraciones en el conjunto de resultados, muestro el enlace de "Ver más"
if ($damefila)
echo "<div align=center><b><a href=\"index.php?vermas=$damefila->id_librovisitas_php\">Ver m&aacute;s mensajes</a></b></div><br>";

//libero el conjunto de resultados
mysql_free_result($resultid);

//incluyo el formulario para firmar
include ("formul_mensaje.html");
}
else
{
//estoy recibiendo datos del fomulario de firmas
//Formateamos un poco el formulario, por si acaso los datos son incorrectos

//eliminamos las etiquetas HTML y PHP de las cadenas de texto
$nombre = strip_tags($_POST["nombre"]);
$email = strip_tags($_POST["email"]);
$comentario = strip_tags($_POST["comentario"]);

//Cortamos las cadenas demasiado largas
$nombre=substr($nombre,0,150);
$email=substr($email,0,80);

//Comprobamos que el visitante se ha molestado en rellenar algo
if (strlen($nombre)==0 and strlen($email)==0 and strlen($comentario)==0)
{
?>
<div align="center"><b>Gracias por el envío</b>.<br><br>Te agradecer&iacute;amos, no obstante y si no resulta mucho esfuerzo, que rellenases alguno de los campos para dejar constancia de tu visita.</div>
<?
}else{
//si alguno de los campos falta prefiero colocar un guión o "sin comentarios"
if (!isset($_SESSION['username']))
if (!$email) $email="-";
if (!$comentario) $comentario="Sin comentarios";

//Generamos la ssql e insertamos el registro
$ssql = "INSERT INTO librovisitas_php (comentario,username) VALUES ('', '".$_POST['comentario']."', '".$_SESSION['username']."')";
//echo $ssql . "<p>";
mysql_query($ssql,$conn);
?>
<div align="center"><b>Muchas gracias por tu participaci&oacute;n</b></div>
<?
}
?>
<br>
<br>
<div align="center"><b><a href=".">Ver los dem&aacute;s anuncios</a></b></div>
<?
}

mysql_close($conn);
?>

</td>
</tr>
</table>
<br>

</body>
</html>


Sé que es muy largo,pero resalté con color las partes en las que se incorpora el nombre de usuario y todo eso...está mal hecho todo,por eso posteo aquí,para que los que sepan me ayuden a corregirlo,si concretan la respuesta seria de muchísima ayuda,gracias!!!
  #2 (permalink)  
Antiguo 05/06/2005, 11:31
 
Fecha de Ingreso: diciembre-2003
Mensajes: 213
Antigüedad: 20 años, 4 meses
Puntos: 0
buffffff. madre mia. yo lo siento, pero a mi tu pregunata en principio me parece demasiado larga. Casi pones una aplicacion entera ahi.....

Yo que tu intentaria preguntar algo mas concreto.

Me parece haber intuido tu pregunta entre tanta cosa y solo te puedo decir que para obtener un mensaje y quien lo escribio puedes hacer una consulta SQL formada con un JOIN entre las dos tablas, algo asi, pero con el nombre de tus tablas y campos y demas...

SELECT USUARIOS.NOMBRE, MENSAJES.TEXTO
FROM USUARIOS, MENSAJES
WHERE USUARIOS.IDUSUARIOS=MENSAJES.USUARIO
AND USUARIOS.IDUSUARIO= $_SESSION["username"]

no se espero que te sirva de algp. es que de verdad te digo que la pregunta es tan larga que da una pereza horrible leersela.

no se, tambien a primera vista me he fijado en que en los formularios te falta poner:

<form action="script.php" method="post">
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




La zona horaria es GMT -6. Ahora son las 00:42.