Foros del Web » Programando para Internet » PHP »

marca dentro de la misma web pero distinta pagina?

Estas en el tema de marca dentro de la misma web pero distinta pagina? en el foro de PHP en Foros del Web. Hola gente yo de nuevo, me he topado con un dilemilla que es la de los formuularios. Veran tengo un formulario de envio "enviuar.php" la ...
  #1 (permalink)  
Antiguo 03/05/2011, 00:10
Avatar de alette666  
Fecha de Ingreso: febrero-2010
Ubicación: En la luna
Mensajes: 277
Antigüedad: 14 años, 2 meses
Puntos: 5
marca dentro de la misma web pero distinta pagina?

Hola gente yo de nuevo, me he topado con un dilemilla que es la de los formuularios.

Veran tengo un formulario de envio "enviuar.php" la cual al ser llenad y verificada (si esta todo correcto) este me muyestra un mensaje "LA PAGINA DICE: MENSAJE ENVIADO CON EXITO", luego de dicho segundos (antes de que se cierre el popup), me es redireccionado a la pagina padre (de dnd lo he llamado), asiendo que se refresque automaticamente.

La cosa es que lo que se va posteando se van grabando abajo; que es lo que quiero dercir? que cuando un usuario llena el form y este bvuelve a la pagina padre (volcando todo lo escrito del form); lo que no me hace es llevarme al comentario mas nuevo o sea que tengo que estar manualmente con la barrita del navegador llendo a 200 metros abajo para leer el comentario.

QUE ES LO QUE QUIERO?
Quiero que al terminar el formulario y enviarlo este me lleve hasta abajo de todo haciendome visualizar el comentario recien posteado:
  #2 (permalink)  
Antiguo 03/05/2011, 00:13
Avatar de alette666  
Fecha de Ingreso: febrero-2010
Ubicación: En la luna
Mensajes: 277
Antigüedad: 14 años, 2 meses
Puntos: 5
Respuesta: marca dentro de la misma web pero distinta pagina?

aca les dejo el codigo:

index.php
Código PHP:
<SCRIPT>
function aReload() {
location.reload(true);
}
function startReload() {
setTimeout("aReload()", 60000);
}
</SCRIPT>
<SCRIPT LANGUAGE="JavaScript">
function nuevocoment() { 
day = new Date(); 
id = day.getTime(); 
eval("page" + id + " = window.open('enviar.php', '" + id + "', 'toolbar=0,scrollbars=0,location=0,statusbar=0,menubar=0,resizable=0,width=370,height=460,left = 371.5,top = 152');"); 

</script> 
<link href="../../../modulos/estilo_request.css" rel="stylesheet" type="text/css" />
<title>Pedite un tema</title>
<body class="fondo_pag" onLoad="startReload();">
<table border="0" cellpadding="0" cellspacing="0" width="70%" align="center" class="fondo_tabla">
<tr>
<td class="fondo_pag"><span class="cabecera"><center>
Sistema de  solicitud de temas a la radio.
</center></span></td>
</tr>
<tr>
<td>
<?php
      $contador 
="comentarios/contador.txt"// decimos donde esta el contador 
      
$ag fopen($contador"r+"); // abrimos el contador 
    
$comentarios fread($agfilesize($contador)); //lo leemos y lo guardamos en una bariable 
      
fclose($ag);  // cerramos el contador 
      
echo '<span class="text_nav_cont">Hay en total: '.$comentarios.' Comentarios</span><p>';// ecribimos el total de comentarios
      
echo "<div align='right'><a href='' onclick='Javascript:nuevocoment()' class='alink'>Solicitar un tema</a>&nbsp;&nbsp;&nbsp;&nbsp;</div>"
if(
$comentarios == '0'){ // si el contador esta en 0 es que no hay nada 
echo '<span class="text_nav">No se han encontrado solicitudes pendientes.</span><br>'// le desimos que no hay comentarios 

else 
// y si no 

foreach (
glob("comentarios/*.php") as $comentari) { // vemos todos los archivos de la carpeta comentarios 
    
include ($comentari); // los incluimos 
   
$nombree strip_tags($nombre); // no permitimos etiquetas HTML 
   
$comentario strip_tags($comentario);// no permitimos etiquetas HTML
   
echo "<table width='80%' border='0'>";
   echo 
"<tr>";
   echo 
"<td width='71%'><span class='defination'>Hora:</span> <span class='block'>$hora</span></td>";//hora
   
echo "<td width='29%' align='right'><span class='defination'>Fecha:</span> <span class='block'>$fecha</span></td>";//fecha
   
echo "</tr><tr>";
   echo 
"<td colspan='2'><span class='defination'>De:</span> <span class='block'>$nombre</span></td>";//remitente
   
echo "</tr><tr>";
   echo 
"<td colspan='2'><span class='defination'>Para:</span> <span class='block'>$dedicado</span></td>";//destinado
   
echo "</tr><tr>";
   echo 
"<td colspan='2'><span class='defination'>artista / titulo:</span> <span class='block'>$artista</span> -- <span class='block'>$titulo</span></td>";//escribimos el artista y la cancion
   
echo "</tr><tr>";
   echo 
"<td colspan='2'><span class='defination'>Comentario:</span><br><span class='block'>$comentario</span></td>";//coment
   
echo "</tr>";
   echo 
"</table>";
   echo 
"<hr align='left' width='50%'><br>";// ponemos la barra separadora 
     

     }
   echo 
"<a href='' onclick='Javascript:nuevocoment()' class='alink'>Solicitar un tema</a>";// escribimos el link para mandar comentarios 
   
?>
</td>
</tr>
</table>
</body>
y el codigo del formulario.
enviar.php
Código PHP:
<meta http-equiv="Pragma" content="no-cache" > 
<script type="text/javascript" src="../../../modulos/jquery-1.4.2.min.js"></script>
<script type="text/javascript" src="../../../modulos/charCount.js"></script>
<script type="text/javascript" src="../../../modulos/character_counter.js"></script>
<link href="../../../modulos/estilo_form_envio.css" rel="stylesheet" type="text/css" />
<script type="text/javascript">
    $(document).ready(function(){
        //custom usage
        $("#comenta").charCount({
            allowed: 300,
            inter: 100,        
            warning: 50,
            counterText: 'Caracteres restantes: '    
        });
    });
</script>
<?php
if ($_POST['enviar'])  { // si se apreto el boton "Enviar" ejecutamos el codigo 
  
$archivo ="comentarios/contador.txt"// dicimos donde esta el contador 
  
$abre fopen($archivo"a+"); // lo abrimos 
$total fread($abrefilesize($archivo)); // lo leemos 
  
$code $total1// le sumamos 1 
  
fclose($abre); // y lo cerramos 
  
$fech strftime("%d-%m-%y"time()); // vemos que dia es hoy
  
$hora date("H:i:s"); //este es la funcion para la hora   
  
$comenta $_POST['comenta'];
  
//////////////////////////////////////
  //////////////////////////////////////
  
$dedicado $_POST['dedicado']; // vemos el nombre escrito 
  
if(empty($dedicado)){ // si el campo "Dedicado" esta vacio 
  
$dedic ''// lo dejamos vacio
  

  else
// y si no esta vacio 
  

  
$dedic $_POST['dedicado']; // le damos el nombre que puso 
  
}
  
//////////////////////////////////////
  //////////////////////////////////////
  
$nombre $_POST['nombre']; // vemos el nombre escrito 
  
if(empty($nombre)){ // si el campo "Nombre" esta vacio 
  
$us 'Anonimo'// lo llamamos "anonimo"
  

  else
// y si no esta vacio 
  

  
$us $_POST['nombre']; // le damos el nombre que puso 
  
}
  
//////////////////////////////////////
  //////////////////////////////////////
  
$artista $_POST['artista']; // vemos el nombre escrito 
  
if(empty($artista)){ // si el campo "Artista" esta vacio 
  
$artist ''// lo dejamos vacio
  

  else
// y si no esta vacio 
  

  
$artist $_POST['artista']; // le damos el nombre que puso 
  
}
  
//////////////////////////////////////
  //////////////////////////////////////
  
$titulo $_POST['titulo']; // vemos el nombre escrito 
  
if(empty($titulo)){ // si el campo "Titulo" esta vacio 
  
$titu ''// lo dejamos vacio
  

  else
// y si no esta vacio 
  

  
$titu $_POST['titulo']; // le damos el nombre que puso 
  
}
  
//////////////////////////////////////
  //////////////////////////////////////  
  
$jiw "comentarios/$code.php";// creamos el archivo 
 
@$aqw fopen($jiw"a+"); // lo abrimos 
  
$sssw "<? 
           \$nombre = '$us'; 
           \$comentario = '$comenta'; 
           \$fecha = '$fech';
           \$hora = '$hora';
           \$artista = '$artist';
           \$titulo = '$titu';
           \$dedicado = '$dedic';
           ?> "
;  
 @
$ghjw fwrite($aqw$sssw);  // lo escribimos 
  
fclose($aqw); // lo cerramos 
  
$abrea fopen($archivo"w"); // abrimos el contador 
  
$totala $total 1// sumamos 1 al contador 
  
$grabar fwrite($abrea$totala); // lo escribimos 
  
fclose($abrea); // y lo cerramos 
?> 
<title>Repuesta del Servidor</title>
<body onLoad="setTimeout('window.close()', 1000)"> <!--//CERRAMOS EL POP UP A LOS 1 SEGUNDOS//--> 
<script language="javascript">
opener.location.reload();
</script>
    <table width="306" border="1" cellpadding="2" cellspacing="2" bordercolor="#000000" bgcolor="#FFFFFF" align="center"> 
    <!--DWLayoutTable--> 
    <tr> 
      <td width="306" height="25"><div class="text_cab">Radio Luna Nueva dice:</div></td> 
    </tr> 
    <tr> 
      <td height="25"><div class="text_conf">Mensaje enviado correctamente.</div></td> 
    </tr> 
  </table> 

<? 
}else{ 
?> 
<title>Formulario de Envio</title>
<table width="306" height="136" border="1" align="center" cellpadding="2" cellspacing="2" bordercolor="#000000" bgcolor="#FFFFFF"> 
    <!--DWLayoutTable--> 
    <tr> 
      <td width="306" height="25"><div class="text_cab">Ingresa tu petici&oacute;n a la Web</div></td> 
    </tr> 
    <tr> 
      <td height="60"><form name="form1" method="post" action="<?=$_SERVER[QUERY_STRING]?>"> <!--prueva de (next)-->
  <span class="text_form">Nombre:</span> <span class="text_as">(*)</span><br> 
  <label> 
  <input name="nombre" type="text" id="nombre" class="campo"> 
  </label> 
  <br>
  <span class="text_form">Dedicado a:</span><br> 
  <label> 
  <input name="dedicado" type="text" class="campo" id="dedicado"> 
  </label>
  <br>
  <table border="0" cellpadding="0" cellspacing="0">
  <tr><td width="121">
  <span class="text_form">Autor:</span><br>
  <label> 
  <input name="artista" type="text" class="campo" id="artista" size="20"> 
  </label> 
</td>
  <td width="138">
  <span class="text_form">&nbsp;Titulo del tema:</span>
  <label> 
  &nbsp;<input name="titulo" type="text" class="campo" id="titulo" size="20"> 
  </label> 
  </td></tr>
  </table>
  <label><span class="text_form">Comentario:</span> <span class="text_as">(**)</span><br> 
  <textarea onKeyDown="ContarTexto(this.form.comenta,this.form.cajita,300)" onKeyUp="ContarTexto(this.form.comenta,this. form.cajita,300);" name="comenta" cols="40" rows="7" class="campo" id="comenta"></textarea>   
  </label> 
 <br><div align="right"><label for="comenta" class="counter"></label><!--/caracteres restantes 300 digitos /-->
<input type="reset" name="reset" value="Borrar" class="form">
<input type="submit" name="enviar" value="Enviar" class="form">&nbsp;&nbsp;&nbsp;</div>
</form></td> 
    </tr> 
  </table><br>
  <span class="text_info">(*) Campo opcional, de no llenarse se denominara como "Anonimo".<br>
  (**) Este campo es obligatorio.
  </span><br>
  <? 
?>
QUIERO QUE CUANDO DEBE REDIRECCIONAR A LA PAGINA PADRE ESTE ME LLEVE AL ULTIMO COMENTARIO RECIEN POSTEADO; SE PUEDE?

Edito: he visto links con marcas dentro de la misma pagina pero este no me funciona ya que no estoy en la misma pagina sino en otra pagina dentro de la misma web.
  #3 (permalink)  
Antiguo 03/05/2011, 00:26
 
Fecha de Ingreso: noviembre-2005
Mensajes: 426
Antigüedad: 18 años, 5 meses
Puntos: 87
Respuesta: marca dentro de la misma web pero distinta pagina?

Con una pequeña y simple combinacion de PHP y javascript se puede hacer; simplemente coloque que cada comentario tenga un id especifico.

Código HTML:
Ver original
  1. <div id="comentario-62">

Luego cuando se refresque la pagina padre (la que muestra los comentarios) pasele por GET el id del comentario (algo como index.php?comentario=62)

Y luego con javascript hace que caiga haya

Código Javascript:
Ver original
  1. window.onload = function() {
  2. document.getElementById('comentario-<?php echo $_GET["comentario"]?>').scrollIntoView(true);
  3. }

Eso es todo. Si por alguna extraña razon no le puede pasar por GET cual es el ultimo comentario simplemente cheque cual es el ID del ultimo comentario publicado.

Suerte
  #4 (permalink)  
Antiguo 03/05/2011, 09:49
Avatar de alette666  
Fecha de Ingreso: febrero-2010
Ubicación: En la luna
Mensajes: 277
Antigüedad: 14 años, 2 meses
Puntos: 5
Respuesta: marca dentro de la misma web pero distinta pagina?

Código Javascript:
Ver original
  1. window.onload = function() {
  2. document.getElementById('comentario-<?php echo $_GET["comentario"]?>').scrollIntoView(true);
  3. }

Bien iteresante pero en que lugar deberia poner las funciones?

la de refrescar creeria que iria en index.php pero la del div donde tendra que ir?, tmb estaba pensando en hacerla en una DB pero no se mucho de base de dato, niu coneccion, este script solamente tiene un TXT que al leerla; crea un archivo PHP con las funciones llamadas

Código PHP:
$sssw = "<? 
           $nombre 
'$us'
           
$comentario '$comenta'
           
$fecha '$fech';
           
$hora '$hora';
           
$artista '$artist';
           
$titulo '$titu';
           
$dedicado '$dedic';
           
?> ";
podria yo adaptar este script para una base de datos??? xq tmb me impide ordenarlads de forma decendente ya que cuando se ingresa un nuevo comentario; los ordena asi:

comentario 1
comentario 2
comentario 3
...
...
comentario 9

al llegar al comentario 10 este me lo coloca debajo del comentario 1 ya que comienza con el numero 1 y lo ordena asi


comentario 1
comentario 10
comentario 11

...
...
comentario 2
comentario 3
...
...
comentario 9


me podrian encaminar a aver como puedo adaptarla a una DB??
  #5 (permalink)  
Antiguo 13/05/2011, 15:50
Avatar de alette666  
Fecha de Ingreso: febrero-2010
Ubicación: En la luna
Mensajes: 277
Antigüedad: 14 años, 2 meses
Puntos: 5
Respuesta: marca dentro de la misma web pero distinta pagina?

Cita:
Iniciado por InKarC Ver Mensaje
Código HTML:
Ver original
  1. <div id="comentario-62">
Me podrias esplicar detalladamente con algun ejemplo??? gracias.
Es que no me quedo muy claro su esplicacion

Etiquetas: enlases, formulario
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 05:22.