Foros del Web » Programando para Internet » PHP »

Problema al insertar datos.

Estas en el tema de Problema al insertar datos. en el foro de PHP en Foros del Web. Saludos, verán tengo un problema al insertar los datos de registro de un usuario, y es que siempre me dice que me faltan datos, aunque ...
  #1 (permalink)  
Antiguo 10/03/2011, 11:37
 
Fecha de Ingreso: marzo-2011
Mensajes: 33
Antigüedad: 13 años, 1 mes
Puntos: 0
Problema al insertar datos.

Saludos, verán tengo un problema al insertar los datos de registro de un usuario, y es que siempre me dice que me faltan datos, aunque no sea cierto. He aquí mi código con mis explicaciones.

Las variables que recojo al principio con $_POST se recogen bien, ya que lo he comprobado. Las siguientes variables son para comprobar que no se dejen campos vacíos. Y ya por último dentro del Html, compruebo que no se hayan dejado nada vacío. Si fuera así, enviaría un mensaje indicando los campos que han quedado vacíos, y en caso contrario insertaría todos los valores a la tabla clientes. El problema es que aunque inserte todos los datos, me dice que faltan datos por introducir, sin mostrarme ningún campo. Es decir, no me dice que campo me falta (porque obviamente los he rellenado todos). Pero siempre entra en el ("if"). A ver si alguien pudiera ver un error conceptual en mi ("if") que yo no sea capaz de ver. Estoy haciendo 3 proyectos a la vez, y esto de trabajar mas de 10 horas diarias me deja agotado. Espero que alguien me ayude, gracias, ahora seguiré con otros proyectos.

Código PHP:
Ver original
  1. <?
  2.     $Usu=$_POST['Usuario'];
  3.     $CodPostal=$_POST['CodPostalC'];
  4.     $Contra=$_POST['Password'];
  5.     $Telf=$_POST['TelefonoC'];
  6.     $NIFC=$_POST['NIF'];
  7.     $E_Mail=$_POST['EmailC'];
  8.     $Name=$_POST['NombreC'];
  9.     $Direcc=$_POST['DireccionC'];
  10.     $FecNacCli=$_POST['FecNacC'];
  11.     $NoUsuario="";
  12.     $NoCodPostal="";
  13.     $NoContra="";
  14.     $NoTelf="";
  15.     $NoNIFC="";
  16.     $NoE_Mail="";
  17.     $NoName="";
  18.     $NoDirecc="";
  19.     $NoFecNacCli="";
  20.     $Us="";
  21.     $CP="";
  22.     $Pss="";
  23.     $Tlf="";
  24.     $NF="";
  25.     $Mail="";
  26.     $Numbre="";
  27.     $Dir="";
  28.     $Naci="";
  29.     if (!$Usu){
  30.         $NoUsuario=1;
  31.         $Us="Nombre de Usuario";
  32.     }
  33.     if (!$CodPostal){
  34.         $NoCodPostal=1;
  35.         $CP="Código Postal";
  36.     }
  37.     if (!$Contra){
  38.         $NoContra=1;
  39.         $Pss="Contraseña";
  40.     }
  41.     if (!$Telf){
  42.         $NoTelf=1;
  43.         $Tlf="Teléfono";
  44.     }
  45.     if (!$NIFC){
  46.         $NoNIFC=1;
  47.         $NF="N.I.F.";
  48.     }
  49.     if (!$E_Mail){
  50.         $NoE_Mail=1;
  51.         $Mail="Email";
  52.     }
  53.     if (!$Name){
  54.         $NoName=1;
  55.         $Numbre="Nombre";
  56.     }
  57.     if (!$Direcc){
  58.         $NoDirecc=1;
  59.         $Dir="Dirección";
  60.     }
  61.     if (!$FecNacCli){
  62.         $NoFecNacCli=1;
  63.         $Naci="Fecha de Nacimiento";
  64.     }
  65. ?>
  66. <html>
  67. <head><title></title></head>
  68. <body bgcolor='Black'>
  69.     <?
  70.         if(($NoUsuario!="") || ($NoCodPostal!="") || ($NoContra!="") || ($NoTelf!="") || ($NoNIFC!="") || ($NoDirecc!="") || ($CodPostal!="") || ($NoFecNacCli!="") || ($CodPostal!="")){
  71.             echo "<font color='red'>Lo siento, le faltan los siguientes campos:</font>";
  72.             echo "<BR>";
  73.             echo "<font color='white'>$Us</font>";
  74.             echo "<BR>";
  75.             echo "<font color='white'>$CP</font>";
  76.             echo "<BR>";
  77.             echo "<font color='white'>$Pss</font>";
  78.             echo "<BR>";
  79.             echo "<font color='white'>$Tlf</font>";
  80.             echo "<BR>";
  81.             echo "<font color='white'>$NF</font>";
  82.             echo "<BR>";
  83.             echo "<font color='white'>$Mail</font>";
  84.             echo "<BR>";
  85.             echo "<font color='white'>$Numbre</font>";
  86.             echo "<BR>";
  87.             echo "<font color='white'>$Dir</font>";
  88.             echo "<BR>";
  89.             echo "<font color='white'>$Naci</font></font>";
  90.         }else{
  91.             $link=mysql_connect('localhost','root','pololo');
  92.             mysql_select_db('tiendaropa', $link);
  93.             $consulta="Select NIF, Usuario, Password, EmailC FROM clientes";
  94.             $ResConsulta=mysql_query($consulta);
  95.             $Dentro=1;
  96.             while($fila=mysql_fetch_array($ResConsulta))
  97.             {
  98.                 $NUF=$fila['NIF'];
  99.                 $UsNa=$fila['Ususario'];
  100.                 $PssD=$fila['Password'];
  101.                 $E_MailD=$fila['EmailC'];
  102.                 if ($UsNa==$Usu)
  103.                 {
  104.                     $Dentro=1;
  105.                 }
  106.                 if ($E_MailD==$E_Mail)
  107.                 {
  108.                     $Dentro=1;
  109.                 }
  110.                 if ($PssD==$Contra)
  111.                 {
  112.                     $Dentro=1;
  113.                 }
  114.                 if ($NUF==$NIFC)
  115.                 {
  116.                     $Dentro=1;
  117.                 }
  118.             }
  119.             if ($Dentro==0)
  120.             {
  121.                 $Insert="Insert into clientes values('$NIFC', '$Name', '$Usu', '$Contra', '$FecNacCli', '$Direc', '$E_Mail', '$Telf', '$CodPostal')";
  122.                 $Resultado=mysql_query($Insert);
  123.                 if(!$Resultado)
  124.                 {
  125.                     echo "<font color='red'>La consulta ha sido formulada incorrectamente</font>";
  126.                 }
  127.                 else
  128.                 {
  129.                     echo "<font color='red'>Registrado correctamente</font>";
  130.                 }
  131.             }
  132.         }
  133.     ?>
  134. </body>
</html>
  #2 (permalink)  
Antiguo 10/03/2011, 11:40
Avatar de JoseTejada  
Fecha de Ingreso: diciembre-2007
Ubicación: Peru.Lima.Cercado.MDuarez.Granaderos172
Mensajes: 218
Antigüedad: 16 años, 4 meses
Puntos: 11
Respuesta: Problema al insertar datos.

Lo ideal es que hagas esto al recibir los datos:
Código PHP:
$Usu=isset($_POST['Usuario'])?$_POST['Usuario']:""
y para preguntar si está vacío puede ser así:
Código PHP:
if(empty(trim($Usu))){
//aca indicas el error por estar vacio

o así...
Código PHP:
if(strlen(trim($Usu))==0){
//aca indicas el error por estar vacio

Tú decides :D
__________________
Un poco de Karmita no te va a hacer a ti pobre ni a mi rico... colabórame px ;)... Twitter: @josetejadauch

Etiquetas: Ninguno
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 01:43.