Foros del Web » Programando para Internet » PHP »

Porque el redireccionamiento no me queire funcionar

Estas en el tema de Porque el redireccionamiento no me queire funcionar en el foro de PHP en Foros del Web. me sale este error Warning: Cannot modify header information - headers already sent by (output started at /home/www/cardsd.freefronthost.com/borrarenbasecurso.php:11) in /home/www/cardsd.freefronthost.com/borrarenbasecurso.php on line 2 No entiendo ...
  #1 (permalink)  
Antiguo 01/12/2005, 03:21
 
Fecha de Ingreso: junio-2004
Mensajes: 299
Antigüedad: 19 años, 9 meses
Puntos: 0
Porque el redireccionamiento no me queire funcionar

me sale este error

Warning: Cannot modify header information - headers already sent by (output started at /home/www/cardsd.freefronthost.com/borrarenbasecurso.php:11) in /home/www/cardsd.freefronthost.com/borrarenbasecurso.php on line 2

No entiendo porque en mi codigo de insertar datos si funciona perfecto
pero en el de borrrar nofunciona...

Aqui esta el de insertar
<?
$username="cardsd_ns";
$password="carlos";
$database="cardsd_ns";


$num_curso = $_POST['num_curso'];
$nombrec = $_POST['nombrec'];
$dept = $_POST['dept'];

mysql_connect("freefronthost.com",$username,$passw ord);
@mysql_select_db($database) or die( "Unable to select database");


$sql=mysql_query("INSERT INTO course (num_curso , nombrec , dept )
values('$num_curso','$nombrec','$dept')");

mysql_close();
header("Location: http://cardsd.freefronthost.com/EntradadeDatoscurso.php");
exit;

?>


ese funciona bien pero este de borrar no...


<html>
<head>
<title>Inventario Total</title>
</head>

<body background="http://cardsd.freefronthost.com/nikechrome2.jpg">
<font size="4" face="Verdana" color="CCCCCC">
<center>Inventario total</center>
</font>
<font size="2" face="Verdana" color="CCCCCC">
<?php
$username="cardsd_ns";
$password="carlos";
$database="cardsd_ns";
$num_curso= $_POST['num_curso'];

$mysql_link=mysql_connect("freefronthost.com",$use rname,$password);
@mysql_select_db($database) or die( "Unable to select database");
mysql_query("DELETE FROM curso WHERE num_curso='$num_curso'");
mysql_query("DELETE FROM matricula WHERE num_curso='$num_curso'");


mysql_close();
header("Location: http://cardsd.freefronthost.com/EntradadeDatosmatricula.php");
exit;



?>

Ahi me manda el error porque??? como lo puedo arreglar para q tambien me redireccione bien y no me mande el error ese?


</font>
</body>
</html>
  #2 (permalink)  
Antiguo 01/12/2005, 03:38
 
Fecha de Ingreso: abril-2005
Mensajes: 139
Antigüedad: 19 años
Puntos: 1
El header tiene antes una salida en pantalla y esto es lo que hace que tenga el error.

Debes reestructurar el codigo para que no haya nada escrito que se vea en pantalla,creo yo que sera eso.

Que mal me explico xd.

Un saludo
  #3 (permalink)  
Antiguo 01/12/2005, 04:43
 
Fecha de Ingreso: julio-2005
Ubicación: España
Mensajes: 91
Antigüedad: 18 años, 9 meses
Puntos: 0
Es por lo que dice Pleniluni0

Cita:
Recuerde que la función header() debe ser llamada antes de que cualquier salida sea enviada, ya sea mediante etiquetas HTML normales, líneas en blanco de un archivo, o desde PHP. Es un error bastante común interpretar código extra con include(), require(), o alguna otra función de acceso de archivos, y terminar con espacios o líneas en blanco que son impresas antes de un llamado a header(). El mismo problema existe cuando se usa un archivo PHP/HTML único.
  #4 (permalink)  
Antiguo 01/12/2005, 06:01
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Fijate que es lo que hace tu script PHP .. hace un proceso y al terminar redirecciona. Bajo ese punto de vista, planteate que sentido tiene componer una página HTML (con sus <html> .. etc </html>) que "NUNCA" se va a presentar al navegador por qué generas una redirección vía cabeceras HTTP que le indican -antes- de que cualquier otro código HTML/salida en general se interprete que "cambie la página a tal URL" (el navegador).

No es PHP el que redirecciona sino tu navegador cuando haces un "header("Location ...")" PHP lo único que hace es enviar dicha cabecera HTTP al cliente que ejecuta el script PHP (en tu caso tu navegador). Y este hace su proceso.

Un saludo,
  #5 (permalink)  
Antiguo 01/12/2005, 08:50
 
Fecha de Ingreso: abril-2005
Mensajes: 139
Antigüedad: 19 años
Puntos: 1
Como siempre cluster le pone la guinda.
Buena cita phpman.

Un saludo
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:04.