elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Trabajando con las ramas de git (tercera parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Desarrollo Web
| | |-+  PHP (Moderador: #!drvy)
| | | |-+  Duda bastante nw con los select
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] 2 Ir Abajo Respuesta Imprimir
Autor Tema: Duda bastante nw con los select  (Leído 4,318 veces)
mark182


Desconectado Desconectado

Mensajes: 395


Ver Perfil WWW
Duda bastante nw con los select
« en: 9 Noviembre 2009, 04:44 am »

Hol como les va?

Recien comienzo con la programacion web. Estoy creando un sistema de registracion donde eh puesto un select con varias opciones. Lo que no puedo hacer es insertar la opcion elegida en mysql. Y pude insertar todo como el nombre de usuario, password y demas pero con el select nose como hacerlo. Me darian una mano?

Muchas gracias.


En línea

cassiani


Desconectado Desconectado

Mensajes: 978


« Anterior | Próximo »


Ver Perfil WWW
Re: Duda bastante nw con los select
« Respuesta #1 en: 9 Noviembre 2009, 04:49 am »

PHP?
ps capturas los datos del select igual que cualquier otro campo y lo pasas como parámetro en tu cadena sql.

No sé como lo estarás haciendo ..


En línea

mark182


Desconectado Desconectado

Mensajes: 395


Ver Perfil WWW
Re: Duda bastante nw con los select
« Respuesta #2 en: 9 Noviembre 2009, 05:01 am »

Si en php, pero nose...no se inserta en la tabla

Codigo html:

Colegio y Curso: <select name="colegio">
<option value="1"selected>Pedro B. Palacios 1º (ESB)</option>
<option value="2">Pedro B. Palacios 2º (ESB)</option>
<option value="3">Pedro B. Palacios 3º (ESB)</option>
</select>

Codigo php:

$nombre = $_REQUEST["nom"];
$apellido = $_REQUEST["ape"];
$coleycurso = $_REQUEST["colegio"];

mysql_query("INSERT INTO alumnos (nombre,apellido,colegio)
VALUES ('$nombre', '$apellido', '$sexo', '$coleycurso')");

El nombre y apellido se guardan pero el colegio (el select) no.  :-\

Que estoy haciendo mal?
En línea

cassiani


Desconectado Desconectado

Mensajes: 978


« Anterior | Próximo »


Ver Perfil WWW
Re: Duda bastante nw con los select
« Respuesta #3 en: 9 Noviembre 2009, 06:40 am »

revisa el query, si no me equivoco, eso debería mostrate un error..
En línea

xkiz ™


Desconectado Desconectado

Mensajes: 1.252


Ver Perfil WWW
Re: Duda bastante nw con los select
« Respuesta #4 en: 9 Noviembre 2009, 07:01 am »

http://php.net/manual/en/function.mysql-error.php
fijate hace un echo  mysql_error();
para que te muestre donde esta el error
En línea

:ohk<any>


Desconectado Desconectado

Mensajes: 1.744


Yo lo que quiero que me salga bien es la vida.


Ver Perfil WWW
Re: Duda bastante nw con los select
« Respuesta #5 en: 9 Noviembre 2009, 15:41 pm »

mejor:

En el codigo HTML, debe haber un <form action="post"></form>
El que recibe, lo hace asi:

Código
  1.  
  2. //Funcion que limpia las variables y asegura contra inyección SQL
  3.  
  4. function addslashes__recursive($var){
  5. if (!is_array($var))
  6. return addslashes($var);
  7. $new_var = array();
  8. foreach ($var as $k => $v)$new_var[addslashes($k)]=addslashes__recursive($v);
  9. return $new_var;
  10. }
  11.  
  12. //Usando la funcion
  13.  
  14. $_POST=addslashes__recursive($_POST);
  15.  
  16. //Recibiendo variables.
  17.  
  18. $nombre = $_POST["nom"];
  19. $apellido = $_POST["ape"];
  20. $coleycurso = $_POST["colegio"];
  21.  
  22.  

Ahora bien, en el codigo que pusiste dice:

Citar
mysql_query("INSERT INTO alumnos (nombre,apellido,colegio)
VALUES ('$nombre', '$apellido', '$sexo', '$coleycurso')");

Osea, aclaras que tu tabla tiene 3 campos, nombre, apellido, colegio, pero introduces 4 campos, sexo se agrega, el cual no se recibe en ningun lado, osea que puede estar ocasionando un error, porque deberia entrar algo.

Lo que supongo te falta es:

Código
  1. $sexo = $_POST["sexo"];

Y tambien, ejecutas tu consulta sin hacer una conexión, lo mejor seria hacerla asi:

Código
  1. $consulta = "INSERT INTO alumnos (nombre, apellido, sexo, colegio)
  2. VALUES ('$nombre', '$apellido', '$sexo', '$coleycurso'";
  3.  
  4. mysql_query($consulta, $datos_conexion) or die(mysql_error());
  5.  

Donde $datos_conexion seria igual a:

Código
  1.  
  2. $hostname = 'localhost';
  3. $username = 'user';
  4. $password = '****'
  5.  
  6. $datos_conexion = mysql_pconnect($hostname, $username, $password) or trigger_error(mysql_error(),E_USER_ERROR);
  7.  

Y creo que con eso se arregla.
Haber si nos cuentas como anda.

Saludos
« Última modificación: 9 Noviembre 2009, 15:43 pm por OHK » En línea

Y es que a veces pienso que si no estuviera loco no podría salir adelante.
Lo que no se es capaz de dar, en realidad no se posee, uno es poseído por ello.
mark182


Desconectado Desconectado

Mensajes: 395


Ver Perfil WWW
Re: Duda bastante nw con los select
« Respuesta #6 en: 9 Noviembre 2009, 16:15 pm »

Perdon...lo que pasa es que el original tiene sexo, email, tel y cel pero para hacerlo mas resumido borre todo lo demas pero se ve que me olvide de borrar sexo  ;D  jeje, tambien deje de lado la parte de la conexion con la base de datos porque es algo obvio. Lo que no entendi muy bien es para que sirve esa funcion que pusiste? Que es lo que hace?

Gracias a todos.
En línea

:ohk<any>


Desconectado Desconectado

Mensajes: 1.744


Yo lo que quiero que me salga bien es la vida.


Ver Perfil WWW
Re: Duda bastante nw con los select
« Respuesta #7 en: 9 Noviembre 2009, 16:18 pm »

Citar
//Funcion que limpia las variables y asegura contra inyección SQL
 
function addslashes__recursive($var){
if (!is_array($var))
return addslashes($var);
$new_var = array();
foreach ($var as $k => $v)$new_var[addslashes($k)]=addslashes__recursive($v);
return $new_var;
}

Inyeccion SQL:

Citar
nyección SQL es una vulnerabilidad informática en el nivel de la validación de las entradas a la base de datos de una aplicación. El origen es el filtrado incorrecto de las variables utilizadas en las partes del programa con código SQL.

Seguir leyendo...

Saludos
En línea

Y es que a veces pienso que si no estuviera loco no podría salir adelante.
Lo que no se es capaz de dar, en realidad no se posee, uno es poseído por ello.
cassiani


Desconectado Desconectado

Mensajes: 978


« Anterior | Próximo »


Ver Perfil WWW
Re: Duda bastante nw con los select
« Respuesta #8 en: 9 Noviembre 2009, 16:26 pm »

jejeje evitarla!!
En línea

:ohk<any>


Desconectado Desconectado

Mensajes: 1.744


Yo lo que quiero que me salga bien es la vida.


Ver Perfil WWW
Re: Duda bastante nw con los select
« Respuesta #9 en: 9 Noviembre 2009, 16:28 pm »

jejeje evitarla!!

 :xD

Pues claro, no es una función para inyecciones sql, para eso no pones nada y eres vulnerable  :P :laugh:
En línea

Y es que a veces pienso que si no estuviera loco no podría salir adelante.
Lo que no se es capaz de dar, en realidad no se posee, uno es poseído por ello.
Páginas: [1] 2 Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
[DUDA] Select Case
Programación Visual Basic
Zodiak98 2 2,230 Último mensaje 21 Mayo 2013, 13:24 pm
por 79137913
Una duda bastante idiota sobre c++ y .net
Programación C/C++
rulovive 3 2,042 Último mensaje 13 Febrero 2014, 00:41 am
por rulovive
DUDA FUNCION ALMACENADA Y SELECT
PHP
taos19 2 1,486 Último mensaje 21 Febrero 2014, 16:33 pm
por taos19
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines