Ver Mensaje Individual
  #1 (permalink)  
Antiguo 06/06/2013, 18:46
Avatar de freddy31DA
freddy31DA
 
Fecha de Ingreso: junio-2012
Mensajes: 84
Antigüedad: 11 años, 10 meses
Puntos: 2
Busqueda validar formulario de comentarios conflicto

Qué tal amigos de forosdelweb. E creado un sistema de noticias y lo que pasa es de que los datos no se ingresan a la base de datos. Creo que es por el exceso de seguridad que le e puesto pero aun así no se si es seguro. Al dejar solo así el archivo para procesar la información la información se ingresa normalmente.
Código:
<?php
	require_once("conexion.php");


	
	$nombre = htmlspecialchars(mysqli_real_escape_string($conexion, $_POST["nombre"]),ENT_QUOTES);
	$correo = htmlspecialchars(mysqli_real_escape_string($conexion, $_POST["correo"]),ENT_QUOTES);
	$comentario = htmlspecialchars(mysqli_real_escape_string($conexion, $_POST["comentario"]),ENT_QUOTES);
	$id_noticia = htmlspecialchars(mysqli_real_escape_string($conexion, $_POST["id_noticia"]),ENT_QUOTES);

	
	$sql = "INSERT INTO comentarios VALUES (null,'".$nombre."','".$correo."','".$comentario."','".$id_noticia."')";
	
	$result = $conexion->query($sql);
	header("Location: detalle.php?id_noticia=".$id_noticia);
	
	

?>
El formulario es el siguiente:
Código:
 <form action="comentario_process.php" method="post" name="form">
                <label>Nombre</label><br>
                <input type="text" name="nombre" required>
                <br>
                <label>correo</label><br>
                <input type="email" name="correo" required>
                <br>
                <label>comentario</label>
                <br>
                <textarea cols="52" rows="6" name="comentario" required></textarea>
               <input type="hidden" name="id_noticia" value="<?php echo $_GET["id_noticia"] ?>">
                <input type="submit" value="Comentar" title="Enviar Comentario" style="cursor:pointer">
                </form>
el valor del campo hidden es de el id de la noticia bueno estos datos llegan correctamente al archivo para procesar. Aquí todo bien pero Que pasa cuando modifico el código fuente al modificar el atributo required lo borro usando inspeccionando el elemento de google chrome. El formulario queda totalmente habilitado para que se puedan enviar campos vacíos y el codigo de arribar si acepta campos vacíos y los ingresa a la base de datos pero ese es el problema.

Ahora la otra opción para validar mis campos es la siguiente e aqui donde ocurre el problema ya que no logra ingresarme los datos.

Código:
<?php
	require_once("conexion.php");
	
	if(isset($_POST["nombre"]) && !empty($_POST["nombre"]) &&
	isset($_POST["correo"]) && !empty($_POST["correo"]) &&
	isset($_POST["comentario"]) && !empty($_POST["comentario"]) &&
	isset($_POST["id_video"]) && !empty($_POST["id_video"])) {
	

	
	$nombre = htmlspecialchars(mysqli_real_escape_string($conexion, $_POST["nombre"]),ENT_QUOTES);
	$correo = htmlspecialchars(mysqli_real_escape_string($conexion, $_POST["correo"]),ENT_QUOTES);
	$comentario = htmlspecialchars(mysqli_real_escape_string($conexion, $_POST["comentario"]),ENT_QUOTES);
	$id_noticia = htmlspecialchars(mysqli_real_escape_string($conexion, $_POST["id_noticia"]),ENT_QUOTES);

	
	
	
	$sql = "INSERT INTO comentarios VALUES (null,'".$nombre."','".$correo."','".$comentario."','".$id_noticia."')";
	
	$result = $conexion->query($sql);
	header("Location: detalle.php?id_noticia=".$id_noticia);
	
	
	
	}else{
echo "Error al ingresar los datos ";
//Aqui estoy trabajando para ridereccionar etc....

}





?>
No se lo que está pasando. También e intentado otras formas poniendo las variables $nombre - $correo - $comentario - $id_noticia dentro la condición if . Espero alguna sugerencia por parte de ustedes para solucionar esto gracias.