arldin 1 Denunciar post Postado Maio 20, 2012 Bom dia amigos estou desenvolvendo um formulario de cadastro que quando o usuario termina e enviado para ele por email para ele imprimir Porem quando ele recebe os dados estão certo mais ao mandar imprimir a pagina esta em branco Este e o script que envia para o email dele <?php if(PHP_OS == "windows") $quebra_linha = "\n"; elseif(PHP_OS == "WINNT") $quebra_linha = "\r\n"; $headers="From:\t ".$email_site. $quebra_linha; $headers.="Reply-to:\t ".$email_site . $quebra_linha; $headers.="Content-type: text/html; charset=iso-8859-1" . $quebra_linha; $nosso_numero = rand(000,999).date("dmYHis"); $mensagem="<b>Cadastro</b> <hr> Pedido Nº: <b>"$_POST["nosso_numero"]"<b><br> Nome: ".$_POST["sacado"]."<br> Email: ".$_POST["email"]."<br> Endereço: ".$_POST["endereco1"]."<br> Numero: ".$_POST["num"]."<br> Bairro: ".$_POST["bairro"]."<br> Cidade: ".$_POST["cidade"]."<br> Estado: ".$_POST["estado"]."<br> Cep: ".$_POST["cep"]."<br> Cadastro: ".$_POST["cadastro"]."<br> Imprimir Cadastro: <a href=\"http://".$_SERVER['HTTP_HOST']."/data/confirmacao".$ $banco.".php\">Imprimir Cadastro</a><br> <hr> "; $assunto = "Pedido: "$nosso_numero" - ".$_SERVER['HTTP_HOST']; $send=mail($_POST['email'],$assunto,$mensagem,$headers); if($send==true) $msn="<script>alert('o pedido foi enviado para o email ".$_POST['email ']."!')</script>"; else $msn="<script>alert('erro no envio de email!')</script>"; echo $msn; ?> E esta a a pagina para imprimir a qual vem em branco <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <HTML><HEAD><TITLE></TITLE> <META content="text/html; charset=windows-1252" http-equiv=Content-Type> <TABLE BORDER="0" WIDTH="100%" CELLPADDING="0" CELLSPACING="0"> <TR> <TD ALIGN="CENTER"> <TABLE BORDER="0" WIDTH="100%" CELLPADDING="0" CELLSPACING="0"> <TR> <TD ALIGN="CENTER"><FONT FACE="Arial Black" SIZE="2" COLOR="#ff0000"> Nosso Numero: <input TYPE="Hidden" SIZE="45" NAME="nosso_numero" VALUE="<?php echo $_POST["nosso_numero"]; ?>"><?php echo $_POST["nosso_numero"]; ?> </font> </TD> </TR> <tr> <TD ALIGN="CENTER"><FONT FACE="Arial Black" SIZE="2" COLOR="#ff0000"> Cliente: <input TYPE="Hidden" SIZE="45" NAME="sacado" VALUE="<?php echo $_POST["sacado"]; ?>"><?php echo $_POST["sacado"]; ?> </font> </TD> </TR> <TR> <TD ALIGN="CENTER"> <font size="2" face="Verdana, Arial, Helvetica, sans-serif"> Endereço:<font size="2" face="Verdana, Arial, Helvetica, sans-serif"> <input TYPE="Hidden" SIZE="25" NAME="endereco1" VALUE="<?php echo $_POST["endereco1"]; ?>"> <?php echo $_POST["endereco1"]; ?>; </TD> </TR> <TR> <TD ALIGN="CENTER"> <font size="2" face="Verdana, Arial, Helvetica, sans-serif">Numero:<font size="2" face="Verdana, Arial, Helvetica, sans-serif"> <input TYPE="Hidden" SIZE="45" NAME="num" VALUE="<?php echo $_POST["num"]; ?>"> <?php echo $_POST["num"]; ?> </TD> </TR> <TR> <TD ALIGN="CENTER"> <font size="2" face="Verdana, Arial, Helvetica, sans-serif"> Bairro<font size="2" face="Verdana, Arial, Helvetica, sans-serif"> <input TYPE="Hidden" NAME="bairro" VALUE="<?php echo $_POST["bairro"]; ?>"> <?php echo $_POST["bairro"]; ?> </TD> </TR> <TR> <TD ALIGN="CENTER"> <font size="2" face="Verdana, Arial, Helvetica, sans-serif">Cidade:<font size="2" face="Verdana, Arial, Helvetica, sans-serif"> <input TYPE="Hidden" SIZE="15" NAME="cidade" VALUE="<?php echo $_POST["cidade"]; ?>"> <?php echo $_POST["cidade"]; ?> </TD> </TR> <TR> <TD ALIGN="CENTER"> <font size="2" face="Verdana, Arial, Helvetica, sans-serif">Cep:<font size="2" face="Verdana, Arial, Helvetica, sans-serif"> <input TYPE="Hidden" SIZE="10" NAME="cep" VALUE="<?php echo $_POST["cep"]; ?>"> <?php echo $_POST["cep"]; ?> </TD> </TR> <TR> <TD ALIGN="CENTER"> <font size="2" face="Verdana, Arial, Helvetica, sans-serif"> Estado:<font size="2" face="Verdana, Arial, Helvetica, sans-serif"> <input TYPE="Hidden" SIZE="10" NAME="estado" VALUE="<?php echo $_POST["estado"]; ?>"> <?php echo $_POST["estado"]; ?> </TD> </TR> <TR> <TD ALIGN="CENTER"> <font size="2" face="Verdana, Arial, Helvetica, sans-serif"> Seu E-mail:<font size="2" face="Verdana, Arial, Helvetica, sans-serif"> <input TYPE="Hidden" SIZE="10" NAME="email" VALUE="<?php echo $_POST["email"]; ?>"> <?php echo $_POST["email"]; ?> </TD> </TR> </TABLE> </TD> </TR> </TABLE> </BODY></HTML> A onde eu estou errando me dem uma luz Compartilhar este post Link para o post Compartilhar em outros sites
Vinicius Rangel 208 Denunciar post Postado Maio 20, 2012 Primeiro essa área é errada, seria relacionado a CSS. e depois existe CSS especifico para impressão. http://www.criarweb.com/artigos/752.php Compartilhar este post Link para o post Compartilhar em outros sites
arldin 1 Denunciar post Postado Maio 20, 2012 Tem as paginas CSS o que esta acontecendo e que a pagina que e para ser imprimida não vem com os dados Compartilhar este post Link para o post Compartilhar em outros sites
Vinicius Rangel 208 Denunciar post Postado Maio 20, 2012 Tem as paginas CSS o que esta acontecendo e que a pagina que e para ser imprimida não vem com os dados como já informei essa página não é a correta não persista, procure a área de CSS Compartilhar este post Link para o post Compartilhar em outros sites
arldin 1 Denunciar post Postado Maio 20, 2012 Esata que eu postei e o rascunho aqui vai para teste possue veja aquiabaixo <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <HTML><HEAD><TITLE></TITLE> <head> <title>Cadastro</title> <link rel="STYLESHEET" type="text/css" href="estilo.css"> <link rel="STYLESHEET" type="text/css" href="estilo_imprimir.css" media="print"> </head> O poblema não esta em imprimir a pagina o poblema que ela vem mais em branco Compartilhar este post Link para o post Compartilhar em outros sites
Hiago Drigo 5 Denunciar post Postado Maio 21, 2012 Esses caras :wacko: Bom é o seguinte, você está tentando mostrar valores passados por $_POST, e isso não ocorre pois para ir para essa página é apenas um link que vai pra uma página normal. O que você deveria fazer: - Ao clicar no link 'imprimir cadastro', você passaria para a página o ID desse cadastro, id=3; - Na página que vai exibir o cadastro, você vai receber o ID via $_GET e fazer uma consulta no banco, trazendo os resultados daquele ID e assim preenchendo. - Ou a grosso modo, passar tudo via $_GET quando clicar no link. (não aconselho.) Sobre impressão (parte layout), css e js (window.print). Compartilhar este post Link para o post Compartilhar em outros sites
arldin 1 Denunciar post Postado Maio 21, 2012 Bom dia Hiago Drigo Como faço para passar este Id e que estou começando agora a mexe com php Compartilhar este post Link para o post Compartilhar em outros sites
Hiago Drigo 5 Denunciar post Postado Maio 21, 2012 É, reparei que não cadastra os dados no banco. Vai ter que ser $_GET então. Não entendi muito bem esse seu link, o que é essa variável $banco mas vamos lá, algo assim: $mensagem .="<a href='pagina.php?pedido=".$_POST["nosso_numero"]."&nome=".$_POST["sacado"]."&email=".$_POST["email"]."&end=".$_POST["endereco1"]."&num=".$_POST["num"]."&bairro=".$_POST["bairro"]."&cidade=".$_POST["cidade"]."&estado=".$_POST["estado"]."&cep=".$_POST["cep"]."&cadastro=".$_POST["cadastro"]."'>Imprimir Cadastro</a>"; E a página(que vai imprimir) para receber esses valores: (antes do html...) $pedido = $_GET['pedido']; $nome = $_GET['nome']; $email = $_GET['email']; $end = $_GET['end']; $num = $_GET['num']; $bairro = $_GET['bairro']; $cidade = $_GET['cidade']; $estado = $_GET['estado']; $cep = $_GET['cep']; $cadastro = $_GET['cadastro']; E ao invés de colocar no value $_POST... Troque pelo nome das variáveis acima. É apenas uma maneira de resolver seu problema, feio, muito feio, mas sem o banco é o que me vem na cabeça agora. Tentar uma breve explicação, o link para exibir o cadastro está com todos os dados da pessoa, a página que exibe o cadastro está recebendo todos os dados na URL(link) e apenas passando para os inputs. O ruim disso é que caso o usuário mude qualquer coisa no link, por exemplo o nome, vai estar errado. Minha outra solução era no caso de você ter um banco de dados que armazenaria tal cadastro, que além de mais fácil seria mais 'seguro'. Compartilhar este post Link para o post Compartilhar em outros sites
arldin 1 Denunciar post Postado Maio 21, 2012 Mais tem o bd na pagina que eu faço o teste te um include com a pagina que faz o cadastri este e o scriopt <?php $conexao = mysql_connect("localhost:3306","","") or die("Erro na conexão com banco de dados"); $select_db = mysql_select_db("clientes"); $sacado = $_POST["sacado"]; $endereco1 = $_POST["endereco1"]; $num = $_POST["num"]; $bairro = $_POST["bairro"]; $cidade = $_POST["cidade"]; $estado = $_POST["estado"]; $cep = $_POST["cep"]; $email = $_POST["email"]; $string_sql = "INSERT INTO cadastro (codigo_pedido,sacado,endereco1,num,bairro,cidade,estado,cep,email) VALUES (null,'$sacado','$endereco1' , '$num' , '$bairro' , '$cidade' , '$estado' , '$cep' , '$email' )"; //String com consulta SQL da inserção mysql_query($string_sql,$conexao); if(mysql_affected_rows() == 1){ } mysql_close($conexao); ?> e esta cadastrando certinho no db Compartilhar este post Link para o post Compartilhar em outros sites
Vinicius Rangel 208 Denunciar post Postado Maio 21, 2012 Porem quando ele recebe os dados estão certo mais ao mandar imprimir a pagina esta em branco só por esse comentário do autor significa que o problema não esta no PHP, se ele imprimi os dados para visualização sem dúvida na hora de imprimir vai mostrar também. eu ainda acho que é problema com CSS pois como já disse existe um jeito para se criar estilos para impressão. Compartilhar este post Link para o post Compartilhar em outros sites
Hiago Drigo 5 Denunciar post Postado Maio 21, 2012 E sim, não tem nada de problema com CSS, lembrando que css é apenas estilização. :thumbsup: Agooora sim temos algo. Você não tinha mencionado sobre BD. Você faz esse cadastro antes ou depois de enviar o email? Se faz depois troque para fazer antes. Depois que inserir o cadastro $id = mysql_insert_id(); Isso retornará o último id inserido no banco. E no link para imprimir o cadastro coloque ... .php?id= $id; E na página que vai imprimir(mostrar) o cadastro. ... if( isset($_GET['id']) ){ $id = $_GET['id']; }else die('Não foi definido um id.'); $sql = "SELECT * FROM cadastro WHERE id = $id"; $query = mysql_query($sql) or die (mysql_error()); $dados = mysql_fetch_object($query); $pedido = $dados->codigo_pedido; $nome = $dados->sacado; $email = $dados->endereco1; $end = $dados->num; $num = $dados->bairro; $bairro = $dados->cidade; $cidade = $dados->estado; $estado = $dados->cep; $cep = $dados->email; $cadastro = $dados->cadastro; E é só preencher os inputs. ps: Talvez para uma segurança de seus 'clientes' seja necessário talvez criptografar esse id, para que o cliente não veja os dados de outros. ps2: mysql_insert_id Compartilhar este post Link para o post Compartilhar em outros sites
arldin 1 Denunciar post Postado Maio 21, 2012 fiz as alterações coloquei no script de pedido o que você surgeriu certo(php?id= $id;) porem depois que preenche o formulario e mando cadastra da o seguinte erro Parse error: syntax error, unexpected '.', expecting T_VARIABLE or '$' pedido.php on line 28 o cadastro no db e feito ao enviar os dados Compartilhar este post Link para o post Compartilhar em outros sites
Hiago Drigo 5 Denunciar post Postado Maio 22, 2012 Ele conseguiu recuperar os dados certinho? Preenchendo o formulário... Se sim, agora é só você fazer como o de antes, só que ao invés de fazer um insert, vai ser um update, porque talvez a pessoa pode mudar alguma informação, a não seja que você apenas mostre os dados sem dar opção para alteração. Compartilhar este post Link para o post Compartilhar em outros sites
arldin 1 Denunciar post Postado Maio 22, 2012 Agora esta dando a seguinte mensage Não foi definido um id. Compartilhar este post Link para o post Compartilhar em outros sites
arldin 1 Denunciar post Postado Maio 22, 2012 Agora esta dando este erro Você tem um erro em sua sintaxe SQL; verifique o manual que corresponde ao seu servidor MySQL versão para o direito de utilizar sintaxe próximo '* FROM cadastro WHERE id =' at line 1 Compartilhar este post Link para o post Compartilhar em outros sites