Foros del Web » Programando para Internet » PHP »

Problema Creacion de un foro en PHP

Estas en el tema de Problema Creacion de un foro en PHP en el foro de PHP en Foros del Web. Hola a todos, he descubierto esta pagina en mi andadura por la red buscando ejemplos de foros creados con php. Estoy creando uno de ellos, ...
  #1 (permalink)  
Antiguo 10/04/2009, 06:08
 
Fecha de Ingreso: abril-2009
Mensajes: 4
Antigüedad: 15 años, 7 meses
Puntos: 0
Problema Creacion de un foro en PHP

Hola a todos, he descubierto esta pagina en mi andadura por la red buscando ejemplos de foros creados con php. Estoy creando uno de ellos, muy simple, para aprobar una asignatura, pero me quede atascado.

Necesitaria info sobre como conseguir que varios temas que tengo guardados en una base de datos (con campos id, titulo, fecha, y creador) aparezcan todos en una misma pagina como en un foro, donde luego puedas elegir tu un tema...

se que con un while + mysql_fetch_array saco todos los datos y los imprimo por pantalla (ya lo consegui) ... pero no se como hacer que el titulo de cada tema, sea un link que me lleve a otro php (mostrartema.php) y que en este php, solo muestre ese tema que pulsó el usuario con sus respuestas (guardadas en otra tabla de la base de datos), y no cualquier otro...

Mas o menos el problema es que no se como pasar el valor ID del tema elegido, hacia el otro php...

Se con un formulario hacer algo parecido con listas desplegables y eso... pero no me sirve ya que tienen que ser enlaces normales como los de un foro, no me sirven buttons ni options...

Espero haber sido conciso en mi duda :P y gracias de antemano!
  #2 (permalink)  
Antiguo 10/04/2009, 06:12
Avatar de OsSk4R  
Fecha de Ingreso: octubre-2006
Ubicación: $this->home
Mensajes: 824
Antigüedad: 18 años, 1 mes
Puntos: 74
Respuesta: Problema Creacion de un foro en PHP

Para pasar el valor ID usa $_GET y luego seria comprobarlo con where....

Entre otras cosas, lo mejor seria echarle un buen vistazo a esto:
http://www.forosdelweb.com/f18/aport...on-php-562869/

Saludos,
  #3 (permalink)  
Antiguo 10/04/2009, 06:23
 
Fecha de Ingreso: abril-2009
Mensajes: 4
Antigüedad: 15 años, 7 meses
Puntos: 0
Respuesta: Problema Creacion de un foro en PHP

pero los datos que envian $_POST y $_GET son los que salen de formularios no?
la cosa es que no se como conseguir que palabras normales sacadas de una base de datos, sean parte de un formulario... ya que solo encontre botones, listas desplegables, checkboxes, radios... pero no encontre una etiqueta para texto normal en el q le pueda poner "name" para luego llamarlo en el otro php con $_POST['name']...
  #4 (permalink)  
Antiguo 10/04/2009, 07:24
Avatar de NUCKLEAR
Moderador radioactivo
 
Fecha de Ingreso: octubre-2005
Ubicación: Cordoba-Argentina
Mensajes: 5.688
Antigüedad: 19 años
Puntos: 890
Respuesta: Problema Creacion de un foro en PHP

Para obtener una variable en tu pagina.php tienes que enviarla por get de esta manera

www.tuforo.com/mostrartema.php?var=12

en mostrartema.php recibes la variable con get o request:

$_GET['var']; // aca tienes la id para hacer las consultas tambien puedes usar $_REQUEST['var'];

PD: Los formularios envian los datos por ambos metodos, con get los muestra en la barra de direcciones, y con post los envia ocultos.
__________________
Drupal Argentina
  #5 (permalink)  
Antiguo 10/04/2009, 08:09
 
Fecha de Ingreso: abril-2009
Mensajes: 4
Antigüedad: 15 años, 7 meses
Puntos: 0
Respuesta: Problema Creacion de un foro en PHP

creo que no me explique bien ... :P vamos a ver... yo ya se para que sirve el get y el post y eso... la cosa es que eso solo lo podemos usar cuando en la pagina origen, se encuentra un formulario, en el que el user introduce o selecciona datos y pulsa un boton (submit) para enviar los valores del get y el post a la pagina destino...

Lo malo que en el foro no tengo un formulario, tengo simplemente un bucle while con mysql_fetch_array, con echos de los campos de la tabla "temas", dentro de tablas <table> haciendo mas o menos una estructura similar a la de un foro, ya que en un foro, para entrar en un hilo lo que pulsas es un hipervinculo normal, es decir, que ni es un boton, ni es un menu desplegable, ni es un checkbox ni nada parecido, por lo tanto, no encuentro la forma de usar el formulario (que es la unica manera que conozco de enviar datos de una pagina a otra) debido a que en el formulario no hay opcion para escribir enlaces normales como los de <a href...> y que tengan algun valor ademas...

Lo podria hacer creando un boton que se llame "entrar" en cada linea de tema, y al pulsar ese boton, si que se enviarian los datos... pero es que normalmente en los foros no hay botones, solo vinculos...

Espero haberme explicado mejor... de todas maneras, aqui teneis el codigo que empece...


Código:
<body>
<?php
$link = mysql_connect("localhost","******","*****") or die ("Error al conectar");
mysql_select_db("foro");

$sql = "select * from temas_foro";
$result = mysql_query($sql);
?>


<form action="mostrartema.php" method="post">
<table width="800" border="1">

<?php
while ($tema = mysql_fetch_array($result))
{
	$sql = "select count(respuesta_id) as numerores from respuesta_foro where tema_id = '".$tema['tema_id']."'";
	$numres = mysql_query($sql);
	$number = mysql_fetch_array($numres);
	
	?><tr>
	
		<td width="300"><?php echo $tema['tema_titulo'] ?> </td>
		<td width="200"><?php echo $tema['tema_fecha'] ?> </td>
		<td width="200"><?php echo $tema['tema_creador'] ?> </td>
		<td width="100"><?php echo $number['numerores'] ?> </td>
		
	</tr>
<?php
}

?>
</table>
</form>


</body>
Mi cometido es que al pulsar sobre cualquier valor $tema['tema_titulo'] que se haya imprimido en cada fila, me dirija hacia su hilo con correspondientes respuestas....
  #6 (permalink)  
Antiguo 10/04/2009, 13:28
 
Fecha de Ingreso: marzo-2009
Mensajes: 20
Antigüedad: 15 años, 8 meses
Puntos: 0
Respuesta: Problema Creacion de un foro en PHP

No necesitas crear ningún botón ni formulario, con un enlace puedes enviar las variables, (ojo no se como va esto de seguridad, yo lo uso y me funciona bien).

Me explico: tu generas el listado de temas con un while
Código:
<?php
while ($tema = mysql_fetch_array($result))
{
?>

<tr>
<td><?php echo $tema['tema_titulo'] ?> </td>
<td><?php echo $tema['tema_fecha'] ?> </td>
<td><?php echo $tema['tema_creador'] ?> </td>
<td><?php echo $number['numerores'] ?> </td>
<td>>
<a href=”<?php echo $PHP_SELF.'mostrartema.php?var_1='.$tema['id']. '&var_2='.$tema['otracosa'] ?>” > Ver Tema </a></td>
<?php
}
?>
Ojo con el uso de las comillas

Luego lo recibes en la página mostrartema.php con GET



Código:
<?php
if(isset($_GET['var_1']) && $_GET['var_2'])

{
	$recibo_var1 = $_GET['var_1'];
	$recibo_var2 = $_GET['var_2'];

Ya luego haces el nuevo SELECT con los datos recibidos

}
?>
Creo que eso es lo que quieres… espero quede claro y te sirva.
  #7 (permalink)  
Antiguo 10/04/2009, 13:35
Avatar de OsSk4R  
Fecha de Ingreso: octubre-2006
Ubicación: $this->home
Mensajes: 824
Antigüedad: 18 años, 1 mes
Puntos: 74
Respuesta: Problema Creacion de un foro en PHP

En efecto, es como dice nestoroc, no hace falta poner un formulario o botón si no se quiere.

Mediante un enlace puedes enviar las variables mediante $_GET que es para lo que se usa.

$_GET es para enviar/recojer las variables a traves de una url y $_POST para recojerlas ocultas...

Respecto a lo de seguridad... pues yo lo que haria, es luego modificar todas las url con mod_rewrite o en su defecto, esas variables que se pasan por url, codificarlas.

Nose, pero al menos asi consigues tenerlo todo un poco mas "escondido"...

Saludos,
  #8 (permalink)  
Antiguo 10/04/2009, 13:39
Avatar de Ronruby  
Fecha de Ingreso: julio-2008
Ubicación: 18°30'N, 69°59'W
Mensajes: 4.879
Antigüedad: 16 años, 4 meses
Puntos: 416
Respuesta: Problema Creacion de un foro en PHP

No hay porque esconder las variables que traen el ID del tema a mostrar, es inútil, no son datos "sensibles". Solamente asegúrate que el script que recoge la variable use alguna función para evitar la inyección SQL.
  #9 (permalink)  
Antiguo 11/04/2009, 10:55
 
Fecha de Ingreso: abril-2009
Mensajes: 4
Antigüedad: 15 años, 7 meses
Puntos: 0
Respuesta: Problema Creacion de un foro en PHP

Ante todo muchas gracias a todos por contestar!
Siii nestoroc le diste en el clavo! (o eso creo, luego lo probare pero tiene pinta de que es eso)

La seguridad no es un tema que me importe mucho en este momento, ya visteis que el codigo es muy muy basico el que estoy usando, ya que no tengo nivel :) con que funcione el foro me siento por satisfecho ya que no lo colgare ni nada, solo es un ejercicio de clase para recuperacion

De nuevo mil gracias a todos!
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 21:36.