Foros del Web » Programando para Internet » PHP »

Pregunta

Estas en el tema de Pregunta en el foro de PHP en Foros del Web. Hola,miren en mi página web,tengo hecho un foro y un libro de visitas...pero no quiero darle la opción al usuario de elejir el "Autor" del ...
  #1 (permalink)  
Antiguo 29/05/2005, 09:48
Saldu
Invitado
 
Mensajes: n/a
Puntos:
Pregunta

Hola,miren en mi página web,tengo hecho un foro y un libro de visitas...pero no quiero darle la opción al usuario de elejir el "Autor" del tema,o del mensaje en el libro de visitas.Porque estas 2 cosas están dentro de mi sistema de autentificación,es decir,para utilizarlos,o para poder acceder a ellos,debes ser un usuario registrado en la pág...por lo tanto lo que yo quiero es que cuando firmen,directamente,en dónde dice autor aparezca "mengano",se entiende?

Cómo puedo hacer para que cuando firmen directamente aparezca todo registrado,un ejemplo? este foro,a mi no me dan para elejir el nombre de usuario,directamente aparezco como saldu a la hora de escribir un mensaje...es una tontería quizás,pero sería muy útil...gracias...
  #2 (permalink)  
Antiguo 29/05/2005, 10:10
Avatar de spider_boy  
Fecha de Ingreso: diciembre-2003
Ubicación: Chile
Mensajes: 1.855
Antigüedad: 20 años, 11 meses
Puntos: 89
hace mucho no posteaba por aquí :P...

pues esto utilizo yo... (sesiones)

<input type="text" value=".$_SESSION['nick']." readonly>

de esta forma escribe en el input el nombre de la sesión... y el readonly es solo para que se pueda leer (no se puede modificar)...

o sino como un hidden, para que no se vea el input..

<input type="hidden" value=".$_SESSION['nick'].">

espero te sirva... (obviamente lo incluyes en el formulario y lo envias)

es algo básico, pero sirve :P
  #3 (permalink)  
Antiguo 29/05/2005, 12:25
Saldu
Invitado
 
Mensajes: n/a
Puntos:
Entonces,para que en el libro de visitas,me quede registrado en la tabla de libro de visitas el usuario que firmó,osea,que me ponga directamente quien lo escribíó y después se sume en la tabla en la db...

quedaría asi

<form name=librovisitas action="index.php" method="post">
<table width="100%" cellspacing="0" cellpadding="0" border="0">
<tr>
<td class=titcol>&nbsp;<b>Dej&aacute; tu Comentario!</b></td>
</tr>
<tr>
<td>
<table width="100%" cellspacing="0" cellpadding="0" border="0">
<tr>

<td ALIGN=CENTER class=fuente8 valign="middle">
Deje su comentario <br>
<textarea name="comentario" cols="30" rows="7"></textarea>
</td>
</tr>
<tr>
<td colspan=2 align=center class=fuente8>
<br>

<input type="hidden" value=".$_SESSION['nick'].">
<input type="submit" value=" Enviar la firma al libro de visitas ">
</td>
</tr>
</table>
</td>
</tr>
</table>
</form>

¿? Pero luego en el index.php.que es dónde proceso los datos,cómo hago para que:

<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>
<td class=fuente8 valign="top">
<?echo strip_tags($damefila->comentario)?>
<td valign="top" align="right" nowrap class=fuente8>

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

Se me muestre el nombre el usuario...y que despues acá se me suba a la tabla?

//Generamos la ssql e insertamos el registro
$ssql = "INSERT INTO librovisitas_php (comentario) VALUES ('" . $comentario . "')";
//echo $ssql . "<p>";
mysql_query($ssql,$conn);
?>


Me explico? gracias
  #4 (permalink)  
Antiguo 30/05/2005, 03:08
Avatar de jam1138
/** @package Moderador */
 
Fecha de Ingreso: julio-2004
Ubicación: sèveR led onieR lE
Mensajes: 9.368
Antigüedad: 20 años, 3 meses
Puntos: 102
Cita:
Iniciado por spider_boy
(...) readonly es solo para que se pueda leer (no se puede modificar)...

o sino como un hidden, para que no se vea el input..

<input type="hidden" value=".$_SESSION['nick'].">
... de hecho como estás manejando sesionesno necesitas hacer eso... tu variable de sesión se va arrastrando hasta que la destruyas... aunque no la imprimas. Por lo tanto tampoco es necesario imprimirla como un elemento del formulario: sigamos utilizando como referencia este foro, no utiliza un campo del formulario.. un simple echo "Sesión iniciada como ".$_SESSION['var_nombre'];.... obviamente solo hago un "supuesto" ignoro las variables que manejen...



Saldu: ... verás que si entiendes las sesiones no tendrás problemas... básicamente solo se trata de buscar una variable de sesión y se ahí actuar de cierta forma... ejemplos:
Se quiere mostrar la el textarea SOLO SI ESTA LOGUEADO:
Código PHP:
<?php
session_start
();
?>
Todo el libro de visitas
<?php
if(isset($_SESSION['user'])) {
?>
El textarea
<?php
} else {
// no es necesaro un else... :-D ni recomendable en este caso... pero... solo como ejemplo
     
echo "Necesitas loguearte para añador comentarios";

}
?>
... en el proceso donde añades el comentario puedes tener algo como:
Código PHP:
<?php
session_start
():
if(!isset(
$_SESSION['user'])) {
      
header("Location:loguin.php");
} else {
      
$query"INSERT INTO comentarios VALUES ('', '".$_POST['comentario']."', '".$_SESSION['user']."')";
// chekese como el usuario no lo recojemos de un formulario sino directamente de la sesión
// todo lo demás
      
echo "Su comentario ha sido guardado";
}
?>
www.php.net/session
... y básicamente es eso... más un poco de organización tuya para ver si manejarás una relación (responder tema) ó para ahorrar recursos (guardar solo id del usuario)... etc...

Ahora bien... un libro de visitas en el cuál tienes que registrarte??? ... eso está fuera de concepto , ya no sería libro de visitas... sería un libro de comentarios ... casi un foro :-p... hermano, un libro de visitas debe estar abierto a todo público... para eso es... pero bueno...

Suerte!
PD: Visita las FAQ sobre sesiones... están muy bien explicadas.
__________________
٩(͡๏̯͡๏)۶
» Cómo hacer preguntas de manera inteligente «

"100 años después, la revolución no es con armas, es intelectual y digital"

Última edición por jam1138; 30/05/2005 a las 03:13
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:57.