Foros del Web » Programando para Internet » PHP »

Ayuda Php Y Msql No Pone Default

Estas en el tema de Ayuda Php Y Msql No Pone Default en el foro de PHP en Foros del Web. Buenas Noches, Bueno tengo la siguinte duda: codigo: de base de datos: Código PHP: CREATE TABLE  ` users ` (   ` id `  int ( 11 )  ...
  #1 (permalink)  
Antiguo 16/04/2009, 17:49
 
Fecha de Ingreso: agosto-2008
Mensajes: 102
Antigüedad: 15 años, 8 meses
Puntos: 0
Busqueda Ayuda Php Y Msql No Pone Default

Buenas Noches, Bueno tengo la siguinte duda:
codigo: de base de datos:
Código PHP:
CREATE TABLE `users` (
  `
idint(11NOT NULL auto_increment,
  `
usernamevarchar(30NOT NULL,
  `
generovarchar(100) default NULL,
  `
passwordvarchar(32NOT NULL,
  `
recpasswordvarchar(32NOT NULL,
  `
nombrevarchar(30NOT NULL,
  `
apellidosvarchar(50NOT NULL,
  `
paisvarchar(20NOT NULL,
  `
sexovarchar(40NOT NULL,
  `
emailvarchar(40NOT NULL,
  `
fotovarchar(200) DEFAULT 'http://eneltono.freetzi.com/usuarios/nofoto.gif' NOT NULL,
  `
descripcionvarchar(500NOT NULL,
  `
activatevarchar(40) ,
  `
estadovarchar(1) ,
  `
puntosint(11) default '50 NOT NULL',
  
PRIMARY KEY  (`id`)
ENGINE=MyISAM  
cODIGO dE rEGISTRARSE.PHP
Código PHP:
    <form method="post" name="form1" action="reg.php">
                        <
label>Ingrese Nombre De Cuenta (*)  &nbsp; &nbsp;</label>
                        <
input name="username" type="text" id="usuario" class="textbox" value="" size="25" />
                        <
label> &nbsp;Ingrese Contraseña De Cuenta (*) </label>
                        <
input name="password" type="password" class="textbox" value="" size="25" />
                        <
label>Repita Contraseña De Cuenta (*)</label>
                        <
input name="cpassword" type="password" class="textbox" value="" size="25" />
                        <
label>Nombres De Usuario (*)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</label>
                        <
input name="nombre" type="text" class="textbox" value="" size="25" />
                        <
label>Apellidos De Usuario (*)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</label>
                        <
input name="apellidos" type="text" class="textbox" value="" size="25" />
                        <
label>mail De Usuario  (*)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</label>
                        <
input name="email" type="text" class="textbox" value="" size="25" />
                        <
labelImagen Del Usuario  (*)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</label>
                        <
input name="foto" type="text" class="textbox" value="Ingrese Url De La Imagen" size="25" />
                        <
label>Sexo De Usuario  (*)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</label>
                        <
select name="genero"  id="genero" class="textbox1">
                        <
option value="femenino">Femenino</option>
                            <
option value="masculino">Masculino</option>
                          </
select>
                        <
label>Pais Del Usuario (*)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</label>
                        <
select name="pais" id="pais"  class="textbox1" >
                          <
option selected="selected" value="--- Seleccione un PaÃ*s ---">--- Seleccione un Pa&#237;s ---</option>
                          
<option value="United States">United States</option>
                          <
option value="Afghanistan">Afghanistan</option>
                          
                        </
select>
                        <
label>Descripcion Del Usuario  (*)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</label>
                        <
textarea name="descripcion" id="descripcion" class="textbox2" >Una Brebe DescripcionEsta Se Mostrara Al Publico en General</textarea>
                        <
input name="submit" type="submit" value="" class="registrar" title="Registrarse">
                        </
form></ 
Codigo del Proceso de registro: (reg.php)
Código PHP:
    <?php 
//Funcion que genera un codigo en forma aleatoria de 20 caracteres, para mas adelante el usuario active su cuenta via  email XD
//Creado por Grupo BenQuin - Desarrollamos tus ideas
function genera_random($longitud){  
    
$exp_reg="[^A-Z0-9]";  
    return 
substr(eregi_replace($exp_reg""md5(rand())) .  
       
eregi_replace($exp_reg""md5(rand())) .  
       
eregi_replace($exp_reg""md5(rand())),  
       
0$longitud);  

 
// Preguntaremos si se han enviado ya las variables necesarias 
if (isset($_POST["username"])) { 
$username $_POST["username"]; 
$genero $_POST["genero"];
$mostrarpass$_POST["password"];
$password md5(md5($_POST["password"])); 
$cpassword md5(md5($_POST["cpassword"])); 
$email $_POST["email"]; 
$nombre $_POST["nombre"];
$apellidos $_POST["apellidos"];
$pais $_POST["pais"];
$foto $_POST["foto"];
$descripcion $_POST["descripcion"];
// Hay campos en blanco 
if($username==NULL|$genero==NULL|$password==NULL|$cpassword==NULL|$email==NULL|$nombre==NULL|$apellidos==NULL|$pais==NULL|$descripcion==NULL) { 
echo 
"<span class='adsense-celeste'><img src='images/user-error.png' width='32' height='32' />Debe llenar todos los datos pedidos, por favor intente denuevo desde este link:</span><br><div align='left' class='menulinks'> <ul>
                        <li><a href='registrarse.php'>Volver Al Proceso De Registro << Click Aqui </a></li></ul></div>"

}else{ 
// &iquest;Coinciden las contrase&ntilde;as? 
if($password!=$cpassword) { 
echo 
"<span class='adsense-celeste'><img src='images/user-error.png' width='32' height='32' />Las contraseñas no coinciden, por favor intente denuevo desde este link:</span><br><div align='left' class='menulinks'> <ul>
                        <li><a href='registrarse.php'>Volver Al Proceso De Registro << Click Aqui </a></li></ul></div>"

}else{ 
// Comprobamos si el nombre de usuario o la cuenta de correo ya exist&iacute;an 
$checkuser mysql_query("SELECT username FROM users WHERE username='$username'"); 
$username_exist mysql_num_rows($checkuser); 

$checkemail mysql_query("SELECT email FROM users WHERE email='$email'"); 
$email_exist mysql_num_rows($checkemail); 

if (
$email_exist>0|$username_exist>0) { 
echo 
"<span class='adsense-celeste'><img src='images/user-error.png' width='32' height='32' />El nombre de la cuenta y/o el email del usuario ya estan en uso, por favor intente denuevo con otro nombre y email desde este link:</span><br><div align='left' class='menulinks'> <ul>
                        <li><a href='registrarse.php'>Volver Al Proceso De Registro << Click Aqui </a></li></ul></div>"

}else{ 
//agregamos la variable $activate que es un numero aleatorio de  
//20 digitos crado con la funcion genera_random de mas arriba 
$activate genera_random(20);   
                   
//aqui es donde insertamos los nuevos valosres en la BD  activate y el valor 0 que es activado
//Todo parece correcto procedemos con la inserccion 
$query "INSERT INTO users (username, recpassword, password, email, nombre, apellidos, pais, genero, foto, descripcion, activate, estado, puntos) VALUES('$username','$mostrarpass','$password','$email', '$nombre', '$apellidos', '$pais', '$genero', '$foto', '$descripcion', '$activate', '0', '50')"
mysql_query($query) or die(mysql_error()); 
echo 
"<fieldset  style='border:##000000'>
                                    <legend class='Estilo1 tit_form'><img src='images/user-bien.png' width='32' height='32' /><strong>Registro Exitoso!!</strong></legend><span class='adsense-celeste'>El Registro fue exitoso; usted se registro con:<br><br>Nombre De Usuario: $username <br><br>Password: $mostrarpass <br><br> Ahora usted puede ingresar con sus datos desde el siguiente formulario.<br>Recuerde que siendo usuario podra tener privilegios mas avanzados de los que tienen los visitantes de la web, unos de los privilegios es que podra acceder a un panel de control, podra agregar musicas a su propio playlist, podra compartir con sus amigos de correo, msn, hi5, facebook, Myspace tus listas musicales, podra descargar la canción, dedicar la canción, y muchas otras cosas más.</span></fieldset><br><fieldset  style='border:##000000'>
                                    <legend class='Estilo1 tit_form'><strong>Datos De Usuario</strong></legend>
                                    <form name='form1' action='entrar.php' method='POST'>
                        <label>Ingrese Nombre De Usuario</label>
                        <input name='username' type='text' id='usuario' class='textbox' >
                        <label>Ingrese Contraseña De Usuario </label>
                        <input name='password' type='password' id='clave' class='textbox'>
                        <input type='checkbox' name='che' value='' class='check' />
                        <a href='#' class='reme' title='Remember Me'>Recordarme</a>
                        <input name='submit' type='submit' value='' class='loginbut' title='Login'>
                        </form></fieldset><br><br><center><span class='reproductor-anaranjado'>Grupo: BenQuin - Desarrollamos tus ideas, Contratos al: (5164) 964-337-962 o al msn: [email protected]</span></center>Â*"




}  
?>
bueno el Problema es el siguiente que cuando no coloco la imagen y lo en el formulario entonces mandaria algo nulo verdad y por consecuencia en la base de datos se colaca el defaul verdad, pero eso no pasa por que? solo aparece vacio
  #2 (permalink)  
Antiguo 16/04/2009, 18:25
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Respuesta: Ayuda Php Y Msql No Pone Default

Esto es porque tu estas enviando el campo '$foto', si este esta vacio se envia una cadena vacia, lo que no es lo mismo que nulo, si lo que deseas es activar el "default" de ese campo, tienes que omitirlo de tu sentencia insert.

Saludos.
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 21:10.