Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] Div en php

Estas en el tema de Div en php en el foro de PHP en Foros del Web. Porque si en el formulario relleno todos los campos y luego en el codigo php para insertar los datos me sale el primer if que ...
  #1 (permalink)  
Antiguo 01/03/2014, 14:18
 
Fecha de Ingreso: febrero-2014
Ubicación: Murcia
Mensajes: 119
Antigüedad: 10 años, 9 meses
Puntos: 0
Div en php

Porque si en el formulario relleno todos los campos y luego en el codigo php para insertar los datos me sale el primer if que pongo si ay algun campo vacio...

Código PHP:
if($usuario==NULL|$pass==NULL|$cpass==NULL|$Email_cmNew==NULL) { 
echo 
"<div class=\"data descripcion\"><br>Un campo está vacio.<br><br><br><br></div>"
}else{ 
No tengo que poner las contrabarras o como lo deberia poner mejor?

Tengo varios if puestos pero me sale en el primero de momento...


Gracias!
  #2 (permalink)  
Antiguo 01/03/2014, 15:08
Avatar de TSG
TSG
 
Fecha de Ingreso: septiembre-2013
Ubicación: España
Mensajes: 373
Antigüedad: 11 años, 2 meses
Puntos: 9
Respuesta: Div en php

Hola, muy buenas.

Puede probar u echar un vistazo al siguiente código:

Código PHP:
Ver original
  1. <form action="" method="POST">
  2. <input type="text" name="campo1" placeholder="campo1">
  3. <input type="text" name="campo2" placeholder="campo2">
  4. <input type="submit" name="enviar" value="Enviar">
  5. </form>
  6.  
  7. <?php
  8. if(isset($_POST['enviar'])){
  9.     //La variable $conexion la cambias por tu variable de conexion a la base de datos.
  10.     $campo1 = utf8_decode(mysqli_real_escape_string($conexion, $_POST['campo1']));
  11.     $campo2 = utf8_decode(mysqli_real_escape_string($conexion, $_POST['campo2']));
  12.     if($campo1 == '' or $campo2 == ''){
  13.         echo "Por favor rellene los campos, no pueden quedar en blanco.";
  14.     }
  15.     else{
  16.         //aquí la sentencia que quieres que se ejecute si todo se hace correctamente.
  17.         echo "Hola";
  18.     }
  19. }
  20. ?>

Lo que hace es comprobar si un input está vacío. De igual modo si el código no te sirve de mucho puedes hacerte una idea u usar alguno de sus componentes.

Un cordial saludo.
  #3 (permalink)  
Antiguo 01/03/2014, 15:49
Avatar de Heli0s  
Fecha de Ingreso: abril-2010
Mensajes: 789
Antigüedad: 14 años, 7 meses
Puntos: 40
Respuesta: Div en php

El operador de AND es ||, no |, debes sustituir los | por || o and.

Un saludo
  #4 (permalink)  
Antiguo 01/03/2014, 15:56
Avatar de Dalam  
Fecha de Ingreso: septiembre-2010
Mensajes: 409
Antigüedad: 14 años, 2 meses
Puntos: 56
Respuesta: Div en php

Lo mas seguro es que no estes procesando las variables bien.
Cuando se envian variables desde un formulario, cuando las recibe php son del tipo
$_GET o $_POST
Por ejemplo
Código HTML:
Ver original
  1. <form action="procesar.php" method="POST">
  2. <input type="text" name="usuario">
  3. <input type="text" name="pass">
  4. <input type="submit" name="enviar" value="Enviar">
  5. </form>
Este formulario enviaria a el script procesar.php las siguientes variables
Código PHP:
Ver original
  1. $_POST['usuario']
  2. $_POST['pass']
  3. $_POST['enviar']
El valor de enviar seria Enviar y los otros dos el texto que se a introducido.
Si el formulario tubiera como method get las variables enviadas serian
Código PHP:
Ver original
  1. $_GET['usuario']
  2. $_GET['pass']
  3. $_GET['enviar']

Aparte de esto, las comprobaciones que tienes estan mal
Código PHP:
Ver original
  1. if($usuario==NULL|$pass==NULL|$cpass==NULL|$Email_cmNew==NULL) {  
  2. echo "<div class=\"data descripcion\"><br>Un campo está vacio.<br><br><br><br></div>";
| es un OR pero bit a bit ('activaria los bits de dos variables dadas), lo bueno seria ||, pero siempre que puedas utiliza la procedencia de operadores mas baja en la tabla.
Si lo que quieres es mostrar el mensaje cuando alguna de ellas tenga el valor null utiliza mejor el comparador or
Código PHP:
Ver original
  1. if($usuario==NULL or $pass==NULL or $cpass==NULL or $Email_cmNew==NULL) {  
  2. echo "<div class=\"data descripcion\"><br>Un campo está vacio.<br><br><br><br></div>";
PHP dispone de dos formas de procesar para and y dos para el or de tipo logico que serian
Cita:
&& y and
|| y or

Última edición por Dalam; 01/03/2014 a las 16:17
  #5 (permalink)  
Antiguo 01/03/2014, 16:20
Avatar de Dalam  
Fecha de Ingreso: septiembre-2010
Mensajes: 409
Antigüedad: 14 años, 2 meses
Puntos: 56
Respuesta: Div en php

Cita:
Iniciado por Heli0s Ver Mensaje
El operador de AND es ||, no |, debes sustituir los | por || o and.

Un saludo
Estimado Helios el AND seria && pero aun asi Raul lo tiene mal definido en el codigo
  #6 (permalink)  
Antiguo 01/03/2014, 16:24
Avatar de Heli0s  
Fecha de Ingreso: abril-2010
Mensajes: 789
Antigüedad: 14 años, 7 meses
Puntos: 40
Respuesta: Div en php

Cita:
Iniciado por Dalam Ver Mensaje
Estimado Helios el AND seria && pero aun asi Raul lo tiene mal definido en el codigo
Cierto, me confundí de signo, me refería a que debe repetirlo dos veces, no solo una, ya que de esa manera es un operador binario.

Un saludo
  #7 (permalink)  
Antiguo 02/03/2014, 04:29
 
Fecha de Ingreso: febrero-2014
Ubicación: Murcia
Mensajes: 119
Antigüedad: 10 años, 9 meses
Puntos: 0
Respuesta: Div en php

Muchísimas Gracias!

Etiquetas: formulario
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 22:33.