Foros del Web » Programando para Internet » PHP »

casilla de verificación en php

Estas en el tema de casilla de verificación en php en el foro de PHP en Foros del Web. Hola amigos, Tengo un problema y no consigo incluir una casilla de verificación. Primero de todo decir que mi nivel es bastante nobato, y decir ...
  #1 (permalink)  
Antiguo 10/04/2011, 09:39
Avatar de jors_11  
Fecha de Ingreso: marzo-2011
Ubicación: Granollers
Mensajes: 79
Antigüedad: 13 años
Puntos: 2
casilla de verificación en php

Hola amigos,

Tengo un problema y no consigo incluir una casilla de verificación. Primero de todo decir que mi nivel es bastante nobato, y decir que me he construido un
formulario de registro con la ayuda de unos tutoriales con ficheros para copiar y pegar. El formulario es en php y conecta a una base de datos phpMyAdmin, pero me gustaría incluir una casilla de verificación, que se envie cuando presione el botón de Ingresar, y me envie datos de (si o no) a la base de datos, pero tengo muchas dudas, ¿Como hago la casilla de verificación en html o php y como? Que le pongo para que enlace con la BD? y la otra duda es;
Tengo que incluir un campo en la base de datos, pero ¿Que clase de campo? ¿Como enlazará con la casilla de verificación?.
Saludos, Jors

Esto es el codigo del formulario de registro;



<?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="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">';

?>
  #2 (permalink)  
Antiguo 10/04/2011, 09:49
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 15 años, 8 meses
Puntos: 1532
Respuesta: casilla de verificación en php

recomendación: antes de iniciarte en el mundo de la programación web has de estudiar sus bases que son (x)HTML y CSS, de esa forma tendrás una base sólida para construir web's dinámicas conociendo los principios como formularos webs y así sabrías que los checkbox o casillas de verificación se componen así:

<input type="checkbox" name="name_check" value="1" />
__________________
¡Por favor!: usa el highlight para mostrar código
El que busca, encuentra...
  #3 (permalink)  
Antiguo 10/04/2011, 09:58
Avatar de jors_11  
Fecha de Ingreso: marzo-2011
Ubicación: Granollers
Mensajes: 79
Antigüedad: 13 años
Puntos: 2
Respuesta: casilla de verificación en php

Muchas gracias por la recomendación, la verdad que estoy aprendiendo mucho, pero si tienes razón voy muy perdido, si no llega ser que me fascina este mundillo ya lo habría dejado porque es complicado.

Gracias por el código pero para que se vayan los datos a la BD con el botón ingresar ¿Como hay que hacerlo? Y que campo tengo que añadir en la BD?
  #4 (permalink)  
Antiguo 10/04/2011, 11:32
 
Fecha de Ingreso: mayo-2009
Mensajes: 201
Antigüedad: 14 años, 10 meses
Puntos: 9
Respuesta: casilla de verificación en php

<input type="checkbox" name="name_check" value="1" />

el campo name del checkbox se usa igual que el resto
es decir,
$_POST['name_check']
si ya tienes mas campos en el formulario entenderas el post.
el value que tiene ese es un 1.
lo que tienes que hacer es un if.

if($_POST['name_check']==1){
// si el post es 1 es que estaba marcado
}else{
//si no es 1, no estaba marcado
}

lo de la base de datos, necesitas un campo para el check. el tipo de dato yo uso tinyint de tamaño 1. y guardo un 1 si el check estaba marcado, o un 0 si estaba sin marcar.

Entiendes el proceso?
  #5 (permalink)  
Antiguo 10/04/2011, 13:24
Avatar de jors_11  
Fecha de Ingreso: marzo-2011
Ubicación: Granollers
Mensajes: 79
Antigüedad: 13 años
Puntos: 2
Respuesta: casilla de verificación en php

Mil gracias.

Si, más o menos creo que lo puedo conseguir, seguiré paso a paso tus indicaciones, parece bastante claro, Ya te digo si lo consigo.
Saludos, Jors
  #6 (permalink)  
Antiguo 10/04/2011, 14:51
Avatar de jors_11  
Fecha de Ingreso: marzo-2011
Ubicación: Granollers
Mensajes: 79
Antigüedad: 13 años
Puntos: 2
Respuesta: casilla de verificación en php

Bueno parece que funcione pero no me ingresa el dato en la base de datos,

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 el if en la pagina que valida el formulario y el campo lo he llamado "publicidad"

Y 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>';
}

}

?>
  #7 (permalink)  
Antiguo 10/04/2011, 16:09
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 15 años, 8 meses
Puntos: 1532
Respuesta: casilla de verificación en php

$publicidad = $_POST['publicidad'];
if($_POST['publicidad']==1){
//¿que se supone que debe ir aquí !!!!!!!!!!!!?
}else{
//¿que se supone que debe ir acá !!!!!!!!!!!!?
}
__________________
¡Por favor!: usa el highlight para mostrar código
El que busca, encuentra...
  #8 (permalink)  
Antiguo 10/04/2011, 16:18
Avatar de jors_11  
Fecha de Ingreso: marzo-2011
Ubicación: Granollers
Mensajes: 79
Antigüedad: 13 años
Puntos: 2
Respuesta: casilla de verificación en php

No tengo ni idea, ¿Me he dejado algo?
  #9 (permalink)  
Antiguo 11/04/2011, 01:13
Avatar de jors_11  
Fecha de Ingreso: marzo-2011
Ubicación: Granollers
Mensajes: 79
Antigüedad: 13 años
Puntos: 2
Respuesta: casilla de verificación en php

Quizá pude ir esto? No lo he probado porque estoy seguro que no funcionará. Te agradeceré tu opinión y una ayudita.

$publicidad = $_POST['publicidad'];
if($_POST['publicidad']==1){
$_SESSION["publicidad"] = "1";
}else{
$_SESSION["publicidad"] = "0";
}
  #10 (permalink)  
Antiguo 11/04/2011, 09:11
Avatar de jors_11  
Fecha de Ingreso: marzo-2011
Ubicación: Granollers
Mensajes: 79
Antigüedad: 13 años
Puntos: 2
Respuesta: casilla de verificación en php

Hola! He hecho un montón de pruebas y no lo consigo, please ayudarme
  #11 (permalink)  
Antiguo 11/04/2011, 09:32
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 15 años, 8 meses
Puntos: 1532
Respuesta: casilla de verificación en php

veo que estás más perdido que un gato en la perrera, primero serenarte, relajarte y piensa:

¿que es lo que debes hacer cuando el usuario marque publicidad?: en ése bloque de código es donde colocaras lo referente a esa situación, intenta analizar bien lo que estás haciendo, muchas veces el método de ensayo y error no es el más efectivo

¿que ganas colocando en sesión si quiere publicidad o no?: no hay mucho sentido en ello si es que no lo piensas usar en otras peticiones
__________________
¡Por favor!: usa el highlight para mostrar código
El que busca, encuentra...
  #12 (permalink)  
Antiguo 11/04/2011, 10:51
Avatar de jors_11  
Fecha de Ingreso: marzo-2011
Ubicación: Granollers
Mensajes: 79
Antigüedad: 13 años
Puntos: 2
Respuesta: casilla de verificación en php

Jejeje pues si voy perdido.
Creo tener entendido por cosas que escuchado por ahí, que no se puede enviar publicidad a los usuarios sin una aprobación por parte de ellos,
Mi especialidad es la psoriasis y he escrito un libro que habla de mi experiencia con el deseo que ayude a mucha gente a liberarse de las molestias que provoca esta enfermedad.
Pues me interesa que cuando el usuario marque la casilla de verificación, yo tenga una referencia de quien quiere recibir novedades y quien no, para no molestar a nadie.
  #13 (permalink)  
Antiguo 11/04/2011, 13:02
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 15 años, 8 meses
Puntos: 1532
Respuesta: casilla de verificación en php

ahh, ahora si nos entendemos, lo ideal seria que tuvieses un registro de usuarios en una base de datos, y un campo en donde almacenes dicho valor, así puedes consultarlo para mostrar la publicidad o no.
__________________
¡Por favor!: usa el highlight para mostrar código
El que busca, encuentra...
  #14 (permalink)  
Antiguo 11/04/2011, 13:18
Avatar de jors_11  
Fecha de Ingreso: marzo-2011
Ubicación: Granollers
Mensajes: 79
Antigüedad: 13 años
Puntos: 2
Respuesta: casilla de verificación en php

Si en la base de datos he creado un campo llamado publicidad, es decir todos los usuarios tendrán el mismo campo y la idea es con un valor o no,
Me dices que debería crear otro campo? ahora creo que eres tu el que te estas liando.
  #15 (permalink)  
Antiguo 13/04/2011, 00:20
 
Fecha de Ingreso: abril-2011
Mensajes: 7
Antigüedad: 13 años
Puntos: 0
Respuesta: casilla de verificación en php

Digo en vez de decirle a la persona que esta liado, no intentas aprender como funciona la sentencia IF que estas usando, para nada en tu caso, y no esperas que te den todo hecho, es fácil pones así en Google "sentencia IF en php" y seguro que te trae algo, un ejemplo de lo que te puede llegar a traer seria esto, explicado en lenguaje coloquial (lo que hablamos)

Si ocurre esto
hacer esto
sino
hacer esto otro.

donde "esto" seria la condición que querés analizar.

Otra cosa viendo tu código, envias los datos a la BD para guardarlos???porque sino los envias a la BD va a ser muy difícil que te quede algo guardado así porque si.

Lo podrías hacer al mismo tiempo que envias el usuario, la contraseña, solo deberías agregar el campo publicidad.

Última edición por ircnick; 13/04/2011 a las 00:25 Razón: me faltaba algo

Etiquetas: casilla
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 09:56.