Ver Mensaje Individual
  #1 (permalink)  
Antiguo 21/12/2015, 12:44
kukiko11
 
Fecha de Ingreso: diciembre-2015
Mensajes: 115
Antigüedad: 9 años
Puntos: 2
Sonrisa formulario con php y validado con ajax solo inserta registro una vez?

Pues tal cual... tengo una especie de formulario a traves del cual los usuarios podran ingresar comentarios en los post del blog que estoy haciendo... el inconveniente es que solo me esta permitiendo realizar un solo ingreso de registro... es decir solo un comentario por post... cuando quiero hacer el segundo el formulario simplemente no responde, queda desfuncional no hace nada .... les dejo aca el codigo para que le echen un ojo a ver si me ayudan a conseguir el fallo


dejarcomentario.html

<div class="feat_prod_box-coment" id="box-comentario">
<input type="text" id="usuario" placeholder="Nombre">
<input type="email" id="email" placeholder="Email">
<input type="hidden" id="post" value="<?php echo $id; ?>">
<textarea id="comentario" placeholder="Comentario"></textarea>
<label><?php echo $_SESSION['a']." + ".numero($_SESSION['b']); ?> = <input type="text" style="width:20px;" id="capt"></label><br>
<button id="comentar" onclick="javascript:enviar_comentario();">Comentar </button>
<span id="respuesta" style="color:#FF4545;"></span>
</div>


comentar.php

Código PHP:
<?php
require 'conexiondb.php';
require 
'config.php';

if (!isset(
$_GET['user']) or !isset($_GET['email']) or !isset($_GET['comentario']) or !isset($_GET['post']) or !isset($_GET['capt'])) {
    echo 
"Error inesperado";
}elseif (
strlen($_GET['user'])<or strlen($_GET['user'])>200) {
    echo 
"Error: usuario no válido";
}elseif (
strlen($_GET['comentario'])<or strlen($_GET['comentario'])>1000) {
    echo 
"Error: comentario no válido";
}elseif (
intval($_GET['capt'])!=$_SESSION['a']+$_SESSION['b']) {
    echo 
"Error: Suma incorrecta";
}else{
    
$user $_GET['user'];
    
$email $_GET['email'];
    
$post $_GET['post'];
    
$comentario $_GET['comentario'];
    
$fecha date("d")." de ".mes(date("m"))." de ".date("Y")." a las  ".date("h:i");
     
$sql mysql_query("INSERT INTO `comentarios`( `nombre`, `comentario`, `fecha`, `email`, `post` ) 
        VALUES ('$user','$comentario','$fecha','$email', '$post')" 
);
     if (
$sql) {
         echo 
"gracias por su comentario";
         
     }else{
         echo 
"Error con el servidor, intente más tarde.";
     }
}
?>

comentar.js (para validar el ingreso de datos en los comentarios)

// creamos la funcion que validara nuestro formulario

function enviar_comentario() {
var user = document.getElementById("usuario").value;
if (user.length<5 || user.length>200) {
document.getElementById("usuario").focus();
document.getElementById('respuesta').innerHTML= "Error: Usuario no válido";
return 0;
};

var email = document.getElementById("email").value;
var regexp = /^[0-9a-zA-Z._.-]+\@[0-9a-zA-Z._.-]+\.[0-9a-zA-Z]+$/;
if (regexp.test(email)==0 || email.length==0) {
document.getElementById("email").focus();
document.getElementById('respuesta').innerHTML= "Error: Email no válido"; return 0;
};

var comentario = document.getElementById("comentario").value;
if (comentario.length<5) {
document.getElementById("comentario").focus();
document.getElementById('respuesta').innerHTML= "Error: Comentario no válido"; return 0;
};

var post = document.getElementById("post").value;
var capt = document.getElementById("capt").value;

var url = "php/comentar.php?user="+user+"&email="+email+"&comenta rio="+comentario+"&post="+post+"&capt="+capt;
myRequest.open("GET", url, true);
myRequest.onreadystatechange = respuestaAJAX;
myRequest.send(null);
}


//funcion de respuesta para el ingreso de datos

function respuestaAJAX() {
if(myRequest.readyState == 4) {
if(myRequest.status == 200) {
if (myRequest.responseText>="1") {
document.getElementById("box-comentario").innerHTML="Gracias por su comentario.";
}else{
document.getElementById('respuesta').innerHTML= myRequest.responseText;
}
} else {
document.getElementById('respuesta').innerHTML= myRequest.status;
}
}else{
document.getElementById('respuesta').innerHTML="<i mg src='imagenes/loading.gif' width='16' />";''
}
}