Foros del Web » Programando para Internet » PHP »

Include con valor de menu/list se va al inicio de la web

Estas en el tema de Include con valor de menu/list se va al inicio de la web en el foro de PHP en Foros del Web. Hola a tod@s, antes de nada quiero deciros que empiezo con esto de la programación en php a modo de hobby, en plan personal. Quisiera ...
  #1 (permalink)  
Antiguo 11/12/2011, 07:02
 
Fecha de Ingreso: agosto-2010
Mensajes: 6
Antigüedad: 13 años, 7 meses
Puntos: 0
Include con valor de menu/list se va al inicio de la web

Hola a tod@s, antes de nada quiero deciros que empiezo con esto de la programación en php a modo de hobby, en plan personal.

Quisiera saber si podrían ayudarme:

Tengo hecho un include con los datos que se recogen de un menu list, el problema es que al pulsar el botón de enviar los datos me hace el include pero sube al inicio de la web.

¿Alguna idea de cómo solucionarlo?

Gracias de antemano.

Última edición por Paciencio; 11/12/2011 a las 07:21
  #2 (permalink)  
Antiguo 11/12/2011, 07:32
Avatar de oktubre  
Fecha de Ingreso: agosto-2003
Ubicación: en mi casa
Mensajes: 371
Antigüedad: 20 años, 7 meses
Puntos: 4
Respuesta: Include con valor de menu/list se va al inicio de la web

a que le llamas "sube al inicio de la web"???? debe haber algo en el method del formulario que puede estar en get y deberia estar en post, o bien el action de tu fromulario esta sin definir.
podes copiar un poco del codigo y posiblemente sea mas fácil ayudarte.
saludos, e!
__________________
w32.oktubre@mm <----------------<<<<
prefiero cerrar la boca y parecer un tonto que abrirla y confirmarlo.
  #3 (permalink)  
Antiguo 11/12/2011, 08:09
 
Fecha de Ingreso: agosto-2010
Mensajes: 6
Antigüedad: 13 años, 7 meses
Puntos: 0
Respuesta: Include con valor de menu/list se va al inicio de la web

Llevas razón oktubre creo que me he explicado de pena.

Tengo un formulario con un menu/list en el que selecciono una opción, recojo el valor y seguidamente hago un include. El problema es que cuando envío el formulario se recarga la página volviendo al inicio.

este es el código:
Código HTML:
  
  <form id="form2" method="post" action="">
    <br />
    Selecciona la web que deseas ver
<label>
  <select name="opciones_web" id="opciones_web">
    <option value="0.html" selected>Selecciona ------&gt;</option>
    <option value="1.html">web1</option>
    <option value="2.html">web2</option>
  </select>
&nbsp; </label>
    <label>
       <input type="submit" name="verweb_btn" id="verweb_btn" value="VER" />
    </label> </form>
    <br /> 
Seguidamente hago este include:

Código PHP:
 <?php $web $_POST['opciones_web']; ?>
    <br />
    <?php include $web?>
Gracias de antemano.
  #4 (permalink)  
Antiguo 11/12/2011, 08:18
 
Fecha de Ingreso: diciembre-2011
Mensajes: 35
Antigüedad: 12 años, 4 meses
Puntos: 9
Respuesta: Include con valor de menu/list se va al inicio de la web

Eso es normal en php, si quieres enviar y recibir si recargar la pagina usa ajax
  #5 (permalink)  
Antiguo 11/12/2011, 08:31
 
Fecha de Ingreso: agosto-2010
Mensajes: 6
Antigüedad: 13 años, 7 meses
Puntos: 0
Respuesta: Include con valor de menu/list se va al inicio de la web

Gracias zelgaki pero si ya tengo poca idea de php nada tengo de ajax

He encontrado este script en el foro pero tampoco me funciona:

Código PHP:
<?php if (isset ($_POST['nombre'])) 
echo 
'<script language="JavaScript">  
document.location.href = "#mimarcador"; 
</script>'
?>
Luego coloco el marcador pero no hay manera.

Gracias de nuevo ¿ALguna solución con php?
  #6 (permalink)  
Antiguo 11/12/2011, 09:13
Avatar de oktubre  
Fecha de Ingreso: agosto-2003
Ubicación: en mi casa
Mensajes: 371
Antigüedad: 20 años, 7 meses
Puntos: 4
Respuesta: Include con valor de menu/list se va al inicio de la web

en la linea de <form id="form2" method="post" action="">
como sabras, action="" ejecuta sobre la misma pagina. si por elcontrario action="procesador.php" lo que hará este formulario es enviarle todas las variables de los campos del formulario al archivo procesador.php y será éste quien se encargue de ver que hacer con las variables que le has enviado.
ahora, si lo que quieres es que el list te seleccione que página incluir deberias agregar mas codigo para que alguna variable se encargue de verificar que vas a incluir. por ejemplo
action="?cargar=1"

luego
if (cargar==1){
include("web1.php") ;
}
if (cargar==2){
include("web2.php") ;
}

algo así... mas algún ajuste.
saludos
__________________
w32.oktubre@mm <----------------<<<<
prefiero cerrar la boca y parecer un tonto que abrirla y confirmarlo.
  #7 (permalink)  
Antiguo 11/12/2011, 09:57
 
Fecha de Ingreso: agosto-2010
Mensajes: 6
Antigüedad: 13 años, 7 meses
Puntos: 0
Respuesta: Include con valor de menu/list se va al inicio de la web

Muchas gracias a todos por contestar-

He solucionado el problema de la siguiente manera:
En el action del formulario he puesto el nombre del marcador al que quiero ir cuando envíe el formulario y siguiendo las indicaciones de oktubre he incluido una sentencia if else para manejar los valores del menu.

el código queda como sigue:

Código PHP:
 <form id="form2" method="post" action="#mimarcador">
    Selecciona la web que deseas wer;
    <label>
      <select name="urlweb" id="urlweb">
        <option value="0.html">Selecciona ;</option>
        <option value="1.html">web1</option>
        <option value="2.html">web2 (Madrid)</option>
      </select>
      </label>
    <label>
      <input type="submit" name="verweb_btn" id="verweb_btn" value="VER" />
    </label></form>
 
<?php
$web 
$_POST['urlweb'];
if ( 
$web == NULL ) {
    include(
"0.html");
} else {
    include 
$web;;


?>
Donde 0.html es una página en blanco por lo que en el include no muestra nada.

Imagino que no es nada elegante pero cumple el objetivo para un aficionado como yo.

Un saludo y gracias de nuevo.

P.

Etiquetas: formulario, html, include
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:37.