Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Ola Amigos,
Tenho uma alguns dados que eu trago atraves de uma lista, e cada linha contem um checkbox onde o usuario seleciona uma determinada linha e clica em um botão abrir. O porem é que ao clicar no botão abrir eu estou tentado mandar ele para um formulario passando o id
Tela com a lista
/applications/core/interface/imageproxy/imageproxy.php?img=http://img96.imageshack.us/img96/3789/listak.jpg&key=e3d03871c17515e9954c50ae2f01a3f4d24afb41678ce8cbcc0a70f2ae4226bf" alt="Imagem Postada" /> /applications/core/interface/imageproxy/imageproxy.php?img=http://img96.imageshack.us/img96/listak.jpg/1/w991.png&key=e39158d3165642d7177b0b79d5d82e4c19b5aecd33d71bb333635838fbef761a" alt="Imagem Postada" />
Trecho do codigo que envia o usuario para a pagina de cadastro passando o id
function abrir(){
$check = $_POST['check'];
foreach ($check as $id => $valor) {
//teste
echo "Abri ID" . $id ."<br/>";
header("Location: principal.php?pag=cadGrupoEmp?id=$id");
//echo "Id " . $id . " - ";
//echo "Valor " . $valor . "<br />";
}
}Warning: Cannot modify header information - headers already sent by (output started at C:\xampp\htdocs\qg\principal.php:12) in C:\xampp\htdocs\qg\diarioBordo\action.php on line 33
Outra informação, essa lista está dentro da pagina principal, sendo um include.
Alguem sabe como eu poderia resolver esse problema para eu direcionar o usuario para um tela de cadastro passando o id para que ele possa editar as informações do formulario?
Tirei o echo, mais continua apresentado o mesmo erro.
>
on line 33
>
Tirei o echo, mais continua apresentado o mesmo erro.
Veja que o erro acontece na linha 33.
header => cabeçalho
Isso significa que qualquer saída que venha a acontecer antes do header deve ser removida.
Veja:
>
Remember that header() must be called before any actual output is sent, either by normal HTML tags, blank lines in a file, or from PHP. It is a very common error to read code with include(), or require(), functions, or another file access function, and have spaces or empty lines that are output before header() is called. The same problem exists when using a single PHP/HTML file.
Quando você remover toda e qualquer saída que ocorra antes do envio do cabeçalho HTTP o erro cessará.
Documentação da função header: http://br2.php.net/manual/en/function.header.php
Olha o codigo do meu arquivo, minha linha 33 é a
header("Location: principal.php?pag=cadGrupoEmp?id=");, como eu poderia fazer para que não apresentasse esse erro.
Entendi que a primeira linha deveria ser o header isso? c
<?php
$funcao = $_REQUEST["action"];
if (function_exists($funcao)) {
//call_user_func Chama uma função de usuário dada pelo primeiro parâmetro
//http://br2.php.net/manual/pt_BR/function.call-user-func.php
call_user_func($funcao);
}
function reservar()
{
include'lib/conn.php';
$check = $_POST['check'];
//print_r($check);
foreach ($check as $id => $valor) {
echo "Id " . $id . " - ";
echo "Valor " . $valor . "<br />";
$sql = "UPDATE tab_diario_bordo SET status = '$valor' WHERE id_bordo = '$id'";
$query = mysql_query($sql) or die ("Erro na alteração do Step no Banco de Dados". mysql_error());
//header("Location: ?pag=listaDiarioBordo");
}
}
function abrir(){
$check = $_POST['check'];
foreach ($check as $id => $valor) {
//echo "Abri ID" . $id ."<br/>";
header("Location: principal.php?pag=cadGrupoEmp?id=");
}
}
function cancelar(){
echo "Cancelar";
}
?>>
Entendi que a primeira linha deveria ser o header isso?
Como eu disse, header é cabeçalho...
E como qualquer cabeça deve vir antes do corpo, colocar o header antes de qualquer saída resolverá definitivamente o problema.
Entendi João, mais teria outro opção sem precisar usasr header para eu direcionar o usuario para a pagina de cadastro? Como mostro no exemplo do primeiro post?
Já tentou assim?
function abrir(){
$id = //O ID DEVE VIR DE ALGUM LUGAR
header("Location: principal.php?pag=cadGrupoEmp?id=$id");
}
Certifique-se de que nenhum outro output está sendo feito antes de charmar a funcion abrir();>
mais teria outro opção sem precisar usasr header para eu direcionar o usuario para a pagina de cadastro?
Se você quiser que, quando o usuário clicar em um link/botão ou qualquer coisa semelhante mova-o para a respectiva página de cadastro, você pode usar Javascript:
function click( id ){
window.location.href=[ 'principal.php?pag=CadGrupoEmp&id' , id ].join( '=' );
}
Quando você usa o header(), você não pode executar NENHUM echo.
Tenta tirar aqueles echos ali, acho que é isso.