Ir para conteúdo
Fórum Script Brasil

Clayton Souza

Membros
  • Total de itens

    22
  • Registro em

  • Última visita

Tudo que Clayton Souza postou

  1. Clayton Souza

    Upload de foto

    Beleza, bom exercício para mim, mas ainda não cheguei lá, o que acontece: fiz as configurações como segue: no formulário eu fiz o seguinte: <tr> <td colspan="2">Escolha uma foto para enviar: <input type="file" name="arquivo" id="foto" size="25" /> </td> </tr> no form.php que é o action, fiz o seguinte: // como vocês me ensinaram para chamar o arquivo do formulário $foto = $_FILES['arquivo']['tmp_name']; $foto = $_FILES['arquivo']['name']; e mais abaixo eu chamo a variável para imprimir no meu email: $foto Acontece que recebo no meu email só o nome do arquivo, desta forma: Foto: Foto_Clayton.jpg //aqui deveria exibir também a imagem Nome: Clayton Me ajudem aí, alguma dica onde estou errando?, espero que não seja tão óbvio quanto o ponto e vírgula. kkk
  2. Clayton Souza

    Upload de foto

    Valeu a dica, da próxima vez vou estudar phpmailer.
  3. Clayton Souza

    Upload de foto

    Valeu cara, as vezes agente viaja nos detalhes! Vou tentar agora.
  4. Clayton Souza

    Upload de foto

    Rsrs obrigado pela complementação.. como o colega pergunto se era possivel e eu estava com pressa acabei não deixado mais detalhado.. mas é exatamente isso... tenta aee Clayton qualquer coisa volte a postar aqui.. É o seguinte, ao inserir os comandos no arquivo form.php para pegar a imagem dá um erro no code, como vê na imagem: no navegador apareceu a seguinte mensagem: Parse error: syntax error, unexpected T_VARIABLE Desculpem a falta de conhecimento, mas onde estou errando?
  5. Clayton Souza

    Upload de foto

    Olá rapaziada, É o seguinte, eu tenho um formulário em php que envia para o meu email as informações solicitadas, ou seja, este procedimento é feito sem utilizar um banco de dados para facilitar a minha vida, já que sou iniciante em PHP. O problema agora é que eu preciso que os usuários enviem uma foto junto com as informações digitadas no formulário, que a foto seja impressa junto com essas informações, tipo um currículo, e sejam enviadas para meu email sem a necessidade de um banco de dados, é possível? O formulário é simples em html com validação em javascript. Segue abaixo o código em PHP que executa o action do form: <?php $date = date("d/m/Y h:i"); $ipaddress = $_SERVER['REMOTE_ADDR']; // ****** ATENÇÃO ******** // ABAIXO ESTÁ A CONFIGURAÇÃO DO SEU FORMULÁRIO. // ****** ATENÇÃO ******** // Aqui você informa o formato e o charset do e-mail $headers = "MIME-Version: 1.0\n"; $headers .= "Content-type: text/html; charset=iso-8859-1\n"; // RECEBE OS VALORES VINDO DO FORMULÁRIO E ATRIBUI AS VARIÁVEIS $nome = $_POST['nome']; $email = $_POST['email']; $telefone = $_POST['telefone']; $cpf = $_POST['cpf']; $rg = $_POST['rg']; $endereco = $_POST['endereco']; $numero = $_POST['numero']; $complemento = $_POST['complemento']; $bairro = $_POST['bairro']; $estados = $_POST['estados']; $cidade = $_POST['cidade']; $cep = $_POST['cep']; $formac = $_POST['formac']; $formpro = $_POST['formpro']; $ultemp = $_POST['ultemp']; $periodo = $_POST['periodo']; $ultsal = $_POST['ultsal']; $atividades = $_POST['atividades']; $comosoube = $_POST['comosoube']; //CABEÇALHO - ONFIGURAÇÕES SOBRE SEUS DADOS E SEU WEBSITE $nome_do_site="teste"; $email_para_onde_vai_a_mensagem = "teste@teste.com.br"; $nome_de_quem_recebe_a_mensagem = "Fulano"; $exibir_apos_enviar='../enviado.php'; //MAIS - CONFIGURAÇOES DA MENSAGEM ORIGINAL $cabecalho_da_mensagem_original="From: $nome <$email>\n"; $assunto_da_mensagem_original="Currículo de $nome"; // FORMA COMO RECEBERÁ O E-MAIL (FORMULÁRIO) // ******** OBS: SE FOR ADICIONAR NOVOS CAMPOS, ADICIONE OS CAMPOS NA VARIÁVEL ABAIXO ************* $configuracao_da_mensagem_original=" TESTE\n\n Nome: $nome\n Telefone: $telefone\n CPF: $cpf\n RG: $rg\n Email: $email\n\n Endereço: $endereco\n Número: $numero, Complemento: $complemento, Bairro: $bairro, Cidade: $cidade, Estado: $estados\n CEP: $cep\n\n Formação acadêmica:\n $formac\n\n Formação profissional:\n $formpro\n\n Último emprego: $ultemp\n Período: $periodo\n Último salário: $ultsal\n\n Atividades exercidas:\n $atividades\n\n Como soube de nós? $comosoube\n Enviado através do ip: $ipaddress\n EM: $date "; //CONFIGURAÇÕES DA MENSAGEM DE RESPOSTA // CASO $assunto_digitado_pelo_usuario="s" ESSA VARIAVEL RECEBERA AUTOMATICAMENTE A CONFIGURACAO // "Re: $assunto" $assunto_da_mensagem_de_resposta = "Confirmação"; $cabecalho_da_mensagem_de_resposta = "From: $nome_do_site <$email_para_onde_vai_a_mensagem>\n"; $configuracao_da_mensagem_de_resposta="Obrigado por enviar seu currículo!\nEle foi cadastrado com sucesso.\nAtenciosamente,\n$nome_do_site\n\nEnviado em: $date"; // ****** IMPORTANTE ******** // A PARTIR DE AGORA RECOMENDA-SE QUE NÃO ALTERE O SCRIPT PARA QUE O SISTEMA FINCIONE CORRETAMENTE // ****** IMPORTANTE ******** //ESSA VARIAVEL DEFINE SE É O USUARIO QUEM DIGITA O ASSUNTO OU SE DEVE ASSUMIR O ASSUNTO DEFINIDO //POR VOCÊ CASO O USUARIO DEFINA O ASSUNTO PONHA "s" NO LUGAR DE "n" E CRIE O CAMPO DE NOME //'assunto' NO FORMULARIO DE ENVIO $assunto_digitado_pelo_usuario="n"; //ENVIO DA MENSAGEM ORIGINAL $headers = "$cabecalho_da_mensagem_original"; if ($assunto_digitado_pelo_usuario=="n") { $assunto = "$assunto_da_mensagem_original"; }; $seuemail = "$email_para_onde_vai_a_mensagem"; $mensagem = "$configuracao_da_mensagem_original"; mail($seuemail,$assunto,$mensagem,$headers); //ENVIO DE MENSAGEM DE RESPOSTA AUTOMATICA $headers = "$cabecalho_da_mensagem_de_resposta"; if ($assunto_digitado_pelo_usuario=="n") { $assunto = "$assunto_da_mensagem_de_resposta"; } else { $assunto = "Re: $assunto"; }; $mensagem = "$configuracao_da_mensagem_de_resposta"; mail($email,$assunto,$mensagem,$headers); echo "&lt;script>window.location='$exibir_apos_enviar'</script>"; ?>
  6. Olá galera, É o seguinte, eu tenho um slide de imagem em js que peguei na net, fiz alguma alterações, nada em código js, só css para alterar tamanho e alterei as imagens claro, acontece que na imagem ten uns botões de paginação e está aparecendo uns pontos pretos em cada botão, o que fica esteticamente desagradável, eu não sei como remover este ponto, alguém aí sabe do que se trata: arquivos js jquery-1.6.js jquery.easing.1.3.js tms_presets.js tms-0.3 script.js além destes há o style.css. se precisar visualizar algum código posta aí que eu exibo. veja a imagem com pontos preto nos bot~es de paginação
  7. Legal, entendi o seu raciocínio, eu posso neste "if": // Exibe uma mensagem de resultado // Obs.: este if não está sendo utilizado já que direciono para a página "enviado" if ($enviado) { echo "E-mail enviado com sucessoo!"; } else { echo "Não foi possível enviar o e-mail.<br /><br />"; echo "<b>Informações do erro:</b> <br />" . $mail->ErrorInfo; } ?> Inserir o código para resposta automática utilizando a função mail(), só que eu fiz alguns testes e a mensagem de resposta não seguiu, apesar de ter consultado o o manual do PHP em "http://br.php.net/manual/pt_BR/function.mail.php", encontrei um problema entre a cadeira e o pc, rsrs... Me ajuda aí como posso fazer para funcionar?
  8. Pessoal é o seguinte, tenho um código que envia o email com atenticação em phpmailer, está funcionando perfeito, só que eu quero que seja enviado uma resposta automática quando o usuário clicar enviar, ou seja, ele recebe uma mensagem em sua caixa de email de confirmação, já fiz alguns testes mas estou levando uma surra e não consigo o que quero, alguém pode ajudar, segue o código: <?php //autenticacao //----------------- //$porta = ''; // porta padrão: 25 //$secure = ''; // 'ssl' ou 'tls' //----------------- $host = 'smtp.finestraonline.com.br'; $userName = 'teste@finestraonline.com.br'; $senha = 'teste352151'; //---------------- $from = 'finestracortinas@gmail.com'; $fromName = 'Finestra - online'; $addAddress = 'clayton_gs@yahoo.com.br';//destinatario $nameAddAddress = 'Comercial - Finestra';//nome destinatario $nome = $_POST['nome']; $email = $_POST['email']; $telefone = $_POST['telefone']; $mensagem = $_POST['mensagem']; $charset = 'utf-8'; $subject = 'Contato no site'; //titulo $arquivo = ''; $tipoTexto = 'html'; $body = " <p><h1>FINESTRA ONLINE</h1></p> <hr> <p><b>Nome:</b> $nome<br /> <b>Email:</b> $email<br /> <b>Telefone:</b> $telefone<br /><br /> <hr> <p><b>Mensagem:</b></p><br /> $mensagem ";//corpo do email $exibir_apos_enviar='enviado.php'; require("phpmailer/class.phpmailer.php"); // Inicia a classe PHPMailer $mail = new PHPMailer(); // Define os dados do servidor e tipo de conexão // =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= $mail->IsSMTP(); // Define que a mensagem será SMTP $mail->Host = $host; // Endereço do servidor SMTP $mail->SMTPAuth = true; // Usa autenticação SMTP? (opcional) $mail->Username = $userName; // Usuário do servidor SMTP $mail->Password = $senha; // Senha do servidor SMTP $mail->SMTPSecure = $secure; $mail->Port = $porta; // Define o remetente // =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= $mail->From = $from; // Seu e-mail $mail->FromName = $fromName; // Seu nome // Define os destinatário(s) // =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= $mail->AddAddress($addAddress, $nameAddAddress); //$mail->AddAddress('renatodecastro@gmail.com'); //$mail->AddCC('finestracortinas@gmail.com', 'Ciclano'); // Copia //$mail->AddBCC('fulano@dominio.com.br', 'Fulano da Silva'); // Cópia Oculta // Define os dados técnicos da Mensagem // =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= if ($tipoTexto=='html'){ $mail->IsHTML(true); // Define que o e-mail será enviado como HTML }elseif($tipoTexto=='texto'){ $mail->IsHTML(false); // Define que o e-mail será enviado como HTML } $mail->CharSet = $charset; // Charset da mensagem (opcional) // Define a mensagem (Texto e Assunto) // =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= $mail->Subject = $subject; // Assunto da mensagem $mail->Body = $body; $mail->AltBody = '\n \n \n Teste de envio phpmailer \r\n '; // Define os anexos (opcional) // =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= if ($arquivo!=""){ $mail->AddAttachment($arquivo, "exemplo_anexo.jpg"); // Insere um anexo } // Envia o e-mail $enviado = $mail->Send(); // Limpa os destinatários e os anexos $mail->ClearAllRecipients(); $mail->ClearAttachments(); echo "&lt;script>window.location='$exibir_apos_enviar'</script>"; // Exibe uma mensagem de resultado if ($enviado) { echo "E-mail enviado com sucessoo!"; } else { echo "Não foi possível enviar o e-mail.<br /><br />"; echo "<b>Informações do erro:</b> <br />" . $mail->ErrorInfo; } ?>
  9. Beleza pessoal, conseguí resolver maior parte do problema, agora é o seguinte: O que acontece agora é que a validação só funciona em parte. Se deixo algum campo em branco ou insiro a informação errada, o script não envia para o banco de dados, mas não dá a menssagem ao usuário: por exemplo: "escreva o seu nome" ou "escreva um email válido" Quando insiro todas as informações corretas, não aparece a mensagem "Recebemos seu comentário e ele sera publicado assim que for aprovado por nossa equipe, obrigado!", O que está faltando, ou sobrando? Vou colar o código alterado <?php error_reporting(E_ALL); ini_set('display_errors', '1'); mysql_connect("localhost", "root", "") or die(mysql_error()); mysql_select_db("Comentarios") or die(mysql_error()); if(isset($_POST['cadastrar']) && $_POST['cadastrar'] == 'ok'){ $post_status = 'aguardando'; $post_data = date('Y-m-d H:i:s'); $nome = strip_tags(trim($_POST['nome'])); $email = strip_tags(trim($_POST['email'])); $comentario = strip_tags(trim($_POST['comentario'])); if(empty($nome)){ $retorno = "informe o seu nome"; }elseif(empty($email)){ $retorno = "informe o seu email"; }elseif(!filter_var($email, FILTER_VALIDATE_EMAIL)){ $retorno = "informe um email válido"; }elseif(empty($comentario)){ $retorno = "escreva o seu comentário"; }if(empty($retorno)){ $cadastrar_comentario = mysql_query ("INSERT INTO c_comments (post_status, data, nome, email, comentario) VALUES ('$post_status', '$post_data', '$nome', '$email', '$comentario')") or die(mysql_error()); if($cadastrar_comentario >= '1'){ $retorno = "Recebemos seu comentário e ele sera publicado assim que for aprovado por nossa equipe, obrigado!"; unset($form_nome, $form_email, $form_comentario); }else{ $retorno = "Erro ao cadastrar seu comentário, tente novamente!"; } } } ?> <ul> <?php $comentarios = mysql_query("SELECT id,post_status,data,nome,email,comentario FROM c_comments WHERE post_status = 'aprovado' ORDER BY data ASC") or die(mysql_error()); if(@mysql_num_rows($comentarios) == '0'){ echo "Não existe comentário neste tópico, seja o primeiro"; }else{ while($res_comments=mysql_fetch_array($comentarios)){ $id = $res_comments[0]; $post_status = $res_comments[1]; $data = $res_comments[2]; $nome = $res_comments[3]; $email = $res_comments[4]; $comentario = $res_comments[5]; $default = "http://www.gravatar.com/avatar/ad516503a11cd5ca435acc9bb6523536?s=60"; $size = 60; $grav_url = "http://www.gravatar.com/avatar/" . md5( strtolower( trim( $email ) ) ) . "?d=" . urlencode( $default ) . "&s=" . $size; ?> <li> <h2> <img src="<?php echo $grav_url; ?>" alt="" /><?php echo $nome; ?> disse em <?php echo date('d/m/y H:m', strtotime($data)); ?>h </h2> <p> <?php echo $comentario;?> </p> </li> <?php } } ?> </ul> <div id="comentar"> <?php $form_nome = (isSet($_POST['nome']))?$_POST['nome']:''; $form_email = (isSet($_POST['email']))?$_POST['email']:''; $form_comentario = (isSet($_POST['comentario']))?$_POST['comentario']:''; ?> <form method="post" action="" name="comentar" enctype="multipart/form-data"> <fieldset> <legend>Deixe seu comentário</legend> <label><span>Nome</span> <input type="text" name="nome" name="nome" value="<?php echo $form_nome; ?>" /></label> <label><span>Email</span> <input type="text" name="email" value="<?php echo $form_email; ?>" /></label> <label><span>Comentário</span> <textarea name="comentario" rows="5" cols="0"><?php echo $form_comentario; ?></textarea> <input type="hidden" name="cadastrar" value="ok" /> <input type="submit" value="Enviar Comentário" class="btn"/> </fieldset> </form> </id><!--comentar-->
  10. Oi, agora está retornando este erro: Warning: mysql_affected_rows(): supplied argument is not a valid MySQL-Link resource in C:\Program Files\Apache Software Foundation\Apache2.2\htdocs\comentarios.php on line 56 Erro ao cadastrar seu comentário, tente novamente! Já ao subir a um servidor remoto deu o seguinte erro: Entrada '0' duplicada para a chave 1 O código está assim: <?php error_reporting(E_ALL); ini_set('display_errors', '1'); mysql_connect("localhost", "root", "") or die(mysql_error()); mysql_select_db("comentarios") or die(mysql_error()); if(isset($_POST['cadastrar']) && $_POST['cadastrar'] == 'ok'){ echo "ok"; $post_status = 'aguardando'; $post_data = date('Y-m-d H:i:s'); $nome = strip_tags(trim($_POST['nome'])); $email = strip_tags(trim($_POST['email'])); $comentario = strip_tags(trim($_POST['comentario'])); if(empty($nome)){ $retorno = "informe seu nome"; }else if(empty($email)){ $retorno = "informe seu email"; }else if(filter_var($email, FILTER_VALIDATE_EMAIL)){ $retorno = "informe um email válido"; }else if(empty($comentario)){ $retorno = "escreva seu comentário"; }else if(empty($retorno)){ linha 55 $cadastrar_comentario = mysql_query("INSERT INTO c_comments (post_status, data, nome, email, comentario) VALUES ('$post_status', '$post_data', '$nome', '$email', '$comentario')") or die(mysql_error()); linha 56 if(mysql_affected_rows($cadastrar_comentario)){ linha 57 $retorno = "Recebemos seu comentário, ele será publicado depois de aprovado. Obrigado!"; unset($form_nome, $form_email, $form_comentario); }else{ $retorno = "Erro ao cadastrar seu comentário, tente novamente!"; } echo $retorno; } } ?> <ul> <?php $comentarios = mysql_query("SELECT post_status,data,nome,email,comentario FROM c_comments WHERE post_status = 'aprovado' ORDER BY data ASC") or die(mysql_error()); if(@mysql_num_rows($comentarios) == '0'){ echo "Não existe comentário neste tópico, seja o primeiro"; }else{ while($res_comments=mysql_fetch_array($comentarios)){ $post_status = $res_comments[0]; $data = $res_comments[1]; $nome = $res_comments[2]; $email = $res_comments[3]; $comentario = $res_comments[4]; $default = "http://www.gravatar.com/avatar/ad516503a11cd5ca435acc9bb6523536?s=60"; $size = 60; $grav_url = "http://www.gravatar.com/avatar/" . md5( strtolower( trim( $email ) ) ) . "?d=" . urlencode( $default ) . "&s=" . $size; ?> <li> <h2> <img src="<?php echo $grav_url; ?>" alt="" /><?php echo $nome; ?> disse em <?php echo date('d/m/y H:m', strtotime($data)); ?>h </h2> <p> <?php echo $comentario;?> </p> </li> <?php } } ?> </ul> <div id="comentar"> <?php $form_nome = (isSet($_POST['nome']))?$_POST['nome']:''; $form_email = (isSet($_POST['email']))?$_POST['email']:''; $form_comentario = (isSet($_POST['comentario']))?$_POST['comentario']:''; ?> <form method="post" action="" name="comentar" enctype="multipart/form-data"> <fieldset> <legend>Deixe seu comentário</legend> <label><span>Nome</span> <input type="text" name="nome" name="nome" value="<?php echo $form_nome; ?>" /></label> <label><span>Email</span> <input type="text" name="email" value="<?php echo $form_email; ?>" /></label> <label><span>Comentário</span> <textarea name="comentario" rows="5" cols="0"><?php echo $form_comentario; ?></textarea> <input type="hidden" name="cadastrar" value="ok" /> <input type="submit" value="Enviar Comentário" class="btn"/> </fieldset> </form> </id><!--comentar-->
  11. Infelizmente só retorna esta página, nenhuma mensagem de erro.
  12. Bem, fiz a alteração no banco de dados e alterei o campo 'data' e criei o campo 'time' ficou assim: INSERT INTO `comentarios`.`c_comments` ( `id` , `post_status` , `data` , `time` , `nome` , `email` , `comentario` ) Sendo que o campo 'data' é do tipo 'DATE' e o campo 'time' é do tipo 'TIME'. Mais uma vez retorna uma página com o erro HTTP500. Vou colar o código aqui para ver onde eu errei. <?php error_reporting(E_ALL); ini_set('display_errors', '1'); $conexao = mysql_connect("localhost", "root", "") or die ("Não foi possivel conectar ao servidor MySQL"); $db = mysql_select_db("comentarios") or die ("Não foi possivel acessar o banco de dados"); if(isset($_POST['cadastrar']) && $_POST['cadastrar'] == 'ok'){ echo "ok"; $post_status = 'aguardando'; $post_data = date('Y-m-d H:i:s'); $post_time = time('H:i:s'); $nome = strip_tags(trim($_POST['nome'])); $email = strip_tags(trim($_POST['email'])); $comentario = strip_tags(trim($_POST['comentario'])); if(empty($nome)){ $retorno = "informe o seu nome"; }else if(empty($email)){ $retorno = "informe o seu email"; }else if(filter_var($email, FILTER_VALIDATE_EMAIL)){ $retorno = "informe um email válido"; }else if(empty($comentario)){ $retorno = "escreva o seu comentário"; }else if(empty($retorno)){ $cadastrar_comentario = mysql_query("INSERT INTO c_comments (post_status, data, time, nome, email, comentario) VALUES ('$post_status', '$post_data', '$post_time', '$nome', '$email', '$comentario')") or die(mysql_error()); if(mysql_affected_rows($cadastrar_comentario)){ $retorno = "Recebemos seu comentário, ele será publicado depois de aprovado. Obrigado!"; unset($form_nome, $form_email, $form_comentario); }else{ $retorno = "Erro ao cadastrar seu comentário, tente novamente!"; } echo $retorno; } } ?> <ul> <?php $comentarios = mysql_query("SELECT post_status,data,time,nome,email,comentario FROM c_comments WHERE post_status = 'aprovado' ORDER BY data ASC") or die(mysql_error()); if(@mysql_num_rows($comentarios) == '0'){ echo "Não existe comentário neste tópico, seja o primeiro"; }else{ while($res_comments=mysql_fetch_array($comentarios)){ $post_status = $res_comments[0]; $data = $res_comments[1]; $time = $res_comments[2] $nome = $res_comments[3]; $email = $res_comments[4]; $comentario = $res_comments[5]; $default = "http://www.gravatar.com/avatar/ad516503a11cd5ca435acc9bb6523536?s=60"; $size = 60; $grav_url = "http://www.gravatar.com/avatar/" . md5( strtolower( trim( $email ) ) ) . "?d=" . urlencode( $default ) . "&s=" . $size; ?> <li> <h2> <img src="<?php echo $grav_url; ?>" alt="" /><?php echo $nome; ?> escreveu em <?php echo date('d/m/y'($data)); ?> <?php echo time('H:i:s'($time)); ?>h </h2> <p> <?php echo $comentario;?> </p> </li> <?php } } ?> </ul> <div id="comentar"> <?php $form_nome = (isSet($_POST['nome']))?$_POST['nome']:''; $form_email = (isSet($_POST['email']))?$_POST['email']:''; $form_comentario = (isSet($_POST['comentario']))?$_POST['comentario']:''; ?> <form method="post" action="" name="comentar" enctype="multipart/form-data"> <fieldset> <legend>Deixe seu comentário</legend> <label><span>Nome</span> <input type="text" name="nome" name="nome" value="<?php echo $form_nome; ?>" /></label> <label><span>Email</span> <input type="text" name="email" value="<?php echo $form_email; ?>" /></label> <label><span>Comentário</span> <textarea name="comentario" rows="5" cols="0"><?php echo $form_comentario; ?></textarea> <input type="hidden" name="cadastrar" value="ok" /> <input type="submit" value="Enviar comentário" class="btn"/> </fieldset> </form> </id><!--comentar-->
  13. Perfeito, vou mudar o campo data e criar um campo time, realizar as alterações no código e torçer para dar certo, valeu! Depois comento o resultado.
  14. Vou ler o link com as informações, para um aprendiz este tipo de informação é valiosa. Pois bem, tenho um campo data onde o tipo é timestamp, com atributo on update CURRENT_TIMESTAMP, padrão CURRENT_TIMESTAMP, extra ON UPDATE CURRENT_TIMESTAMP. Sendo o erro Incorrect datetime value: 'post_data' for column 'data' at row 1 Tentei mudar o tipo para DATATIME, mas deu o seguint erro: Erro consulta SQL: ALTER TABLE `c_comments` CHANGE `data` `data` DATETIME ON UPDATE CURRENT_TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP Mensagens do MySQL : #1067 - Invalid default value for 'data'
  15. Na verdade este campo 'id' é automático, gera uma sequência numérica que é atribuida a cada comentário, eu eliminei todas as referências ao 'id' do script e deu o seguinte erro: Incorrect datetime value: 'post_data' for column 'data' at row 1 Seria esta linha $post_data = date('Y-m-d H:i:s'); está incorreto este formato de data e hora, ou sugere outro erro? Se eu digitar o caminho na barra de endereço do navegador, consigo acessar os comentários e o formulário, se inserir o comentário direto no banco e atualizar a página, funciona tudo perfeito, mas ao tentar inserir os dados e comentário pelo formulário e clicar em enviar, gera o erro mostrado acima.
  16. Sem problemas, quando eu escrevo o comentário direto no banco de dados funciona perfeitamente, o que devo fazer? Também, qual o collation que devo usar para que os comentários seja acentuados, pois estão sendo registrados assim: este sistema de coment�rios funciona?
  17. Muito boa sua correção, agora percebo que o código funciona, pelo menos está retornando os erros, o que dá um norte não é?, desculpa a demora em dar retorno, é que a velox me deixou alguns dias sem sinal. Bem o erro que está retornando é o seguinte: Notice: Undefined index: id in C:\Program Files\Apache Software Foundation\Apache2.2\htdocs\comentarios.php on line 30 Incorrect integer value: '' for column 'id' at row 1 Seguem as linhas próximas da linha 30: 27 $post_status = 'aguardando'; 28 $post_data = date('Y-m-d H:i:s'); 29 $id = strip_tags(trim($_POST['id'])); 30 $nome = strip_tags(trim($_POST['nome'])); 31 $email = strip_tags(trim($_POST['email'])); 32 $comentario = strip_tags(trim($_POST['comentario'])); Na minha tabela; O campo id é do tipo int(11), nulo não, AUTO_INCREMENT, PRIMARY_KEY O campo post_status é do tipo text, nulo não o campo data é do tipo timestamp, nulo não, CURRENT_TIMESTAMP, ON UPDATE_TIMESTAMP O campo nome é do tipo text, nulo não O campo email é do tipo text, nulo não O campo comentario é do tipo text, nulo não
  18. É está difícil, não sei mais o que perguntar, acho que vou desistir deste código, continua retornando uma página em branco e nehuma mensagem de erro, todavia, vou colar mais uma vez o código com as mudanças aí: <?php error_reporting(E_ALL); ini_set('display_errors', '1'); if(isset($_POST['cadastrar']) && $_POST['cadastrar'] == 'ok'){ $post_status = 'aguardando'; $post_data = 'date('Y-m-d H:i:s); $id = strip_tags(trim($_POST['id'])); $nome = strip_tags(trim($_POST['nome'])); $email = strip_tags(trim($_POST['email'])); $comentario = strip_tags(trim($_POST['comentario'])); if(empty($nome)){ $retorno = "informe seu nome"; }else if(empty($email)){ $retorno = "informe seu email"; }else if(filter_var($email, FILTER_VALIDATE_EMAIL)){ $retorno = "informe um email válido"; }else if(empty($comentario)){ $retorno = "escreva seu comentário"; }else if(empty($retorno)){ $cadastrar_comentario = mysql_query("INSERT INTO c_comments (id, post_status, data, nome, email, comentario) VALUES ('$id', '$post_status', 'post_data', '$nome', '$email', '$comentario')") or die(mysql_error()); if(mysql_affected_rows($cadastrar_comentario)){ $retorno = "Recebemos seu comentário, ele será publicado depois de aprovado. Obrigado!"; unset($form_nome, $form_email, $form_comentario); }else{ $retorno = "Erro ao cadastrar seu comentário, tente novamente!"; } echo $retorno } } ?> <ul> <?php $comentarios = mysql_query("SELECT id, post_status, data, nome, email, comentario FROM c_comments WHERE post_status = 'aprovado' ORDER BY data ASC") or die(mysql_error()); if(@mysql_num_rows($comentarios) == '0'){ echo "Não existe comentário neste tópico, seja o primeiro"; }else{ while($res_comments=mysql_fetch_array($comentarios)){ $id = $res_comments[0]; $post_status = $res_comments[1]; $data = $res_comments[2]; $nome = $res_comments[3]; $email = $res_comments[4]; $comentario = $res_comments[5]; $default = "http://www.gravatar.com/avatar/ad516503a11cd5ca435acc9bb6523536?s=60"; $size = 60; $grav_url = "http://www.gravatar.com/avatar/" . md5( strtolower( trim( $email ) ) ) . "?d=" . urlencode( $default ) . "&s=" . $size; ?> <li> <h2><img src="<?php echo $grav_url; ?>" alt="" /><?php echo $nome; ?> disse em <?php echo date('d/m/y H:m', strtotime($data)); ?>h</h2> <p><?php echo $comentario;?> </li> <?php } } ?> </ul> <div id="comentar"> <?php $form_nome = $_POST['nome']; $form_email = $_POST['email']; $form_comentario = $_POST['comentario']; ?> <form method="post" action="" name="comentar" enctype="multipart/form-data"> <fieldset> <legend>Deixe seu comentário</legend> <label><span>Nome</span> <input type="text" name="nome" value="<?php echo $form_nome; ?>" /></label> <label><span>Email</span> <input type="text" name="email" value="<?php echo $form_email; ?>" /></label> <label><span>Comentário</span> <textarea name="comentario" rows="5" cols="0"><?php echo $form_comentario; ?></textarea> <input type="hidden" name="Cadastrar" value="Ok" /> <input type="submit" value="Enviar Comentário" class="btn"/> </fieldset> </form> </id><!--comentar-->
  19. Segue o código completo: <?php error_reporting(E_ALL); ini_set('display_errors', '1'); if(isset($_POST['cadastrar']) && $_POST['cadastrar'] == 'ok'){ $post_status = 'aguardando'; $recupera = $_GET['post']; $autor = strip_tags(trim($_POST['nome'])); $email = strip_tags(trim($_POST['email'])); $comentario = strip_tags(trim($_POST['comentario'])); if(empty($autor)){ $retorno = "informe seu nome"; }else if(empty($email)){ $retorno = "informe seu email"; }else if(empty(filter_var($email, FILTER_VALIDATE_EMAIL))){ $retorno = "informe um email válido"; }else if(empty($comentario)){ $retorno = "escreva seu comentário"; }else if(empty($retorno)){ $cadastrar_comentario = mysql_query("INSERT INTO c_comments (id, post_status, data, nome, email, comentario) VALUES ('$recupera', '$post_status', 'post_data', '$nome', '$email', '$comentario')") or die(mysql_error()); if(mysql_affected_rows($cadastrar_comentario)){ $retorno = "Recebemos seu comentário, ele será publicado depois de aprovado. Obrigado!"; unset($form_autor, $form_email, $form_comentario); }else{ $retorno = "Erro ao cadastrar seu comentário, tente novamente!"; } echo $retorno } } ?> <ul> <?php $comentarios = mysql_query("SELECT id, post_status, data, nome, email, comentario FROM c_comments WHERE post_status = 'aprovado' ORDER BY data ASC") or die(mysql_error()); if(@mysql_num_rows($comentarios) == '0'){ echo "Não existe comentário neste tópico, seja o primeiro"; }else{ while($res_comments=mysql_fetch_array($comentarios)){ $id = $res_comments[0]; $post_status = $res_comments[1]; $data = $res_comments[2]; $nome = $res_comments[3]; $email = $res_comments[4]; $comentario = $res_comments[5]; $default = "http://www.gravatar.com/avatar/ad516503a11cd5ca435acc9bb6523536?s=60"; $size = 60; $grav_url = "http://www.gravatar.com/avatar/" . md5( strtolower( trim( $email ) ) ) . "?d=" . urlencode( $default ) . "&s=" . $size; ?> <li> <h2><img src="<?php echo $grav_url; ?>" alt="" /><?php echo $nome; ?> disse em <?php echo date('d/m/y H:m', strtotime($data)); ?>h</h2> <p><?php echo $comentario;?> </li> <?php } } ?> </ul> <div id="comentar"> <?php $form_nome = $_POST['nome']; $form_email = $_POST['email']; $form_comentario = $_POST['comentario']; ?> <form method="post" action="" name="comentar" enctype="multipart/form-data"> <fieldset> <legend>Deixe seu comentário</legend> <label><span>Nome</span> <input type="text" name="nome" value="<?php echo $form_nome; ?>" /></label> <label><span>Email</span> <input type="text" name="email" value="<?php echo $form_email; ?>" /></label> <label><span>Comentário</span> <textarea name="comentario" rows="5" cols="0"><?php echo $form_comentario; ?></textarea> <input type="hidden" name="Cadastrar" value="Ok" /> <input type="submit" value="Enviar Comentário" class="btn"/> </fieldset> </form> </id><!--comentar-->
  20. Eu fiz todas as modificações, testei no servidor local, subi para um servidor remoto e nada, nem retorna erro, só uma página em branco, mesmo colocando a linha error_reporting(E_ALL); ini_set('display_errors', '1'); Não retornou erro, mais alguma dica ou eu consegui realmente dá um nó nesse script?
  21. Valeu pela dica, coloquei o echo $retorno; desta forma $retorno = "Erro ao cadastrar seu comentário, tente novamente!"; echo $retorno; Mas continua retornando uma página em branco e nenhum erro.
  22. Oi pessoal, Será que alguém pode me ajudar? É o seguinte, eu conheço pouco de PHP, estou tentando criar um sistema de comentários, o sistema funciona, só que ao inserir o código para validar os campos e inserir os dados no banco, a página do navegador fica em branco, onde estou errando?, segue o código: este é o código do sistema de comentários que está funcionando, se eu inserir as informações direto no banco de dados e atualizar, o comentário aparece normalmente, mas se inserir a validação e o INSERT, retorna uma página em branco e não tenho acesso ao formulário. //estou inserindo o código de validação dos campos e o INSERT antes desta <ul> abaixo <ul> <?php $comentarios = mysql_query("SELECT id, post_status, data, nome, email, comentario FROM c_comments WHERE post_status = 'aprovado' ORDER BY data ASC") or die(mysql_error()); if(@mysql_num_rows($comentarios) == '0'){ echo "Não existe comentário neste tópico, seja o primeiro"; }else{ while($res_comments=mysql_fetch_array($comentarios)){ $id = $res_comments[0]; $post_status = $res_comments[1]; $data = $res_comments[2]; $nome = $res_comments[3]; $email = $res_comments[4]; $comentario = $res_comments[5]; $default = "http://www.gravatar.com/avatar/ad516503a11cd5ca435acc9bb6523536?s=60"; $size = 60; $grav_url = "http://www.gravatar.com/avatar/" . md5( strtolower( trim( $email ) ) ) . "?d=" . urlencode( $default ) . "&s=" . $size; ?> <li> <h2><img src="<?php echo $grav_url; ?>" alt="" /><?php echo $nome; ?> disse em <?php echo date('d/m/y H:m', strtotime($data)); ?></h2> <p><?php echo $comentario;?> </li> <?php } } ?> </ul> <div id="comentar"> <?php $form_nome = $_POST['nome']; $form_email = $_POST['email']; $form_comentario = $_POST['comentario']; ?> <form method="post" action="" name="comentar" enctype="multipart/form-data"> <fieldset> <legend>Deixe seu comentário</legend> <label><span>Nome</span> <input type="text" name="nome" value="<?php echo $form_nome; ?>" /></label> <label><span>Email</span> <input type="text" name="email" value="<?php echo $form_email; ?>" /></label> <label><span>Comentário</span> <textarea name="comentario" rows="5" cols="0"><?php echo $form_comentario; ?></textarea> <input type="hidden" name="Cadastrar" value="Ok" /> <input type="submit" value="Enviar Comentário" class="btn"/> </fieldset> </form> </id><!--comentar--> Este é o código para validar os campos e inserir os dados no banco. <?php if(isset($_POST['cadastrar']) && $_POST['cadastrar'] == 'ok'){ <?php $post_status = 'aguardando'; $recupera = $_GET['post']; $nome = strip_tags(trim($_POST['nome'])); $email = strip_tags(trim($_POST['email'])); $comentario = strip_tags(trim($_POST['comentario'])); if(empty($nome)){ $retorno = "informe seu nome"; }elseif(empty($email)){ $retorno = "informe seu email"; }elseif(empty(!filter_var($email, FILTER _VALIDATE_EMAIL)){ $retorno = "informe um email válido"; }elseif(empty($comentario)){ $retorno = "escreva seu comentário"; }elseif(empty($retorno)){ $cadastrar_comentario = mysql_query("INSERT INTO c_comments (id, post_status, data, autor, email, comentario) VALUES ('$recupera', '$post_status', 'post_data', '$nome', '$email', , '$comentario')") or die(mysql_error()); if($cadastrar_comentario >= '1'){ $retorno = "Recebemos seu comentário, ele será publicado depois de aprovado. Obrigado!"; unset($form_nome, $form_email, $form_comentario); }else{ $retorno = "Erro ao cadastrar seu comentário, tente novamente!"; } } } ?>
×
×
  • Criar Novo...