Foros del Web » Programando para Internet » PHP »

Redireccionamiento - funcion header

Estas en el tema de Redireccionamiento - funcion header en el foro de PHP en Foros del Web. Hola, este es mi 1er mensaje. Estoy haciendo un pequeño programa de control de precios de compras en supermercados, mas que nada para interiorizarme en ...
  #1 (permalink)  
Antiguo 08/06/2008, 22:25
 
Fecha de Ingreso: junio-2008
Mensajes: 4
Antigüedad: 16 años, 5 meses
Puntos: 0
Redireccionamiento - funcion header

Hola, este es mi 1er mensaje.
Estoy haciendo un pequeño programa de control de precios de compras en supermercados, mas que nada para interiorizarme en el uso de php y mysql.
estoy usando dreamweaver 8 para lo que es el diseño de pantallas y programacion php.
tengo una pantalla donde ingreso las compras, q el usuario va ingresando cada producto y su cantidad, y luego este formulario se debe llamar a si mismo para ingresar un nuevo producto mientras clickee en ingresar, si clickea en cerrar compra deberia ir a otro archivo php donde hace todos los calculos y el ingreso a la base de datos de los mismos.
el problema q tengo es q no me funciona la funcion header para redireccionarlo a cada uno de los archivos donde hace cada accion (los mismos todavia no los tengo programados).
el error q me da es el siguiente

Warning: Cannot modify header information - headers already sent by (output started at C:\Archivos de programa\AppServ\www\Compras\ingresar_compra.php:1 3) in C:\Archivos de programa\AppServ\www\Compras\ingresar_compra.php on line 88

uso algunos echo para ir debugueando el codigo.
alguien me puede tirar una soga y decirme como solucionar este inconveniente...
gracias.
aca les envio el codigo fuente
un saludo.

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Formulario de Ingreso de Compra</title>
</head>

<body>
<form id="form1" name="form1" method="post" action="ingresar_compra.php">
<table width="357" border="1">
<tr>
<td>Fecha (Dias / Mes / A&ntilde;o) </td>
<td><label>
<input name="dia" type="text" id="dia" size="2" maxlength="2" />
/


<input name="mes" type="text" id="mes" size="2" maxlength="2" />
/
</label>
<label>
<input name="ano" type="text" id="ano" size="4" maxlength="4" />
</label></td>
</tr>
<tr>
<td width="184">Super</td>
<td width="157"><label>
<select name="select">
<option>LA ANONIMA</option>
<option>SUPERVEA</option>
<option>CARREFOUR</option>
</select>
</label></td>
</tr>
</table>
<table width="357" border="1">
<tr>
<td width="149"><p>Producto</p></td>
<td width="192"><label>
<input name="producto_id" type="text" id="producto_id" />
</label></td>
</tr>
<tr>
<td>Cantidad</td>
<td><label>
<input name="cantidad" type="text" id="cantidad" />
</label></td>
</tr>
</table>
<p>
<label>
<input name="ingresar" type="submit" id="ingresar" value="Ingresar" />
</label>
<label>
<input name="cerrar" type="submit" id="cerrar" value="Cerrar Compra" />
</label>
</p>
</form>
<p>&nbsp;</p>
<p>&nbsp;</p>
<?
if (!$producto_id || !$cantidad)
{
echo "No has introducido todos los detalles requeridos.<br>"."Por favor vuelve e inténtalo de nuevo.";
exit;
}

$fecha = array($_POST['mes'], $_POST['dia'], $_POST['ano']);
if(@checkdate($_POST['mes'], $_POST['dia'], $_POST['ano']))
{
//echo "fecha OK<br>";
;
}
else
{
//echo "fecha erronea<br>";
;
}
$fecha_junta = implode("/", $fecha);


$ingresar = $_POST['ingresar'];
$cerrar_compra = $_POST['cerrar'];
if($ingresar != "")
{
//echo "click en enviar.<br>";
header('Location: .//prueba.php');
}
else if($cerrar_compra != "")
{
//echo "click en cerrar.<br>";
header("locacion: .//prueba.php");
}


?>

</body>
</html>
  #2 (permalink)  
Antiguo 08/06/2008, 22:32
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 5 meses
Puntos: 2135
Respuesta: Redireccionamiento - funcion header

Hola pmnacho,

Revisa este link: http://www.forosdelweb.com/2037876-post179.html

Saludos.
  #3 (permalink)  
Antiguo 08/06/2008, 22:34
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años, 7 meses
Puntos: 2534
Respuesta: Redireccionamiento - funcion header

es un problema común... miro, lo explican aquí en las FAQ's del foro

GatorV ya enlazo.... http://www.forosdelweb.com/2037876-post179.html
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #4 (permalink)  
Antiguo 08/06/2008, 22:36
 
Fecha de Ingreso: junio-2008
Mensajes: 4
Antigüedad: 16 años, 5 meses
Puntos: 0
Respuesta: Redireccionamiento - funcion header

espectacular, gracias por las respuestas!.
voy a revisar el faq, pense q no era algo tan comun, me rompi la cabeza buscando con el google, pero nada en concreto habia.
q bueno encontrar un foro de programadores q contesten tan rapido.
otra pregunta, si no jode.
como puedo hacer para editar mi firma?, no encontre forma de hacerlo.
pate, 1297 mensajes desde abril... vos si q vivis en el foro!.
un saludo.
  #5 (permalink)  
Antiguo 08/06/2008, 22:40
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años, 7 meses
Puntos: 2534
Respuesta: Redireccionamiento - funcion header

para la firma debes contar con al menos un mes de inscripción....

y gracias, pero no vivo en el foro.... me encanta este foro, suerte!
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #6 (permalink)  
Antiguo 08/06/2008, 22:44
 
Fecha de Ingreso: junio-2008
Mensajes: 4
Antigüedad: 16 años, 5 meses
Puntos: 0
Respuesta: Redireccionamiento - funcion header

ok, creo entenderlo, no puede haber codigo html o algun echo antes de la funcion header...
pero como puedo llegar a evitar tener codigo html antes de la funcion header?, si es q necesito tener el formulario visible antes del redireccionamiento a otro archivo php.
ademas de q me ingrese todos los datos y segun en q boton me haga click va a cambiar el redireccionamiento....
  #7 (permalink)  
Antiguo 08/06/2008, 23:14
 
Fecha de Ingreso: junio-2008
Mensajes: 4
Antigüedad: 16 años, 5 meses
Puntos: 0
Respuesta: Redireccionamiento - funcion header

ok, pude solucionarlo poniendo todo el codigo php arriba de todo y haciendo algunas pequeñas modificaciones en el codigo...
lo remito aca, tengo otra duda mas... el tema es q ahora no puedo controlar si la fecha q me ingresan es valida, o si me ingresan todos los campos, ya q utilizo funciones echo para mostrar por pantalla q no ingresaron todos los campos requeridos, como salvarian este problema?, lo q hacia era informar por pantalla de este problema y recargar el formulario.
supongo q me diran... usa javascript..... q la verdad no tengo idea, es lo proximo a aprender luego de tener una base de php y mysql
EDIT, creo q lo solucione, saque el exit y anduvo joya, una vez q la tenga mas clara con esto voy a hacer los programas un poco mas elegantes....
<?
$fecha = array($_POST['mes'], $_POST['dia'], $_POST['ano']);
if(@checkdate($_POST['mes'], $_POST['dia'], $_POST['ano']))
{
/*echo "fecha OK<br>";*/;
}
else
{
/*echo "fecha erronea<br>";*/ ;
}
$fecha_junta = implode("/", $fecha);
$ingresar = $_POST['ingresar'];
$cerrar_compra = $_POST['cerrar'];
/* if (!$producto_id || !$cantidad)
{
echo "No has introducido todos los detalles requeridos.<br>"."Por favor vuelve e inténtalo nuevamente.";
exit;
} */
if($ingresar != "")
{
// echo "click en enviar.<br>";
header("Location: .//prueba.php");
}
else if($cerrar_compra != "")
{
/* //echo "click en cerrar.<br>"; */
header("Location: .//prueba.php");
}
?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Formulario de Ingreso de Compra</title>
</head>

<body>

<form id="form1" name="form1" method="post" action="ingresar_compra.php">
<table width="357" border="1">
<tr>
<td>Fecha (Dias / Mes / A&ntilde;o) </td>
<td><label>
<input name="dia" type="text" id="dia" size="2" maxlength="2" />
/


<input name="mes" type="text" id="mes" size="2" maxlength="2" />
/
</label>
<label>
<input name="ano" type="text" id="ano" size="4" maxlength="4" />
</label></td>
</tr>
<tr>
<td width="184">Super</td>
<td width="157"><label>
<select name="select">
<option>LA ANONIMA</option>
<option>SUPERVEA</option>
<option>CARREFOUR</option>
</select>
</label></td>
</tr>
</table>
<table width="357" border="1">
<tr>
<td width="149"><p>Producto</p></td>
<td width="192"><label>
<input name="producto_id" type="text" id="producto_id" />
</label></td>
</tr>
<tr>
<td>Cantidad</td>
<td><label>
<input name="cantidad" type="text" id="cantidad" />
</label></td>
</tr>
</table>
<p>
<label>
<input name="ingresar" type="submit" id="ingresar" value="Ingresar" />
</label>
<label>
<input name="cerrar" type="submit" id="cerrar" value="Cerrar Compra" />
</label>
</p>
</form>
<p>&nbsp;</p>
<p>&nbsp;</p>


</body>
</html>

Última edición por pmnacho; 08/06/2008 a las 23:24
  #8 (permalink)  
Antiguo 09/06/2008, 06:58
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años, 7 meses
Puntos: 2534
Respuesta: Redireccionamiento - funcion header

si quieres que se visualice un poco de tu formulario puede usar refresh, en lugar de location

Código PHP:
header('refresh: 3; URL=foo.php'); 
URL ya sabes que es.....
3 es el numero de segundos antes de refrescar
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
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 22:01.