Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Bom dia galera.
Já procurei em vários lugares, mas não encontrei algo que me ajudasse.
Estou tendo problemas com um script que faz uma gravação em um BD e após essa gravação, ele deveria redirecionar para a página que exibe os dados cadastrados.
Os arquivos são os seguintes:
index.php
CODE
<?php include 'sqls.php' ?><script type="text/javascript">
<!--
function MarcaTodos() {
for (var i = 0; i < document.forms[0].elements.length; i++) {
if(document.forms[0].elements*.name == 'arrId[]'){*
document.forms[0].elements.checked = !(document.forms[0].elements.checked);
}
}
}
//-->
*</script>*
*<script type="text/javascript"> *
*$().ready(function() {*
* var container = $('div.container');*
// validate the form when it is submitted
var validator = $("#form").validate({
errorContainer: container,
errorLabelContainer: $("ol", container),
wrapper: 'li',
meta: "validate"
});
$(".cancel").click(function() {
validator.resetForm();
});
});
*</script> *
*<form action="<?php $_SERVER['PHP_SELF']; ?>" id="form" method="post">*
*<div id='conteudo'>*
*<?php*
*if ($_GET['acao'] == "editar" || $_GET['acao'] == "cadastrar" ) {*
include 'form.php';
} else {
include 'areas.php';
}
*?>*
*<br />*
*<br />*
*</div>*
*</form>*
areas.php
CODE
*<h2>Áreas - Modo Administrativo</h2>**<br />*
*<?php*
*if ($_GET["msg"]) {*
* if ($_GET["msg"] == 1) {*
$msg = 'Nova área cadastrada com sucesso!';
$classe = 'aviso_inclusao';
} elseif ($_GET["msg"] == 2) {
$msg = 'Área atualizada com sucesso!';
$classe = 'aviso_edicao';
} elseif ($_GET["msg"] == 3) {
$msg = 'Iten(s) selecionado(s) excluídos com sucesso!';
$classe = 'aviso_exclusao';
}
echo "<div class=$classe>
$msg
* </div>*
* <br />";*
}
*?>*
*<div class="controles">*
* <input type="submit" class="submit" name="exclui" value="Deletar" /> *
* <input type="button" class="submit" name="volta" value="Voltar" onclick="java script:history.go(-1);" /> *
* <input type="button" class="submit" name="volta" value="Adicionar" onclick="java script:window.location='?aplicativo=<?php echo $_GET[aplicativo] ?>&subaplicativo=<?php echo $_GET[subaplicativo] ?>&acao=cadastrar';" /> *
*</div>*
*<table class="table-list">*
* <thead>*
* <tr>*
* <th class="centro"><input type="checkbox" name="chk_tudo" onclick="MarcaTodos();" /></th>*
* <th>Áreas</th>*
* </tr>*
* </thead>*
* <tbody>*
*<?php*
* $sql_lista = "SELECT * FROM $tab_areas";*
$rs_lista = pg_query($sql_lista)
or die("Não foi possível localizar menus.");
while ($linha = pg_fetch_assoc($rs_lista)) {
$cor = ($coralternada++ %2 ? "#fff" : "#f9f9f9");
$id = $linha["id"];
$area = $linha["descricao"];
* echo "<tr style='background-color: $cor;'>*
* <td class='centro'><input type='checkbox' name='arrId[]' value='$id' /></td>*
* <td><a href='?aplicativo=$_GET[aplicativo]&subaplicativo=$_GET[subaplicativo]&acao=editar&id=$id' title='Editar entrada'>$area</a></td>*
* </tr>*
";
}
*?>*
*</tbody>*
*</table>*
*<div class="controles">*
* <input type="submit" class="submit" name="exclui" value="Deletar" /> *
* <input type="button" class="submit" name="volta" value="Voltar" onclick="java script:history.go(-1);" /> *
* <input type="button" class="submit" name="volta" value="Adicionar" onclick="java script:window.location='?aplicativo=<?php echo $_GET[aplicativo] ?>&subaplicativo=<?php echo $_GET[subaplicativo] ?>&acao=cadastrar';" /> *
*</div>*
*<br />*
form.php
CODE
*<?php**if ($_GET['acao'] == 'editar') {*
$id = $_GET['id'];
$sql = "SELECT FROM $tab_areas WHERE id = $id";*
$rs = pg_query($sql)
or die('Não foi localizado o menus selecionado.' . $sql);
$rs = pg_fetch_assoc($rs);
$area = $rs["descricao"];
* ?> *
* <h2>Editar Área</h2>*
* <br />*
* <div class="container"> *
* <h4>Ocorreram erros na gravação dos dados. Verifique as informações abaixo.</h4> *
* <ol> *
* <li><label for="txt_area" class="error">Informe a nova área.</label></li> *
* </ol> *
* </div> *
* <table class="form-table">*
* <tr>*
* <th>ID: </th>*
* <td><input type="text" name="txt_id" value="<?php echo $id ?>" /></td>*
* </tr> *
* <tr>*
* <th>Nome da área: </th>*
* <td><input type="text" name="txt_area" id="txt_area" size="50" value="<?php echo $area ?>" title="Informe a nova área." class="{validate:{required:true}}" /></td>*
* </tr>*
* </table>*
* <div class="controles"><input type="submit" class="submit" name="edita" value="Salvar" /> <input type="button" class="submit" name="volta" value="Voltar" onclick="java script:history.go(-1);" /></div>*
*<?php*
*} elseif ($_GET['acao'] == 'cadastrar') {*
*?>*
* <h2>Cadastro de Áreas</h2>*
* <br />*
* <div class="container"> *
* <h4>Ocorreram erros na gravação dos dados. Verifique as informações abaixo.</h4> *
* <ol> *
* <li><label for="txt_area" class="error">Informe a nova área.</label></li> *
* </ol> *
* </div> *
* <table class="form-table">*
* <tr>*
* <th>Nome da área: </th>*
* <td><input type="text" name="txt_area" id="txt_area" size="50" title="Informe a nova área." class="{validate:{required:true}}" /></td>*
* </tr>*
* <tr>*
* </table>*
* <div class="controles"><input type="submit" class="submit" name="grava" value="Salvar" /> <input type="button" class="submit" name="volta" value="Voltar" onclick="java script:history.go(-1);" /></div>*
*<?php*
}
?>
sqls.php
CODE
*<?php **if ($_POST["grava"]) {*
* $area = anti_injection(utf8($_POST["txt_area"]));*
* $sql = "INSERT INTO $tab_areas(descricao) VALUES ('$area')";*
$rs = pg_query($sql)
or die("Não foi possível executar a consulta." . $sql);
* **header("Location:?aplicativo=" . $_GET['aplicativo'] . "&subaplicativo=" . $_GET['subaplicativo'] . "&msg=1");*
*} elseif ($_POST["edita"]) {*
* $id = $_POST["txt_id"];*
* $area = anti_injection(utf8($_POST["txt_area"]));*
* $sql = "UPDATE $tab_areas SET descricao = '$area' WHERE id = $id";*
$rs = pg_query($sql)
or die("Não foi possível executar a consulta." . $sql);
* **header("Location:?aplicativo=" . $_GET['aplicativo'] . "&subaplicativo=" . $_GET['subaplicativo'] . "&msg=2");*
*} elseif ($_POST["exclui"]){*
* $itens_uni = implode(", ", $_POST["arrId"]);*
* $sql = "DELETE FROM $tab_areas WHERE id IN (" . $itens_uni . ")";*
$rs = pg_query($sql)
or die("Não foi possível excluir os itens selecionados.");
* **header("Location:?aplicativo=" . $_GET['aplicativo'] . "&subaplicativo=" . $_GET['subaplicativo'] . "&msg=3");*
}
?>
O script em si, funciona. Ele inclui, atualiza e deleta os campos do BD.
O problema está no "header("Location:...". O script me retorna a seguinte mensagem: "Warning: Cannot modify header information - headers already sent by (output started at /data/dgr/dbm/menu.php:41) in /data/dgr/dbm/aplicativos/admin/areas/sqls.php on line 14".
Já tentei utilizar o comando ob_start(); antes de cada "header", a variável "outuput_buffering" do PHP.ini está configurada com 4096.
O erro me diz que o header já foi enviado pelo arquivo menu.php na linha 41, abaixo o código do arquivo menu.php
menu.php
CODE
*<div id="painel">**<p><?php echo "Campo Bom, " . date('d/m/Y'); ?></p>*
*<p>Olá <a href="?aplicativo=admin&subaplicativo=usuarios&acao=editar&id=<?php echo $session_id ?>" title="<?php echo $session_perfil ?>"><?php echo $session_nome ?></a>, <a href="logout.php" title="Sair do sistema">Logout</a></p>*
*</div>*
*<br />*
*<div class="menus">*
* <ul id="navigation" class="filetree treeview-famfamfam">*
* <li><span class="home"><a href="./" title="Página Inicial">Home</a></span></li>*
* <?php*
* $sql_menus = "SELECT $tab_menus.descricao, $tab_menus.link, $tab_menus.secao ";*
$sql_menus .= "FROM $tab_menus ";
$sql_menus .= "LEFT JOIN $tab_secoes ON $tab_secoes.id = $tab_menus.secao ";
$sql_menus .= "WHERE exibir = 1 AND $tab_secoes.descricao = 'principal' ";
if ($session_perfil == "Usuário") {
$sql_menus .= "AND $tab_menus.perfil = 'Usuário' ";
}
$sql_menus .= "ORDER BY $tab_menus.descricao";
$resultado = pg_query($sql_menus)
or die("Não foi possível gerar a barra de menus. Entre em contato com o admistrador do sistema.");
while ($linha = pg_fetch_assoc($resultado)){
$menu = $linha["descricao"];
$mlink = $linha["link"];
$secao = $linha["secao"];
* ?>*
* <li class="closed"><span class="folder"><a href="?aplicativo=<?php echo strtolower("$mlink"); ?>"><?php echo "$menu"; ?></a></span>*
* <ul>*
* <?php*
* $sql_submenus = "SELECT $tab_menus.descricao, $tab_menus.link *
FROM $tab_menus
LEFT JOIN $tab_secoes ON $tab_secoes.id = $tab_menus.secao
WHERE exibir = 1 AND $tab_secoes.descricao = '$mlink'
ORDER BY $tab_menus.descricao";
$submenus = pg_query($sql_submenus)
or die("Não foi possível gerar a barra de submenus. Entre em contato com o admistrador do sistema." . $sql_submenus);
while ($sublinha = pg_fetch_assoc($submenus)){
$submenu = $sublinha["descricao"];
$sublink = $sublinha["link"];
* ?>*
* <li><span class="file"><a href="?aplicativo=<?php echo strtolower("$mlink"); ?>&subaplicativo=<?php echo strtolower("$sublink"); ?>"><?php echo "$submenu"; ?></a></span></li>*
* <?php } ?>*
* </ul>*
* </li>*
* <?php*
}
* ?>*
* </ul>*
*</div>*
Não sei mais o q fazer. Espero conseguir ajuda aqui.
Obrigado.
Carregando comentários...