É 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!";
}
}
}
?>
Pergunta
Clayton Souza
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.
Este é o código para validar os campos e inserir os dados no banco.Link para o comentário
Compartilhar em outros sites
25 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.