Foros del Web » Programando para Internet » PHP »

[AYUDA]Evitar envío de campos vacíos, y otras cosas

Estas en el tema de [AYUDA]Evitar envío de campos vacíos, y otras cosas en el foro de PHP en Foros del Web. Saludos, escribía porque quiero que me ayuden en esto. Creé una base de datos, y un script que envía los datos a la database, el ...
  #1 (permalink)  
Antiguo 08/06/2013, 13:37
 
Fecha de Ingreso: junio-2013
Ubicación: Estado Lara
Mensajes: 33
Antigüedad: 11 años, 5 meses
Puntos: 0
[AYUDA]Evitar envío de campos vacíos, y otras cosas

Saludos, escribía porque quiero que me ayuden en esto.

Creé una base de datos, y un script que envía los datos a la database, el problema está que los usuarios pueden enviar la información dejando los campos vacíos,, y me gustaría colocar reglas para cada campo, por ejemplo.. tengo tablas con los siguientes campos:

('".$_POST['nombre']."', '".$_POST['apellido']."', '".$_POST['correo']."', '".$_POST['ci']."', '".$_POST['telefono']."', '".$_POST['curso']."')";

Me gustaría que todos los campos sean obligatorio llenarlos, y ya que todas las vocales acentuadas no se visualizan bien en la base de datos, que el usuario de manera obligatoria deba escribir los datos todos en mayúscula, y sin acentuación, que en el campo correo, escriban un correo válido, ya que si escriben cualquier cosa, los datos igual se envían, en el campo teléfono que solo se acepten números, y en el campo curso, si la persona no selecciona nada, y envían la información, la base de dato muestra curso = 0, que en lugar de enviarse un 0, no se envíe nada, y el sistema le notifique al usuario: "Por favor debe seleccionar un curso".
  #2 (permalink)  
Antiguo 08/06/2013, 14:54
Avatar de truman_truman  
Fecha de Ingreso: febrero-2010
Ubicación: /home/user
Mensajes: 1.341
Antigüedad: 14 años, 9 meses
Puntos: 177
Respuesta: [AYUDA]Evitar envío de campos vacíos, y otras cosas

Bueno, para los acentos tenes que poner el cotejamiento del campo a utf8_spanish_ci, probá con eso, sino pueden ser otros los problemas.
Tambien podés agregar en al .htacces lo siguiente en la primera linea:

AddDefaultCharset utf-8

.
__________________
la la la
  #3 (permalink)  
Antiguo 08/06/2013, 16:13
 
Fecha de Ingreso: junio-2013
Ubicación: Estado Lara
Mensajes: 33
Antigüedad: 11 años, 5 meses
Puntos: 0
Respuesta: [AYUDA]Evitar envío de campos vacíos, y otras cosas

Gracias por tu respuesta, lo del cortejamiento de los campos a utf8_sapanish_ci ya lo intenté y sigue el problema, lo segundo que me dices, sabes como podría hacerlo en mi host?
  #4 (permalink)  
Antiguo 08/06/2013, 18:17
Avatar de truman_truman  
Fecha de Ingreso: febrero-2010
Ubicación: /home/user
Mensajes: 1.341
Antigüedad: 14 años, 9 meses
Puntos: 177
Respuesta: [AYUDA]Evitar envío de campos vacíos, y otras cosas

Si, te conectas por ftp, descargas el .htacces, lo abres con un editor le pones la linea de codigo y lo vuelves a subir
__________________
la la la
  #5 (permalink)  
Antiguo 08/06/2013, 18:54
Avatar de Italico76  
Fecha de Ingreso: abril-2007
Mensajes: 3.303
Antigüedad: 17 años, 7 meses
Puntos: 292
Respuesta: [AYUDA]Evitar envío de campos vacíos, y otras cosas

Esas restricciones (chequeos) las debes colocar del lado del cliente (PHP) pero tambien las puedes colocar (opcionalmente) del lado del cliente, o sea hacer esas VALIDACIONES mediante JQUERY por ejemplo

http://fgualambo.blogspot.com/2013/0...bootstrap.html
__________________
Salu2!
  #6 (permalink)  
Antiguo 08/06/2013, 19:09
 
Fecha de Ingreso: junio-2013
Ubicación: Estado Lara
Mensajes: 33
Antigüedad: 11 años, 5 meses
Puntos: 0
Respuesta: [AYUDA]Evitar envío de campos vacíos, y otras cosas

Cita:
Iniciado por truman_truman Ver Mensaje
Si, te conectas por ftp, descargas el .htacces, lo abres con un editor le pones la linea de codigo y lo vuelves a subir
Estoy conectado por FTP, y lo que veo es un archivo llamado .ftpquota, intenteará hacerlo con ese archivo

Cita:
Iniciado por Italico76 Ver Mensaje
Esas restricciones (chequeos) las debes colocar del lado del cliente (PHP) pero tambien las puedes colocar (opcionalmente) del lado del cliente, o sea hacer esas VALIDACIONES mediante JQUERY por ejemplo

[url]http://fgualambo.blogspot.com/2013/01/jquery-validate-bootstrap.html[/url]
Amigo, soy novato en esto de la programación, siento que hablaste muy profundo para mis reducidos conocimientos
  #7 (permalink)  
Antiguo 08/06/2013, 19:34
Avatar de Italico76  
Fecha de Ingreso: abril-2007
Mensajes: 3.303
Antigüedad: 17 años, 7 meses
Puntos: 292
Respuesta: [AYUDA]Evitar envío de campos vacíos, y otras cosas

Quise decir....

* DEBES validar que no te envien campos vacios requeridos con PHP en tu servidor
* OPCIONALMENTE puedes desde el navedor (cliente) hacer esos chequeos con JAVASCRIPT
__________________
Salu2!
  #8 (permalink)  
Antiguo 08/06/2013, 19:57
Avatar de freddy31DA  
Fecha de Ingreso: junio-2012
Mensajes: 84
Antigüedad: 12 años, 5 meses
Puntos: 2
Respuesta: [AYUDA]Evitar envío de campos vacíos, y otras cosas

tranquilamente lo puedes hacer con php
te dejo mi script este de un sistema de comentarios ya que hice un sistema de noticias y le puse un sistema para dejen comentarios
Código PHP:
Ver original
  1. <?php
  2.     require_once("conexion.php");
  3. //recibir los campos
  4.     $nombre = htmlentities($_POST["nombre"]);
  5.     $correo = htmlentities($_POST["correo"]);
  6.     $comentario = htmlentities($_POST["comentario"]);
  7.     $id_noticia = htmlentities($_POST["id_noticia"]);
  8. //procesarlos si están vacíos o no
  9.     if(isset($nombre) && !empty($nombre) &&
  10.         isset($correo) && !empty($correo) &&
  11.         isset($comentario) && !empty($comentario) &&
  12.         isset($id_noticia) && !empty($id_noticia)){
  13.     //A desmantelar posibles caracteres maliciosos que puedan afectar al sistema.
  14.  
  15.    
  16.       htmlspecialchars(mysqli_real_escape_string($conexion, $nombre),ENT_QUOTES);
  17.       htmlspecialchars(mysqli_real_escape_string($conexion, $correo),ENT_QUOTES);
  18.       htmlspecialchars(mysqli_real_escape_string($conexion, $comentario),ENT_QUOTES);
  19.       htmlspecialchars(mysqli_real_escape_string($conexion, $id_noticia),ENT_QUOTES);
  20.    
  21. //insertando
  22.     $sql = "INSERT INTO comentarios VALUES (null,'".$nombre."','".$correo."','".$comentario."','".$id_noticia."')";
  23.    
  24.     $result = $conexion->query($sql);
  25.    
  26.    
  27.    
  28.     //redirigir  después de insertar
  29.     header("Location: detalle.php?id_noticia=".$id_noticia);
  30.    
  31.    
  32.    
  33.     }else{
  34. //si logro meterse y solo llego el id
  35.         echo "campos vacíos redireccionando:";
  36.         header("Location: detalle.php?id_noticia=".$_POST["id_noticia"]);
  37.        
  38.         }
  39.     //igual si no existe el id o está vació mejor dicho
  40.  
  41.     if(empty($_POST["id_noticia"])){
  42.             header("Location: ver_noticia.php");
  43.         }
  44. /*tambien hubiese echo otras cosas por ejemplo
  45. si el id_noticias es null lo rediijo automáticamente
  46. $id_noticia  = $_POST["id_noticia"];
  47. if($id_noticia==""){
  48. header("Location: index.php");
  49.  
  50. }
  51. */
  52.  
  53.  
  54.  
  55. ?>
rafael te dije que fueras a aprender php desde 0 http://www.forosdelweb.com/f18/scrip...abase-1056353/

Última edición por freddy31DA; 08/06/2013 a las 20:02
  #9 (permalink)  
Antiguo 08/06/2013, 20:12
 
Fecha de Ingreso: junio-2013
Ubicación: Estado Lara
Mensajes: 33
Antigüedad: 11 años, 5 meses
Puntos: 0
Respuesta: [AYUDA]Evitar envío de campos vacíos, y otras cosas

Muchassssssssssssss gracias por tu script, era justo lo que necesitaba.

No me he ido a aprender desde 0, porque de momento lo que necesito es hacer rápido lo que me comprometí hacer, para salir del compromiso y quedar bien, y ya no comprometerme más de cosas que no sé >.<
  #10 (permalink)  
Antiguo 08/06/2013, 21:11
 
Fecha de Ingreso: junio-2013
Ubicación: Estado Lara
Mensajes: 33
Antigüedad: 11 años, 5 meses
Puntos: 0
Respuesta: [AYUDA]Evitar envío de campos vacíos, y otras cosas

Sigo teniendo problemas, mi código quedó así:

Código PHP:
<?php 

$c
=mysqli_connect("localhost","root","test","paena_exonera"); 

//recibir los campos 
    
$nombre htmlentities($_POST["nombre"]);
    
$apellido htmlentities($_POST["apellido"]);
    
$correo htmlentities($_POST["correo"]);
    
$ci htmlentities($_POST["ci"]);
    
$telefono htmlentities($_POST["telefono"]);
    
$cohorte htmlentities($_POST["cohorte"]);
    
$curso htmlentities($_POST["curso"]);
    
//procesarlos si están vacíos o no 
    
if(isset($nombre) && !empty($nombre) &&
        isset(
$apellido) && !empty($apellido) &&
        isset(
$correo) && !empty($correo) &&
        isset(
$ci) && !empty($ci) &&
        isset(
$telefono) && !empty($telefono) &&
        isset(
$cohorte) && !empty($cohorte) &&
        isset(
$curso) && !empty($curso)){
        
    
//A desmantelar posibles caracteres maliciosos que puedan afectar al sistema. 
      
htmlspecialchars(mysqli_real_escape_string($conexion$nombre),ENT_QUOTES);
      
htmlspecialchars(mysqli_real_escape_string($conexion$apellido),ENT_QUOTES);
      
htmlspecialchars(mysqli_real_escape_string($conexion$correo),ENT_QUOTES);
      
htmlspecialchars(mysqli_real_escape_string($conexion$ci),ENT_QUOTES);
      
htmlspecialchars(mysqli_real_escape_string($conexion$telefono),ENT_QUOTES);
      
htmlspecialchars(mysqli_real_escape_string($conexion$cohorte),ENT_QUOTES);
      
htmlspecialchars(mysqli_real_escape_string($conexion$curso),ENT_QUOTES);

//Insertando
$q "INSERT INTO datos VALUES ('".$_POST['nombre']."', '".$_POST['apellido']."', '".$_POST['correo']."', '".$_POST['ci']."', '".$_POST['telefono']."', '".$_POST['cohorte']."', '".$_POST['curso']."')";
$r $c->query($q);

//Enviar mensaje de que el censo ya fue completado 
    
echo "Censo completado satisfactoriamente";

//Redireccionar si algún campo está vacío    
    
if($nombre==""){
header("Location: index.php");
        }
        
    if(
$apellido==""){
header("Location: index.php");
        }
        
    if(
$correo==""){
header("Location: index.php");
        }
        
    if(
$ci==""){
header("Location: index.php");
        }
        
    if(
$telefono==""){
header("Location: index.php");
        }
        
    if(
$cohorte==""){
header("Location: index.php");
        }
        
    if(
$curso==""){
header("Location: index.php");
        }

?>
Me salta error:
Código PHP:
Parse errorsyntax errorunexpected $end in C:AppServwwwprocesar.php on line 68 
y la línea 68 es la última línea, lo único que hay es esto:

Código PHP:
?> 
  #11 (permalink)  
Antiguo 09/06/2013, 17:25
 
Fecha de Ingreso: junio-2013
Ubicación: Estado Lara
Mensajes: 33
Antigüedad: 11 años, 5 meses
Puntos: 0
Respuesta: [AYUDA]Evitar envío de campos vacíos, y otras cosas

xxxxxxxxxxxxxxxxxxxxxxxxxxx

Última edición por RafaelYepez; 08/04/2014 a las 15:25

Etiquetas: campos, cosas, tabla, usuarios
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 11:07.