Foros del Web » Programando para Internet » PHP »

Problema al enviar header

Estas en el tema de Problema al enviar header en el foro de PHP en Foros del Web. Tengo un pequeño problema en una misma pagina quiero hacer la funcion de insertar y la de modificar obviamente separar cuando kiero hacer cada cosa.. ...
  #1 (permalink)  
Antiguo 23/06/2011, 09:08
 
Fecha de Ingreso: mayo-2011
Mensajes: 167
Antigüedad: 13 años, 6 meses
Puntos: 1
Problema al enviar header

Tengo un pequeño problema en una misma pagina quiero hacer la funcion de insertar y la de modificar obviamente separar cuando kiero hacer cada cosa..

ya todo me funciona inserta y actualiza registro.. el problemas es cuando modifico..

al parecer el problema va por aki header(sprintf("Location: %s", .... el navegadorme dice q estoy repitiendo cabeceras.. y ps si hay dos cabeceras en el codigo pero tiene la sentencia.. de que si esta definido tal cosa la ejecute si no no...

bueno espero no haber sido enredoso.. mi problema parece ser sencillo


Código PHP:
Ver original
  1. if ((isset($_POST["MM_insert"])) && ($_POST["MM_insert"] == "form1")) {
  2.    
  3.     if (isset($_POST['submit'])) {  
  4.     if(is_uploaded_file($_FILES['fichero']['tmp_name'])) {
  5.         $ruta_destino = "images/";
  6.         if(move_uploaded_file($_FILES['fichero']['tmp_name'], $ruta_destino . $_FILES['fichero']['name'])) {
  7.                      
  8.         }  
  9.     }  
  10.   }
  11.   $foto = $_FILES['fichero']['name'];
  12.   $insertSQL = sprintf("INSERT INTO staff (nombre, foto, puesto, email, mostrar, lugar) VALUES (%s, %s, %s, %s, %s, %s)",
  13.                        GetSQLValueString($_POST['nombre'], "text"),
  14.                        GetSQLValueString($foto, "text"),
  15.                        GetSQLValueString($_POST['puesto'], "text"),
  16.                        GetSQLValueString($_POST['email'], "text"),
  17.                        GetSQLValueString($_POST['mostrar'], "text"),
  18.                        GetSQLValueString($_POST['lugar'], "text"));
  19.  
  20.   mysql_select_db($database_noticias, $noticias);
  21.   $Result1 = mysql_query($insertSQL, $noticias) or die(mysql_error());
  22.  
  23.   $insertGoTo = "contactoform.php";
  24.   if (isset($_SERVER['QUERY_STRING'])) {
  25.     $insertGoTo .= (strpos($insertGoTo, '?')) ? "&" : "?";
  26.     $insertGoTo .= $_SERVER['QUERY_STRING'];
  27.   }
  28.   header(sprintf("Location: %s", $insertGoTo));
  29. }
  30.  
  31.  
  32.  
  33. if (isset($_GET["id"])) {
  34. if ($_GET['val'] == 'si') { $valor='no'; } elseif ($_GET['val'] == 'no') { $valor='si'; }
  35.   $updateSQL = sprintf("UPDATE staff SET mostrar=%s WHERE id=%s",
  36.                        GetSQLValueString($valor, "text"),
  37.                        GetSQLValueString($_GET['id'], "int"));
  38.  
  39.   mysql_select_db($database_noticias, $noticias);
  40.   $Result1 = mysql_query($updateSQL, $noticias) or die(mysql_error());
  41.  
  42.   $updateGoTo = "contactoform.php";
  43.   if (isset($_SERVER['QUERY_STRING'])) {
  44.     $updateGoTo .= (strpos($updateGoTo, '?')) ? "&" : "?";
  45.     $updateGoTo .= $_SERVER['QUERY_STRING'];
  46.   }
  47.   header(sprintf("Location: %s", $updateGoTo));
  48. }
  #2 (permalink)  
Antiguo 23/06/2011, 21:14
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 16 años, 3 meses
Puntos: 2237
Respuesta: Problema al enviar header

Depues de un redireccionamiento con header() debes usar exit; o die(); para finalizar la ejecucion del script; si despues de esto sigues recibiendo mensajes de advertencia/error (generalmente emitidos por PHP, no por el navegador) es porque estas enviando contenido y para usar header() no debes enviar ni un espacio, ni una letra... nada absolutamente.
__________________
- León, Guanajuato
- GV-Foto

Etiquetas: header
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:05.