Foros del Web » Programando para Internet » PHP »

Que error tiene esto que no me deja insertar usuarios en la BD?

Estas en el tema de Que error tiene esto que no me deja insertar usuarios en la BD? en el foro de PHP en Foros del Web. Código PHP: <?php  $host  =  "localhost" ;   $user  =  "root" ;   $pass  =  "" ;   $dbase  =  "registro" ;    function  genera ...
  #1 (permalink)  
Antiguo 21/05/2003, 16:14
Avatar de Reynier  
Fecha de Ingreso: noviembre-2002
Ubicación: Por ahí en algún sitio
Mensajes: 1.844
Antigüedad: 15 años
Puntos: 1
Que error tiene esto que no me deja insertar usuarios en la BD?

Código PHP:
<?php
 $host 
"localhost";
 
$user "root";
 
$pass "";
 
$dbase "registro";
 
 function 
genera() {
    
$cons "bcdfghjklmnpqrstvwxyz";
    
$vocs "aeiou";
    for (
$x=0$x 6$x++) {
    
mt_srand ((double) microtime() * 1000000);
    
$con[$x] = substr($consmt_rand(0strlen($cons)-1), 1);
    
$voc[$x] = substr($vocsmt_rand(0strlen($vocs)-1), 1);
    }
    
$makepass $con[0] . $voc[0] .$con[2] . $con[1] . $voc[1] . $con[3] . $voc[3] . $con[4];
    return(
$makepass);
}

  echo 
"<html><head><title>Subscricion</title></head><body>";
  
  
/* Validamos los campos de el formulario
  Validamos si el campo de nombre no está vacío */
  
if ($nombre == ""){
   echo 
"<font size=\"2\" face=\"Tahoma\">Error en el nombre de usuario, necesita tener un nombre válido.<br></font>";
  } 
  
//Validamos si el campo de nombre tiene más de 5 carácteres
  
if ((strlen($nombre)<5)&&($nombre)){
   echo 
"<font size=\"2\" face=\"Tahoma\">Error en el nombre de usuario, este debe tener más de 5 carácteres.<br></font>";
  } 
  
//Validamos si la dirección de email es correcta
  
if ((!ereg("^([a-zA-Z0-9\._]+)\@([a-zA-Z0-9\.-]+)\.([a-zA-Z]{2,4})$",$correo))&&($correo)){
   echo 
"<font size=\"2\" face=\"Tahoma\">El e-mail no es valido</font><br>";
  }
  
//Validamos si el campo de email no está vacío
  
if(!$correo){
   echo 
"<font size=\"2\" face=\"Tahoma\">Debes entrar una dirección de correo electrónico</font><br>";
  }
  
//Validamos si el campo de institución no está vacío
  
if ($institucion == ""){
   echo 
"<font size=\"2\" face=\"Tahoma\">Error en el campo institución.<br></font>";
  } 
  
//Validamos si el campo de institución tiene más de 5 carácteres
  
if ((strlen($institucion)<5)&&($institucion)){
   echo 
"<font size=\"2\" face=\"Tahoma\">Error en el campo institucion, este debe tener más de 5 carácteres.<br></font>";
  } 
  
//Validamos si el usuario entro números en el campo de teléfono
  
if (!is_numeric($telefono)){
   echo 
"<font size=\"2\" face=\"Tahoma\">Error en el campo teléfono, entre un teléfono válido.<br></font>";   
  }
    
//Validamos si el campo de teléfono no está vacío
  
if ($telefono == ""){
   echo 
"<font size=\"2\" face=\"Tahoma\">Error en el campo teléfono.<br></font>";
  } 
  
//Validamos si el campo de motivos no está vacío
  
if ($motivos == ""){
   echo 
"<font size=\"2\" face=\"Tahoma\">Error en el campo motivos.<br></font>";
  } 
  
//Validamos si el campo de motivos tiene más de 5 carácteres
  
if ((strlen($motivos)<5)&&($motivos)){
   echo 
"<font size=\"2\" face=\"Tahoma\">Error en el campo motivos, este debe tener más de 5 carácteres.<br></font>";
  } 
  
//Validamos si el campo de institución no está vacío
  
if ($login == ""){
   echo 
"<font size=\"2\" face=\"Tahoma\">Error en el campo login.<br></font>";
  } 
  
//Validamos si el campo de login tiene más de 5 carácteres
  
if ((strlen($login)<5)&&($login)){
   echo 
"<font size=\"2\" face=\"Tahoma\">Error en el campo login, este debe tener más de 5 carácteres.<br></font>";
  } 
  
//Validamos si el campo de password y repetir password
  
if (($password == "")||($password != $passwordrep ))
   echo 
"<font size=\"2\" face=\"Tahoma\">Error, repita su contraseña en el campo señalado.<Br></font>";
  
  
//Ejecutamos las consultas y  las conexiones pertinentes
  
if (($nombre == true)&&($correo == true)&&($institucion == true)&&($telefono == true)&&($motivos == true)&&($login == true)&&($password == true))
  {
        
$link mysql_connect($host,$user,$pass) || die("No puedo conectarme a la base de datos en estos momentos");
      
mysql_select_db($dbase);
      
$result mysql_query("SELECT nombre FROM registro WHERE login='$login'");
      
$pa genera();
      if (
mysql_num_rows($result))
      {
        
mysql_close($link);
        echo 
"<font size=\"2\" face=\"Tahoma\">Ya existe un usuario con ese login<br>Le sugerimos: </font>".$pa."<br>";
      }
  
      
//Encriptación del Password mediante el algoritmo MD5
      
$clave md5($password);
      
//Fin de la encriptación
      
      
$queryinsert "INSERT INTO registro(nombre,email,institucion,facultad,grupo,telefono,biper,motivos,apartamento,login,password)" .
                     
"VALUES('$nombre','$email','$institucion','$facultad','$grupo','$telefono','$biper','$motivos','$apartamento','$login','$clave')";
      if (
mysql_query($queryinsert)){
       echo 
"<font size=\"2\" face=\"Tahoma\">Usted esta adicionado como usuario</font>";
      }
      
mysql_close($link);
    }  
  echo 
"</body></html>";
?>
me da error en los siguientes campos
Error en el nombre de usuario, necesita tener un nombre válido.
Debes entrar una dirección de correo electrónico
Error en el campo institución.
Error en el campo teléfono, entre un teléfono válido.
Error en el campo teléfono.
Error en el campo motivos.
Error en el campo login.
Error, repita su contraseña en el campo señalado.
__________________
Ing. Reynier Pérez Mira
  #2 (permalink)  
Antiguo 21/05/2003, 16:19
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
y?

Bueno .. si suponemos que estas indicando los datos según el tipo que lo requieren .. Parece que tu servidor trabaja a register_globals = OFF .. y tu código trabaja con todas las variables de tus formularios/links/etc asumiendolas como GLOBALES ..

Revisa tu phpinifo() esa directiva y lee estas FAQs del foro PHP:
http://www.forosdelweb.com/showthrea...988#post238988
http://www.forosdelweb.com/showthrea...989#post238989

(pero toma nota de la 2ª FAQ que te muestro y sigue los consejos!)

Un saludo,


Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
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 23:39.