Foros del Web » Programando para Internet » PHP »

envío de formularios

Estas en el tema de envío de formularios en el foro de PHP en Foros del Web. Hola! Trato de enviar un formulario desde una página example.com/?act=formulario&editar=plantilla con un <form> que lo envía a la misma página donde un input hidden con ...
  #1 (permalink)  
Antiguo 09/12/2007, 07:10
 
Fecha de Ingreso: octubre-2003
Ubicación: FMSite
Mensajes: 336
Antigüedad: 21 años, 1 mes
Puntos: 2
envío de formularios

Hola!

Trato de enviar un formulario desde una página example.com/?act=formulario&editar=plantilla
con un <form> que lo envía a la misma página donde un input hidden con el nombre "edit" se activa al enviar el formulario para saber si hay que editar o no.

Bien, el problema es que al darle a enviar, example.com?act=formulario&editar=plantilla en vez de mostrarme el formulario y decirme que se editó, me muestra la página index.php

Qué puede estar pasando?
__________________
http://www.fmsite.net/
  #2 (permalink)  
Antiguo 09/12/2007, 11:48
 
Fecha de Ingreso: noviembre-2006
Mensajes: 437
Antigüedad: 18 años
Puntos: 3
Re: envío de formularios

Puedes mostrar tu código? Asi podriamos ayudarte. En el action del form que tienes puesto?
Un saludo
  #3 (permalink)  
Antiguo 10/12/2007, 15:41
 
Fecha de Ingreso: octubre-2003
Ubicación: FMSite
Mensajes: 336
Antigüedad: 21 años, 1 mes
Puntos: 2
Re: envío de formularios

Código PHP:
.........
<? break;
case 
"new_menu":
if(
$_POST['edit'] != ''){
$titulo $_POST['titulo'];
$cont $_POST['cont'];
$lado $_POST['lado'];
$ver $_POST['ver'];
$id $_POST['id'];
$sql "INSERT INTO blog_menu (titulo, cont, lado, ver, pos,id_blog) "
$sql.= "VALUES ('$titulo','$cont','$lado','$ver','$pos','$id')"
$rs mysql_query($sql$conexion) or die("Error al grabar un mensaje: ".mysql_error()); 
$ult_id mysql_insert_id($conexion); 
echo 
"<center>Menú Creado con éxito</center>";
?>
<form name="form1" method="post" action="">
  <table width="100%" border="0">
    <tr> 
      <td width="19%">&nbsp;</td>
      <td width="81%">&nbsp;</td>
    </tr>
    <tr> 
      <td>Nombre</td>
      <td>
<input name="titulo" type="text" id="titulo3">
      </td>
    </tr>
    <tr> 
      <td>Contenido</td>
      <td><textarea name="cont" cols="40" rows="5" id="cont"></textarea></td>
    </tr>
    <tr> 
      <td>Lado </td>
      <td><input type="radio" name="lado" value="3">
        - Arriba<br> <input type="radio" name="lado" value="1">
        - Izquierda &nbsp;&nbsp;&nbsp; <input type="radio" name="lado" value="2">
        - Derecha<br> <input type="radio" name="lado" value="4">
        - Abajo</td>
    </tr>
    <tr> 
      <td>Posici&oacute;n</td>
      <td><input name="pos" type="text" id="pos">
        <input name="edit3" type="hidden" id="edit5" value="1"> <input name="id3" type="hidden" id="id3" value="<? echo $row_blog['id']; ?>"> 
      </td>
    </tr>
    <tr> 
      <td>Ver</td>
      <td><input name="ver" type="checkbox" id="ver" value="1" checked></td>
    </tr>
    <tr>
      <td>&nbsp;</td>
      <td><input type="submit" name="Submit2" value="Enviar"></td>
    </tr>
  </table>
</form>
<? break;
.............
Éste es el códigio de esa sección. He probado también poniendo cualquier dirección al form, pero no funciona...

Ojalá tengan alguna solucion
__________________
http://www.fmsite.net/
  #4 (permalink)  
Antiguo 10/12/2007, 18:18
Avatar de Seppo  
Fecha de Ingreso: marzo-2005
Ubicación: Buenos Aires, Argentina
Mensajes: 1.284
Antigüedad: 19 años, 8 meses
Puntos: 17
Re: envío de formularios

No tenés ningún input que se llame edit, lo más parecido es "edit3"... quizás deberías sacar ese número
  #5 (permalink)  
Antiguo 10/12/2007, 20:25
 
Fecha de Ingreso: noviembre-2006
Mensajes: 437
Antigüedad: 18 años
Puntos: 3
Re: envío de formularios

En el action del form pon el nombre de la página que contiene ese código. Los datos los estas pasando mediante POST, las variables que pones en la URL
Cita:
example.com/?act=formulario&editar=plantilla
¿de donde salen? Si quieres que salgan del formulario hacia otra página por url las has de pasar mediante GET.
La url deberia quedar asi:
Cita:
example.com/pagina_que_contiene_formulario.php?act=formulario& editar=plantilla
Un saludo
  #6 (permalink)  
Antiguo 11/12/2007, 08:38
 
Fecha de Ingreso: octubre-2003
Ubicación: FMSite
Mensajes: 336
Antigüedad: 21 años, 1 mes
Puntos: 2
Re: envío de formularios

Seppo, gracias, aún así eso errorcillo lo único que debería hacer es que no se envíe el formulario pero al menos recargara la página. Sin embargo me lleva al index (eso sí, dejando la url como estaba :s )

Komodo, los inputs se pasanmediante POST, la primera página es donde está el formulario. No quiero pasarlo mediante GET.

Imagínense estar en pagina.com/?ver=admin&act=new_menu
Ahí hay un formulario (el que les muestro en el código). Al clicar en Enviar, debería de cargar la misma página pero el "edit" al estar activado, haría que el formulario se en viase pero nada. Me envía a la misma url pero en vez de mostrar el contenido que tiene que mostrar, muestra el index...

Qué sucede?
__________________
http://www.fmsite.net/
  #7 (permalink)  
Antiguo 11/12/2007, 11:51
 
Fecha de Ingreso: octubre-2003
Ubicación: FMSite
Mensajes: 336
Antigüedad: 21 años, 1 mes
Puntos: 2
Re: envío de formularios

Solucionado.

El problema era el campo "ver" que de hecho estaba siendo usado en la url como switch y eso daba problema

Gracias a todos
__________________
http://www.fmsite.net/
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 14:09.