Foros del Web » Programando para Internet » PHP »

redireccionar despues de formulario

Estas en el tema de redireccionar despues de formulario en el foro de PHP en Foros del Web. ey guys!!! i've got a problem bueno, el tema es que quiero que un formulario que tengo en http://usuarios.lycos.es/aduc/portada.php una vez que se halla "submitido" ...
  #1 (permalink)  
Antiguo 29/12/2003, 21:53
Avatar de romeo77  
Fecha de Ingreso: diciembre-2003
Ubicación: Vete tu a saber...
Mensajes: 65
Antigüedad: 14 años
Puntos: 0
redireccionar despues de formulario

ey guys!!!
i've got a problem

bueno, el tema es que quiero que un formulario que tengo en http://usuarios.lycos.es/aduc/portada.php
una vez que se halla "submitido" en vez de ir a la pagina del action, vaya a portada.php, por ejemplo.

yo lo que tengo es un campo hidden en el formulario, con el nombre="redirect", y el value="http://usuarios.lycos.es/aduc/portada.php", pero unas veces me va a la portada, otras al archivo del action, otras al archivo en el que estoy, pero lo mas curioso es que siempre me muestra la pantalla en blanco...

no se, no se
ayuda!!!!!
cenquiu
  #2 (permalink)  
Antiguo 29/12/2003, 22:59
Avatar de ||Dj||  
Fecha de Ingreso: enero-2002
Mensajes: 2.349
Antigüedad: 15 años, 11 meses
Puntos: 1
Luego de procesarlo redirecciona con:

header ("Location: archivo.tal");

Si no era eso lo que buscabas avisa.
  #3 (permalink)  
Antiguo 30/12/2003, 06:27
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
No sé como redireccionas .. pero Lycos por el tipo de publicida que incrusta en sus páginas suele dar problemas con las cabeceras HTTP que puedas enviar desde PHP (con header() ).

Tambien Lycos tiene desactivado el mostrar errores de PHP (no recuerdo a que nivel) .. pero es probable que en esa "pantalla en blanco" .. se debería estar mostrando ahí un mensaje de error .. tal vez algo tipo: "cabeceras ya enviadas" (si se enviaron algunas cabeceras al navegador).

Usa al principio de tus scripts:

Código PHP:
error_reporting(E_ALL); 
Y observa ahora si en esa "pantalla en blanco" se muestra algún error.

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #4 (permalink)  
Antiguo 30/12/2003, 07:49
Avatar de romeo77  
Fecha de Ingreso: diciembre-2003
Ubicación: Vete tu a saber...
Mensajes: 65
Antigüedad: 14 años
Puntos: 0
Muchas gracias a los dos, joder este sitio está muy bien, preguntas y respuestas rápidas, si señor.

Bueno, deciros que con el header(); me ha funcionado, de todas formas incluiré "error_reporting(E_ALL);" en la pagina por si acaso.

Por cierto sabríais decirme como en vez de ir a la portada despues de procesar el formulario, podría recargar la pagina en la que me encuentre en ese momento¿?
Y otra dudilla, los radiobuttons los puedo identificar en el archivo del action(en este caso:encuesta.php) de la siguiente manera:
$voto=$_POST["id"]
donde id es el identificador del radiobutton¿?

gracias
salu2
  #5 (permalink)  
Antiguo 30/12/2003, 08:00
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
La variable de servidor PHP_SELF te devuelve el nombre/ruta del script en curso (en ejecución) así que pudes hacer:

Código PHP:
header("Location: ".$_SERVER['PHP_SELF']);
exit; 
-----
Sobre el tema de "radio button":

<input type="radio" name="radiobutton" value="radiobutton">

La propiedad "name" será el nombre de tu variable en el script que lo procese (al que envias en tu formulario e indicas en el action ..)

Así que en el ejemplo sería:
(suponiendo que usastes method de tu formulario: POST)

Código PHP:
echo $_POST['radiobutton']; 
Y el valor que tomará .. será el que indiques en el "value".

Lo mismo ocurre con el resto de objetos de formulario .. "name" = variable en PHP .. y value .. el valor de esta.

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #6 (permalink)  
Antiguo 30/12/2003, 10:27
Avatar de romeo77  
Fecha de Ingreso: diciembre-2003
Ubicación: Vete tu a saber...
Mensajes: 65
Antigüedad: 14 años
Puntos: 0
Con el codigo:
header("Location: ".$_SERVER['PHP_SELF']);
exit;
me tarda muchísimo, además me vuelve el pantallazo blanco, y es que no me acuerdo de el comando para ver las variables, o directivas activadas en el servidor php(en este caso el de lycos)

Respecto a los radiobuttons, si les doy a todos el mismo nombre permitiría seleccionar varios o todos a la vez, y no quiero eso, así que como me puedo referir a ellos en el action¿?, con el id no puedo¿?
  #7 (permalink)  
Antiguo 30/12/2003, 11:01
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
La función para ver las propiedades y configuración de PHP es:

phpinfo()


Si tu indicas un mismo nombre para todos tus "radio" .. sólo tomará un valor .. Fijate que si lo haces así el "radio" cambia de estado y sòlo te deja seleccionar uno. Y ese que selecciones será el valor que pasará a tu script que apuntas en el action del formulario con el valor que indicases en tu < ... value="esto" ...> de ese radio.

Si todos tienen nombre diferente ..cada uno será independiente (y para eso ya están los checkbox).

Cuando hablas de "id" no sè a que te refieres .. si al ID HTML del objeto en cuestión (que se usa más bien para javascript) .. o a un "ID" de un dato que sacas de una BD por ejemplo .. en tal caso ese "ID" (variable=valor) deberías usarlo como VALUE de ese radio.

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.

Última edición por Cluster; 30/12/2003 a las 11:03
  #8 (permalink)  
Antiguo 30/12/2003, 11:29
Avatar de romeo77  
Fecha de Ingreso: diciembre-2003
Ubicación: Vete tu a saber...
Mensajes: 65
Antigüedad: 14 años
Puntos: 0
Gracias, ya se como dices, pero sigue sin funcionar, yo lo que tengo, asi por encima es esto:
Código:
<input name=\"radiobutton\" type=\"radio\" value=\"estabien\"/>
Así hasta 4 botones con diferentes value, y en el archivo del action esto:
...
Código:
Código PHP:
$voto=$_POST["radiobutton"]; if ($voto="estabien")     {     $result mysql_db_query("db","select * from table where voto=voto2");     $row mysql_fetch_array($result);     $vota=$row["cant_voto"];     ++$vota;     mysql_db_query("db","update table set cant_voto='$vota' where voto=voto2");     } 
...
donde cant_voto es un entero de 3 cifras, o longitud 3, no se si se dice así.

Última edición por romeo77; 30/12/2003 a las 11:47
  #9 (permalink)  
Antiguo 30/12/2003, 11:43
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
No sé si será que escribistes mál el código aquí . .pero .. el = para un condicional IF es doble... sino es de asignación y no de comparación:

Código PHP:
if ($voto=="estabien"
Por cierto .. ese SELECT para obtener el dato de tu cant_voto para incrementarlo luego con tu UPDATE .. se puede hacer todo de una:

Código PHP:
mysql_db_query("aduc_es_db","update table set cant_voto=cant_voto+1 where voto=voto2"); 
así de simple ..

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #10 (permalink)  
Antiguo 30/12/2003, 12:26
Avatar de romeo77  
Fecha de Ingreso: diciembre-2003
Ubicación: Vete tu a saber...
Mensajes: 65
Antigüedad: 14 años
Puntos: 0
Vaya vaya, aprender se aprende, pero cuanto tiempo es necesario...

El problema lo tengo en esta sentencia:
Código:
Código PHP:
mysql_db_query("db","update table set cant_voto=cant_voto+1 where voto=voto2"); 
no se porque, no suma uno a la cantidad de votos, el codigo de la tabla es:
CREATE TABLE table(
voto char(10) NOT NULL default '',
cant_voto int(3) NOT NULL default '0',
PRIMARY KEY (voto)
) TYPE=MyISAM COMMENT='Encuesta sobre el diseño de la pagina';

Que pasa¿¿???
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

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 09:21.