Foros del Web » Programando para Internet » PHP »

me tiene loco el checkbox,

Estas en el tema de me tiene loco el checkbox, en el foro de PHP en Foros del Web. Hola compys! Estoy terminando un formulario y me falta una casilla de verificación que se me resiste un poco. Mis conocimientos de php son limitados ...
  #1 (permalink)  
Antiguo 13/04/2011, 11:39
Avatar de jors_11  
Fecha de Ingreso: marzo-2011
Ubicación: Granollers
Mensajes: 79
Antigüedad: 13 años, 7 meses
Puntos: 2
Mensaje me tiene loco el checkbox,

Hola compys!
Estoy terminando un formulario y me falta una casilla de verificación que se me resiste un poco. Mis conocimientos de php son limitados es por eso que busco un poco de ayuda.
hasta ahora he hecho lo siguiente;

En la pagina donde tengo el formulario he puesto lo siguiente;

<input type="checkbox" name="publicidad" value="1" checked="checked" />Deseo recibir información de proximas publicaciones y novedades<br />

He puesto un if en la pagina que valida el formulario y el campo lo he llamado "publicidad"

Y en la base de datos he creado un campo llamado publicidad Tipo; tinyint de tamaño 1 / en cotejamiento; utf8_general_ci y en Nulo; no

Algo debo haber hecho mal porque no ingresa ningún valor. ¿En que puedo haber fallado?

Este es el codigo de la pagina que valida el formulario;

mysql_connect('localhost','logueo');
mysql_select_db('logueo');
$publicidad = $_POST['publicidad'];
if($_POST['publicidad']==1){
}else{
}

$usuario = strtolower($_POST["usuario"]);
$password = $_POST["password"];
if($usuario!= "" && $password!= "")
{
$sql = mysql_query('SELECT password, usuario FROM usuarios WHERE usuario="'.$usuario.'"');
if($f= mysql_fetch_array($sql)){
if($f["password"] == $password){
$_SESSION["k_username"] = $f['usuario'];
echo 'TE HAS REGISTRADO CORRECTAMENTE, '.$_SESSION['k_username'].' <p>';
echo '<a href="2.php#1">VOLVER A LA PAGINA DE DESCARGA</a></p>';

}else{
echo '<strong><u>PASSWORD INCORRECTO, DEBES VOLVER AL INICIO</u></strong> ';
echo '<a href="login.php"><strong>VOLVER A VALIDAR REGISTRO</strong></a></p>';
}
}else{
echo '<strong><u>USUARIO NO EXISTE EN LA BASE DE DATOS, DEBES VOLVER AL INICIO</u></strong> ';
echo '<a href="login.php"><strong>VOLVER A VALIDAR REGISTRO</strong></a></p>';
}

}

?>
  #2 (permalink)  
Antiguo 13/04/2011, 11:42
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años, 7 meses
Puntos: 2534
Respuesta: me tiene loco el checkbox,

y donde está la consulta que inserta los datos?

¿o a que le llamas ingresar?
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 13/04/2011, 13:32
Avatar de Potro  
Fecha de Ingreso: abril-2001
Mensajes: 2.249
Antigüedad: 23 años, 7 meses
Puntos: 39
Respuesta: me tiene loco el checkbox,

Supongo que el error te sale si no seleccionan el check... no recibes el dato...
__________________
Paginación en FLASH,

http://www.forosdelweb.com/f62/pagin...o-aqui-540241/
  #4 (permalink)  
Antiguo 14/04/2011, 01:07
Avatar de jors_11  
Fecha de Ingreso: marzo-2011
Ubicación: Granollers
Mensajes: 79
Antigüedad: 13 años, 7 meses
Puntos: 2
Respuesta: me tiene loco el checkbox,

Perdonar que ayer me quede sin Internet,
Debería de poner un echo? Me podrías dar un ejemplo de como tengo que construirlo y donde lo tengo que poner?
Gracias,
  #5 (permalink)  
Antiguo 14/04/2011, 01:26
 
Fecha de Ingreso: marzo-2011
Mensajes: 107
Antigüedad: 13 años, 7 meses
Puntos: 22
Respuesta: me tiene loco el checkbox,

Yo tenia entendido que el value de los checkbox solo puede ser TRUE o FALSE. Lo que puedes hacer con ese checkbox es un if y mirar si está marcado o no

Código PHP:
$publicidad $_POST['publicidad'];

if(
$publicidad == TRUE)
{
   
$sw 1;
}
else
{
   
$sw 0;

  #6 (permalink)  
Antiguo 14/04/2011, 02:25
Avatar de jors_11  
Fecha de Ingreso: marzo-2011
Ubicación: Granollers
Mensajes: 79
Antigüedad: 13 años, 7 meses
Puntos: 2
Respuesta: me tiene loco el checkbox,

Muchas gracias, pero aun no me funciona, y creo que el problema esta en la pagina donde tengo el formulario, porque le incluí el checkbox pero mi duda es si debería de poner algo en el botón de ingresar para que envíe el dato,


<?php
session_start();

mysql_connect('localhost','logueo')or die ('Ha fallado la conexi&oacute;n: '.mysql_error());
mysql_select_db('logueo')or die ('Error al seleccionar la Base de Datos: '.mysql_error());
function mostrar(){
echo'ES NECESARIO QUE TE REGISTRES PARA OBTENER EL SEGUNDO TOMO DEL LIBRO (20 DE MAYO DE 2011),';
echo'<form action="registrar.php" method="post" name="1">
Usuario (max 20):
<input type="text" name="username" size="20" maxlength="20" /><br />
Password (max 10):
<input type="password" name="password" size="10" maxlength="10" />
Confirma: <input type="password" name="password2" size="10" maxlength="10" /><br />
Email (max 40):
<input type="text" name="email" size="20" maxlength="40" /><br />
<input type="checkbox" name="publicidad" value="1" checked="checked" />Deseo recibir información de próximas publicaciones y novedades<br />
<input type="submit" value="Registrar" />
</form>';
}
function mostrar1(){
echo'<FORM ACTION="validar_usuario.php" METHOD="post">
Usuario : <INPUT TYPE="text" NAME="usuario" SIZE=20 MAXLENGTH=20><br />
Password: <INPUT TYPE="password" NAME="password" SIZE=10 MAXLENGTH=10><br />
<INPUT TYPE="submit" VALUE="Ingresar">
</FORM>';
}
?>
<?php

if (isset($_POST["username"])) {
$username = $_POST["username"];
$password = $_POST["password"];
$password2 = $_POST["password2"];
$email = $_POST["email"];
if($username==NULL||$password==NULL||$password2==N ULL||$email==NULL) {
echo "un campo est&aacute; vacio.";
mostrar();
}else{
if($password!=$password2) {
echo "Las contrase&ntilde;as no coinciden";
mostrar();
}else{
$checkuser = mysql_query("SELECT usuario FROM usuarios WHERE usuario='$username'");
$username_exist = mysql_num_rows($checkuser);
$checkemail = mysql_query("SELECT email FROM usuarios WHERE email='$email'");
$email_exist = mysql_num_rows($checkemail);
if ($email_exist>0||$username_exist>0) {
echo "El nombre de usuario o la cuenta de correo estan ya en uso";
mostrar();
}else{
$query = 'INSERT INTO usuarios (usuario, password, email, fecha)
VALUES (\''.$username.'\',\''.$password.'\',\''.$email.'\ ',\''.date("Y-m-d").'\')';
mysql_query($query);
echo 'El usuario '.$username.' has sido registrado de manera satisfactoria.<br />';
echo 'Ahora puedes entrar ingresando tu usuario y password<br />';
mostrar1();
echo '<INPUT TYPE="submit" VALUE="Ingresar">';

?>
<?php
}
}
}
}else{
mostrar();
}
?>
  #7 (permalink)  
Antiguo 14/04/2011, 04:11
 
Fecha de Ingreso: marzo-2011
Mensajes: 107
Antigüedad: 13 años, 7 meses
Puntos: 22
Respuesta: me tiene loco el checkbox,

Estás recogiendo el valor del checkbox? Porque donde tienes los $_POST soy yo o ahora no le veo XD. Si el checkbox está dentro del form te lo va a coger así que no te hace falta poner nada en el botón de ingresar. (Los códigos en el foro se ven mejor entre equiquetas [PHP] o [HTML] y con tabulaciones)

PD: para validar los campos no lo hagas en servidor o sino tardara mucho tiempo, usa javascript por ejemplo.
  #8 (permalink)  
Antiguo 14/04/2011, 04:30
Avatar de jors_11  
Fecha de Ingreso: marzo-2011
Ubicación: Granollers
Mensajes: 79
Antigüedad: 13 años, 7 meses
Puntos: 2
Respuesta: me tiene loco el checkbox,

Hola Saneko!

Pues seguro que será eso, me he saltado el Post, pero donde representa que debo ponerlo?


Código HTML:
Ver original
  1. <?php
  2. session_start();
  3.  
  4. mysql_connect('localhost','logueo')or die ('Ha fallado la conexi&oacute;n: '.mysql_error());
  5. mysql_select_db('logueo')or die ('Error al seleccionar la Base de Datos: '.mysql_error());
  6. function mostrar(){
  7. echo'ES NECESARIO QUE TE REGISTRES PARA OBTENER EL SEGUNDO TOMO DEL LIBRO (20 DE MAYO DE 2011),';
  8. echo'<form action="registrar.php" method="post" name="1">
  9. Usuario (max 20):
  10.   <input type="text" name="username" size="20" maxlength="20" /><br />
  11. Password (max 10):
  12. <input type="password" name="password" size="10" maxlength="10" />
  13. Confirma: <input type="password" name="password2" size="10" maxlength="10" /><br />
  14. Email (max 40):
  15. <input type="text" name="email" size="20" maxlength="40" /><br />
  16. <input type="checkbox" name="publicidad" value="1" checked="checked" />Deseo recibir información de próximas publicaciones y novedades<br />
  17. <input type="submit" value="Registrar" />
  18. </form>';
  19. }
  20. function mostrar1(){
  21. echo'<FORM ACTION="validar_usuario.php" METHOD="post">
  22.                   Usuario : <INPUT TYPE="text" NAME="usuario" SIZE=20 MAXLENGTH=20><br />
  23.                   Password: <INPUT TYPE="password" NAME="password" SIZE=10 MAXLENGTH=10><br />
  24.                   <INPUT TYPE="submit" VALUE="Ingresar">
  25.                 </FORM>';
  26. }
  27. ?>
  28.                             <?php
  29.  
  30. if (isset($_POST["username"])) {
  31.     $username = $_POST["username"];
  32.     $password = $_POST["password"];
  33.     $password2 = $_POST["password2"];
  34.     $email = $_POST["email"];
  35.     if($username==NULL||$password==NULL||$password2==NULL||$email==NULL) {
  36.         echo "un campo est&aacute; vacio.";
  37.     mostrar();
  38.     }else{
  39.             if($password!=$password2) {
  40.             echo "Las contrase&ntilde;as no coinciden";
  41.             mostrar();
  42.         }else{
  43.                     $checkuser = mysql_query("SELECT usuario FROM usuarios WHERE usuario='$username'");
  44.             $username_exist = mysql_num_rows($checkuser);
  45.             $checkemail = mysql_query("SELECT email FROM usuarios WHERE email='$email'");
  46.             $email_exist = mysql_num_rows($checkemail);
  47.             if ($email_exist>0||$username_exist>0) {
  48.                 echo "El nombre de usuario o la cuenta de correo estan ya en uso";
  49.                 mostrar();
  50.             }else{
  51.                 $query = 'INSERT INTO usuarios (usuario, password, email, fecha)
  52.                 VALUES (\''.$username.'\',\''.$password.'\',\''.$email.'\',\''.date("Y-m-d").'\')';
  53.                 mysql_query($query);
  54.                 echo 'El usuario '.$username.' has sido registrado de manera satisfactoria.<br />';
  55.                 echo 'Ahora puedes entrar ingresando tu usuario y password<br />';
  56.                 mostrar1();
  57.                 echo '<INPUT TYPE="submit" VALUE="Ingresar">';
  58.                
  59.                 ?>
  60.                             <?php
  61.             }
  #9 (permalink)  
Antiguo 14/04/2011, 04:42
 
Fecha de Ingreso: marzo-2011
Mensajes: 107
Antigüedad: 13 años, 7 meses
Puntos: 22
Respuesta: me tiene loco el checkbox,

Cita:
Iniciado por jors_11 Ver Mensaje
Hola Saneko!

Pues seguro que será eso, me he saltado el Post, pero donde representa que debo ponerlo?

Código PHP:
<?php
session_start
();

mysql_connect('localhost','logueo')or die ('Ha fallado la conexi&oacute;n: '.mysql_error());
mysql_select_db('logueo')or die ('Error al seleccionar la Base de Datos: '.mysql_error());
function 
mostrar(){
echo
'ES NECESARIO QUE TE REGISTRES PARA OBTENER EL SEGUNDO TOMO DEL LIBRO (20 DE MAYO DE 2011),';
echo
'<form action="registrar.php" method="post" name="1">
Usuario (max 20): 
  <input type="text" name="username" size="20" maxlength="20" /><br />
Password (max 10): 
<input type="password" name="password" size="10" maxlength="10" />
Confirma: <input type="password" name="password2" size="10" maxlength="10" /><br />
Email (max 40):
<input type="text" name="email" size="20" maxlength="40" /><br />
<input type="checkbox" name="publicidad" value="1" checked="checked" />Deseo recibir información de próximas publicaciones y novedades<br />
<input type="submit" value="Registrar" />
</form>'
;
}
function 
mostrar1(){
echo
'<FORM ACTION="validar_usuario.php" METHOD="post">
                  Usuario : <INPUT TYPE="text" NAME="usuario" SIZE=20 MAXLENGTH=20><br />
                  Password: <INPUT TYPE="password" NAME="password" SIZE=10 MAXLENGTH=10><br />
                  <INPUT TYPE="submit" VALUE="Ingresar">
                </FORM>'
;
}
?>
                            <?php

if (isset($_POST["username"])) {
    
$username $_POST["username"];
    
$password $_POST["password"];
    
$password2 $_POST["password2"];
    
$email $_POST["email"];
    
$publi $_POST['publicidad']; // aqui es donde le perdi el rastro
          
    
if($username==NULL||$password==NULL||$password2==NULL||$email==NULL) {
        echo 
"un campo est&aacute; vacio.";
    
mostrar();
    }else{
            if(
$password!=$password2) {
            echo 
"Las contrase&ntilde;as no coinciden";
            
mostrar();
        }else{
                    
$checkuser mysql_query("SELECT usuario FROM usuarios WHERE usuario='$username'");
            
$username_exist mysql_num_rows($checkuser);
            
$checkemail mysql_query("SELECT email FROM usuarios WHERE email='$email'");
            
$email_exist mysql_num_rows($checkemail);
            if (
$email_exist>0||$username_exist>0) {
                echo 
"El nombre de usuario o la cuenta de correo estan ya en uso";
                
mostrar();
            }else{
                
$query 'INSERT INTO usuarios (usuario, password, email, fecha)
                VALUES (\''
.$username.'\',\''.$password.'\',\''.$email.'\',\''.date("Y-m-d").'\')';
                
mysql_query($query);
                echo 
'El usuario '.$username.' has sido registrado de manera satisfactoria.<br />';
                echo 
'Ahora puedes entrar ingresando tu usuario y password<br />';
                
mostrar1();
                echo 
'<INPUT TYPE="submit" VALUE="Ingresar">';
                
                
?>
                            <?php
            
}
Ahora una vez recogido el dato recuerda que es TRUE o FALSE (tambien vale el 1 y 0 pero no se cual es cual) y haz con el lo que tengas que hacer =P

Última edición por Saneko; 14/04/2011 a las 04:47
  #10 (permalink)  
Antiguo 14/04/2011, 05:30
Avatar de jors_11  
Fecha de Ingreso: marzo-2011
Ubicación: Granollers
Mensajes: 79
Antigüedad: 13 años, 7 meses
Puntos: 2
Respuesta: me tiene loco el checkbox,

Marcando la casilla de verificación o no el campo de la base de datos sigue saliendo de valor 0,
Quizá he escrito mal el código de la pagina que valida el formulario?

Código PHP:
Ver original
  1. <?php
  2. ?>
  3. <?php
  4. mysql_connect('localhost','logueo');
  5. mysql_select_db('logueo');
  6. [B]$publicidad = $_POST['publicidad'];
  7.  
  8. if($publicidad == TRUE)
  9. {
  10.    $sw = 1;
  11. }
  12. else
  13. {
  14.    $sw = 0;
  15. }  [/B]
  16. $usuario = strtolower($_POST["usuario"]);
  17. $password = $_POST["password"];
  18. if($usuario!= "" && $password!= "")
  19. {
  20.     $sql = mysql_query('SELECT password, usuario FROM usuarios WHERE usuario="'.$usuario.'"');
  21.     if($f= mysql_fetch_array($sql)){
  22.         if($f["password"] == $password){
  23.             $_SESSION["k_username"] = $f['usuario'];
  24.             echo 'TE HAS REGISTRADO CORRECTAMENTE, '.$_SESSION['k_username'].' <p>';
  25.             echo '<a href="2.php#1">VOLVER A LA PAGINA DE DESCARGA</a></p>';  
  26.            
  27.         }else{
  28.             echo '<strong><u>PASSWORD INCORRECTO, DEBES VOLVER AL INICIO</u></strong> ';
  29.             echo '<a href="login.php"><strong>VOLVER A VALIDAR REGISTRO</strong></a></p>';
  30.         }
  31.     }else{
  32.             echo '<strong><u>USUARIO NO EXISTE EN LA BASE DE DATOS, DEBES VOLVER AL INICIO</u></strong> ';
  33.             echo '<a href="login.php"><strong>VOLVER A VALIDAR REGISTRO</strong></a></p>';
  34.     }
  35.    
  36. }
  37.  
  38. ?>
  #11 (permalink)  
Antiguo 14/04/2011, 05:39
 
Fecha de Ingreso: marzo-2011
Mensajes: 107
Antigüedad: 13 años, 7 meses
Puntos: 22
Respuesta: me tiene loco el checkbox,

Si el campo en la base de datos es 0 y no lo actualizas seguira siendo 0. para ver que de verdad lo recoge haz un echo $sw en el php
A ver si me aclaro, tu tienes en la base de datos un campo que es publicidad que puede valer 0 o 1, cierto?
Ahora en el formulario tienes un checkbox que valdra 0 o 1 dependiendo si está marcado o no.
Si quieres cambiar ese campo para ese usuario, actualiza la base de datos (update) que para algo está en $sw XD
  #12 (permalink)  
Antiguo 14/04/2011, 06:04
Avatar de jors_11  
Fecha de Ingreso: marzo-2011
Ubicación: Granollers
Mensajes: 79
Antigüedad: 13 años, 7 meses
Puntos: 2
Respuesta: me tiene loco el checkbox,

Si tengo un campo en la base de datos llamado publicidad pero eso que me dices de que puede valer 0 o 1 pues no lo se a ciencia cierta, porque cuando lo cree hice lo siguiente;

Nombre del Campo; publicidad Tipo; tinyint Tamaño; 1 / en Cotejamiento; utf8_general_ci y en Nulo; no
Hay que hacer algo más en la base?

He actualizado la base, en la pestaña actualizar, pero después de registrarme en el formulario el campo recoge solo el valor 0
  #13 (permalink)  
Antiguo 14/04/2011, 08:09
 
Fecha de Ingreso: marzo-2011
Mensajes: 107
Antigüedad: 13 años, 7 meses
Puntos: 22
Respuesta: me tiene loco el checkbox,

Has hecho el echo $sw y sigue dando 0?

Bueno, cuando llegue a casa reviso mis formus y cuando encuentre los check te paso los ejemplos
  #14 (permalink)  
Antiguo 14/04/2011, 09:18
Avatar de jors_11  
Fecha de Ingreso: marzo-2011
Ubicación: Granollers
Mensajes: 79
Antigüedad: 13 años, 7 meses
Puntos: 2
Respuesta: me tiene loco el checkbox,

Buenas, No aun no he hecho el echo porque no entiendo exactamente donde lo tengo que hacer. Ahí me pierdo un poco..
  #15 (permalink)  
Antiguo 14/04/2011, 09:33
Avatar de ix0ye  
Fecha de Ingreso: julio-2009
Ubicación: queretaro
Mensajes: 41
Antigüedad: 15 años, 3 meses
Puntos: 1
Respuesta: me tiene loco el checkbox,

Código PHP:
session_start();
echo 
$_POST['publicidad'];//checa que imprime php cuando muestras el valor del checkbox
mysql_connect('localhost','logueo');
mysql_select_db('logueo');
[
B]$publicidad $_POST['publicidad'];
 
if(
$publicidad == TRUE)
{
   
$sw 1;
}
else
{
   
$sw 0;
}  [/
B]
$usuario strtolower($_POST["usuario"]);
$password $_POST["password"];
if(
$usuario!= "" && $password!= "")
{
    
$sql mysql_query('SELECT password, usuario FROM usuarios WHERE usuario="'.$usuario.'"');
    if(
$fmysql_fetch_array($sql)){
        if(
$f["password"] == $password){
            
$_SESSION["k_username"] = $f['usuario'];
            echo 
'TE HAS REGISTRADO CORRECTAMENTE, '.$_SESSION['k_username'].' <p>';
            echo 
'<a href="2.php#1">VOLVER A LA PAGINA DE DESCARGA</a></p>';  
           
        }else{
            echo 
'<strong><u>PASSWORD INCORRECTO, DEBES VOLVER AL INICIO</u></strong> ';
            echo 
'<a href="login.php"><strong>VOLVER A VALIDAR REGISTRO</strong></a></p>';
        }
    }else{
            echo 
'<strong><u>USUARIO NO EXISTE EN LA BASE DE DATOS, DEBES VOLVER AL INICIO</u></strong> ';
            echo 
'<a href="login.php"><strong>VOLVER A VALIDAR REGISTRO</strong></a></p>';
    }
   

debajo de session_start(); muestras el contenido que tiene la variable $_POST['publicidad']

Última edición por ix0ye; 14/04/2011 a las 09:36 Razón: tags php
  #16 (permalink)  
Antiguo 14/04/2011, 09:50
 
Fecha de Ingreso: marzo-2011
Mensajes: 107
Antigüedad: 13 años, 7 meses
Puntos: 22
Respuesta: me tiene loco el checkbox,

Código HTML:
<form name="prueba method="post" action="">
<input type="checkbox" name="tester">Probando
<input type="submit" value="Probar">
</form> 
Código PHP:
if($_POST)
{
   
$test $_POST['tester'];

   if(
$test == TRUE)
   {
      
$sw 1;
   }
   else
   {
      
$sw 0;
   }

   echo 
$sw;

en algun lado aparecerá un 0 o un 1
  #17 (permalink)  
Antiguo 14/04/2011, 09:52
Avatar de jors_11  
Fecha de Ingreso: marzo-2011
Ubicación: Granollers
Mensajes: 79
Antigüedad: 13 años, 7 meses
Puntos: 2
Respuesta: me tiene loco el checkbox,

Ya he puesto el echo, que representa que debería de ocurrir?

Esto Hay tres paginas una es donde hay el formulario la otra es la que registro y finalmente otra que valida,

Quizá tiene que ver que me salte la pagina de registro?

Código PHP:
Ver original
  1. </style><?php
  2.  
  3. mysql_connect('localhost','logueo')or die ('Ha fallado la conexión: '.mysql_error());
  4. mysql_select_db('logueo')or die ('Error al seleccionar la Base de Datos: '.mysql_error());
  5. function mostrar(){
  6. echo'<form action="registrar.php" method="post" name="1">
  7. Usuario (max 20):
  8.  <input type="text" name="username" size="20" maxlength="20" /><br />
  9. Password (max 10):
  10. <input type="password" name="password" size="10" maxlength="10" />
  11. Confirma: <input type="password" name="password2" size="10" maxlength="10" /><br />
  12. Email (max 40):
  13. <input type="text" name="email" size="20" maxlength="40" /><br />
  14. <input type="submit" value="Registrar" />
  15. </form>';
  16. }
  17. function mostrar1(){
  18. echo'<FORM ACTION="validar_usuario.php" METHOD="post">
  19.                   Usuario : <INPUT TYPE="text" NAME="usuario" SIZE=20 MAXLENGTH=20><br />
  20.                   Password: <INPUT TYPE="password" NAME="password" SIZE=10 MAXLENGTH=10><br />
  21.                   <INPUT TYPE="submit" VALUE="Ingresar">
  22.                 </FORM>';
  23. }
  24. ?>
  25.  
  26. <?php
  27.  
  28. if (isset($_POST["username"])) {
  29.     $username = $_POST["username"];
  30.     $password = $_POST["password"];
  31.     $password2 = $_POST["password2"];
  32.     $email = $_POST["email"];
  33.     if($username==NULL||$password==NULL||$password2==NULL||$email==NULL) {
  34.         echo "un campo está vacio.";
  35.     mostrar();
  36.     }else{
  37.             if($password!=$password2) {
  38.             echo "Las contraseñas no coinciden";
  39.             mostrar();
  40.         }else{
  41.                     $checkuser = mysql_query("SELECT usuario FROM usuarios WHERE usuario='$username'");
  42.             $username_exist = mysql_num_rows($checkuser);
  43.             $checkemail = mysql_query("SELECT email FROM usuarios WHERE email='$email'");
  44.             $email_exist = mysql_num_rows($checkemail);
  45.             if ($email_exist>0||$username_exist>0) {
  46.                 echo "El nombre de usuario o la cuenta de correo estan ya en uso";
  47.                 mostrar();
  48.             }else{
  49.                 $query = 'INSERT INTO usuarios (usuario, password, email, fecha)
  50.                 VALUES (\''.$username.'\',\''.$password.'\',\''.$email.'\',\''.date("Y-m-d").'\')';
  51.                 mysql_query($query);
  52.                 echo 'El usuario '.$username.' ha sido registrado de manera satisfactoria.<br />';
  53.                 echo 'Ahora puede entrar ingresando su usuario y su password <br />';
  54.                 mostrar1();
  55.                 ?>
  56.                
  57.                 <?php
  58.             }
  59.         }
  60.     }
  61. }else{
  62. mostrar();
  63. }
  64. ?>
  #18 (permalink)  
Antiguo 14/04/2011, 09:59
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años, 7 meses
Puntos: 2534
Respuesta: me tiene loco el checkbox,

hay algo que todavía se les está pasando, el valor recibido por checkbox jamás será TRUE...

todos los valores recibidos por formularios son strings, y sobre todo, si asignamos un value a dicho checkbox ese mismo valor es lo que vamos a recibir...

otro detalle es que solo si marcamos el checkbox va a ser enviado, si no, pues no...

la mejor forma de hacer esto, es comprobarlo así:
Código PHP:
if (isset($_POST['name_del_checkbox'])) $marcado TRUE;
else 
$marcado FALSE
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #19 (permalink)  
Antiguo 14/04/2011, 10:07
Avatar de jors_11  
Fecha de Ingreso: marzo-2011
Ubicación: Granollers
Mensajes: 79
Antigüedad: 13 años, 7 meses
Puntos: 2
Respuesta: me tiene loco el checkbox,

lo iré probando todo, pero estoy en el trabajo y dentro de una hora estoy libre, pero indicarme en que paginas hago las pruebas, y verdad que puede tener alguna relación que me había olvidado de la pagina de registro? Le debería de poner algún dato en ese pagina?
Hasta ahora,

Etiquetas: checkbox, loco
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 14:08.