Foros del Web » Programando para Internet » PHP »

problemas con checkboxs

Estas en el tema de problemas con checkboxs en el foro de PHP en Foros del Web. Buenas noches, busque antes de hacer esta pregunta pero se me hizo un zafarrancho todo y al final no entendi. Voy a mi pregunta, tengo ...
  #1 (permalink)  
Antiguo 10/08/2006, 23:37
Avatar de objetivolaguzma  
Fecha de Ingreso: noviembre-2004
Mensajes: 218
Antigüedad: 13 años, 1 mes
Puntos: 0
problemas con checkboxs

Buenas noches, busque antes de hacer esta pregunta pero se me hizo un zafarrancho todo y al final no entendi. Voy a mi pregunta, tengo un

tengo un php que se llama reg.php
donde tengo 10 checkbox con los nombres de plataformas de juegos

<form action="registrar.php" method="POST">
<input name="sistemas[]" type="checkbox" id="sistemas[]" value="xbox360" />
<input name="sistemas[]" type="checkbox" id="sistemas[]" value="gc" />

etc.

el codigo del registrar.php se los paso aca:

Código PHP:
<?
include('config.php'); //incluimos el config.php que contiene los datos de la conexión a la db
//Comprobamos que los campos nick, pass y pass1 se han rellenado en el form de reg.php, sino volvemos al form 
if(($_POST[nick] == ' ') or ($_POST[pass] == ' ') or ($_POST[pass1] == ' ') )
{
Header("Location: reg.php"); //enviamos al form de registro que esta en reg.php
}else{
//Comprobamos que la pass y pass1 son iguales, sino, volvemos a reg.php
if($_POST[pass] != $_POST[pass1])
{
echo 
'Las passwords no son iguales';
}else{
//quitamos el codigo malicioso de $_POST[nick] y $_POST[pass]
$user stripslashes($_POST["nick"]);
$user strip_tags($user);
$pass stripslashes($_POST["pass"]);
$pass strip_tags($pass);
//comprobamos que el usuario no existe en la db
$usuarios=mysql_query("SELECT nick FROM usuarios WHERE nick='$user' ");
if(
$user_ok=mysql_fetch_array($usuarios))
{
echo 
'El usuario ya esta registrado';
mysql_free_result($usuarios); //liberamos la memoria del query a la db
}else{
//quitamos todo el codigo malicioso de las demas variables del form de registro
$email stripslashes($_POST["email"]);
$email strip_tags($email);
$nombre stripslashes($_POST["nombre"]);
$nombre strip_tags($nombre);
$nombre str_replace("\n\r","<br>",$nombre); //se cambian los saltos de linea por <br>
$nombre str_replace("\r\n","<br>",$nombre);
$nombre str_replace("\n","<br>",$nombre);
$fecha time();
$level "2"//usaremos level 1 para admins, level 2 para los demas (se cambia manualmente desde phpmyadmin)
//introducimos el nuevo registro en la tabla users
mysql_query("INSERT INTO usuarios (nick,pass,email,fecha,level,nombre,apellidos,direccion,zona,ciudad,departamento,pais,fechanac,sexo) values ('$user','$pass','$email','$fecha','$level','$nombre','$apellidos','$direccion','$zona','$ciudad','$departamento','$pais','$fechanac','$sexo') "); 
mysql_query("INSERT INTO plataformas (id,sistemas) values ('$id','$sistemas') "); 
echo 
'Usuario registrado con éxito 
<a href="index3.php?">Index</a> 
'

}
}

?>
Este php me envia y registra a la base de datos solo un checkbox que lo elija en el reg.php no registra 3, 4 o los que yo quiera (pueden ser los 10 checkbox), como hago para que me registre tambien los demas checkbox que estoy eligiendole?

Muchas gracias y espero que me haya hecho entender.

Atte

Katiuska Flores Garcia
__________________
Katiuska Flores Garcia
webmaster
objetivolaguzman.com
PERU
----------------------
El cheque de tus insultos no tiene fondos en el banco de mi animo
  #2 (permalink)  
Antiguo 11/08/2006, 03:33
Avatar de djreficul  
Fecha de Ingreso: julio-2006
Ubicación: Cork
Mensajes: 672
Antigüedad: 11 años, 5 meses
Puntos: 0
Cita:
Iniciado por objetivolaguzma Ver Mensaje
//quitamos todo el codigo malicioso de las demas variables del form de registro
$email = stripslashes($_POST["email"]);
Quitar el código malicioso con stripslashes??? Creo q te has confundido y deberías usar addslashes.

Sobre lo de insertar los sistemas, al tratarse de un array si has hexo lo siguiente:

Código PHP:
$sistemas=$_POST['sistemas'];
//Teoricamente para obtener todos los valores debes recorrerlos x ejemplo así:
for ($i=0;$i<count ($sistemas);$i++) {
    
$variable=$sistemas[$i];//Supongo q esto ya lo sabías, jeje. Así q aquí podrías añadir la consulta:
    
mysql_query("INSERT INTO plataformas (id,sistemas) values ('$id','$variable') ");

Saludos.
__________________
La muerte es un camino que todos debemos recorrer...
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:46.