Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Estou com uma dúvida tenho uma página de casdastro que tenho que redirecionar o usuario para outra página e tenho que enviar para essa página uma variavel, estou usando a função header ("Location:");
no caso estou fazendo assim
header ("Location: ../sh/?v=$v");
o erro que aparece é este:
Warning: Cannot modify header information - headers already sent by (output started at/web/sites/..
Ele está em uma página sem html, está em uma página que só tem programação sem html.
poste o conteudo inteiro da pagina QUE ESTÁ A FUNÇÃO header ("Location: ../sh/?v=$v");
echo, print... qq comando de saida, causa esse erro.
se estiver trabalhando com UFT8, salve o arquivo 'sem BOM'.
poste o arquivo para analise.
//aqui eu pegos os dados
...
$sql_inserir = mysql_query("INSERT INTO T_user_cm (e_cm_u, p_cm_u, d_cm_u)
VALUES('{$var_email_cad}','{$var_senha_cad}', now())")
or die( mysql_error() );
if(!isset($sql_inserir)){
include "index2.php";
}
else {
$var_email_cad = mysql_insert_id();
$v = md5('erro');
header("Location: sh/?v=$v");
}
...tem mais coisa
posta tudo o que tem no arquivo antes de header("Location: sh/?v=$v");!
<?php
session_start();
$var_email_cm = $_GET['cm'];
$var_email_cad = base64_encode($var_email_cm);
if (isset($var_email_cm_cad)){
include "cad_login.php";
}include "default.php";
if ((isset($_POST['email_cad'])) and (isset($_POST['senha_cad'])) and (isset($_POST['nome_cad'])) and (isset($_POST['sobre_cad']))) {
include "../Con_CM/Cy.php";
include "tcracked.php";
$var_email_cad = trim($_POST['email_cad']);
$var_senha_cad = md5($_POST['senha_cad']);
$var_nome_cad = trim($_POST['nome_cad']);
$var_sobrenome_cad = trim($_POST['sobre_cad']);
// Verifica se já existe algum email cadastrado
if (mysql_num_rows(mysql_query("SELECT e_cm_u FROM T_user_cm WHERE e_cm_u = '$var_email_cad'")) != 0) {
header("Location: sh/i/");
$erro = TRUE;
}
if (!$erro)
{
// Inserindo os dados no banco de dados em duas tabelas
$info = htmlspecialchars($info);
$sql_inserir = mysql_query("INSERT INTO T_user_cm (e_cm_u, p_cm_u, d_cm_u)
VALUES('{$var_email_cad}','{$var_senha_cad}', now())")
or die( mysql_error() );
mysql_query("INSERT INTO P_user_cm (e_cm_p, n_cm_p, s_cm_p)
VALUES('{$var_email_cad}','{$var_nome_cad}', '{$var_sobrenome_cad}')")
or die( mysql_error() );
if(!isset($sql_inserir)){
include "index2.php";
}
else {
$var_email_cad = mysql_insert_id();
$v = md5('erro');
header("Location: sh/?v=$v");
}
}
else {
}
}
}
?>
ta aí todo o código
você tem vários includes ali em cima
se qualquer um desses includes tiver saídas (echo, print, html...)
o erro já está justificado.
ok, então tá explicado.
headers no php so podem ser enviados antes de qualquer saida html
entao essa linha q você postou deve ser colocada antes da primeira saida html
verifique seu arquivo