Foros del Web » Programando para Internet » PHP »

$sql = "SELECT * FROM (VARIABLE) WHERE...COMO PONGO UNA VARIBALE AHI ?

Estas en el tema de $sql = "SELECT * FROM (VARIABLE) WHERE...COMO PONGO UNA VARIBALE AHI ? en el foro de PHP en Foros del Web. HOLA A TODOS NECESITO AYUDA CON ESTE CODIGO TENGO UN FORM CON 2 CAMPOS USUARIO Y PASS, ADEMAS DE ESO LA GENTE PUEDE ESCOGER SI ...
  #1 (permalink)  
Antiguo 31/03/2009, 12:32
Avatar de jival  
Fecha de Ingreso: noviembre-2007
Mensajes: 173
Antigüedad: 16 años, 5 meses
Puntos: 0
$sql = "SELECT * FROM (VARIABLE) WHERE...COMO PONGO UNA VARIBALE AHI ?

HOLA A TODOS NECESITO AYUDA CON ESTE CODIGO

TENGO UN FORM CON 2 CAMPOS USUARIO Y PASS, ADEMAS DE ESO LA GENTE PUEDE ESCOGER SI ES PROFESOR O ES ALUMNO PARA VER EN CUAL TABLA DE LA BASE DE DATOS BUSCAR

// CON ESTA VARIABLE RECOJO SI ES PROFESOR O ALUMNO

$tipo = $_POST["tipo"];



Código PHP:
$ssql "SELECT * FROM $tipo WHERE usuario='".$_POST['usuario']."' and pass='".$_POST['pass']."'"

PERO NO ME FUNCIONA , IMAGINO QUE NO ESTOY PONIENDO LA VARIBALE CORRECTAMENTE.


COMO DEBE HACERSE ? GRACIAS.
  #2 (permalink)  
Antiguo 31/03/2009, 12:36
Avatar de jfl_freak  
Fecha de Ingreso: enero-2009
Ubicación: Guatemala
Mensajes: 96
Antigüedad: 15 años, 3 meses
Puntos: 1
Respuesta: $sql = "SELECT * FROM (VARIABLE) WHERE...COMO PONGO UNA VARIBALE AHI ?

Ya probaste dar un echo en
Código PHP:
$tipo 
para ver si se esta enviando la variable??


Saludos
  #3 (permalink)  
Antiguo 31/03/2009, 12:38
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: $sql = "SELECT * FROM (VARIABLE) WHERE...COMO PONGO UNA VARIBALE AHI ?

En principio es correcto, lo que debes verificar es que el contenido recibido por $_POST['tipo'] sea realmente el nombre de la tabla.

Además, no es recomendable hacerlo de esa forma, mejor, haz dos opciones y con un switch revisa una tabla u otra. De lo contrario, estarías permitiendo consultas a cualquier tabla de tu base de datos.
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #4 (permalink)  
Antiguo 31/03/2009, 12:43
Avatar de jival  
Fecha de Ingreso: noviembre-2007
Mensajes: 173
Antigüedad: 16 años, 5 meses
Puntos: 0
Respuesta: $sql = "SELECT * FROM (VARIABLE) WHERE...COMO PONGO UNA VARIBALE AHI ?

si , si la recoje bien
  #5 (permalink)  
Antiguo 31/03/2009, 12:44
Avatar de dannce4life  
Fecha de Ingreso: junio-2008
Ubicación: localhost
Mensajes: 137
Antigüedad: 15 años, 10 meses
Puntos: 6
Respuesta: $sql = "SELECT * FROM (VARIABLE) WHERE...COMO PONGO UNA VARIBALE AHI ?

La variable tipo está bien definida SOLAMENTE si se selecciona desde un menú desplegable, ya que si el usuario lo ingresa a través de un campo de texto generaría un error por motivos lógicos.

Por otro lado, pareciera que no tienes encriptado el PASS, ya que lo pasas directamente.
Eso no es recomendable por motivos de seguridad.

Respondiendo a tu pregunta:
Código PHP:
$clase   $_POST['tipo'];
$usuario $_POST['usuario'];
$clave   sha1($_POST['pass']);

$ssql "select * from {$clase} where usuario = '{$usuario}' and pass = '{$clave}';"
en la linea
Código:
$clave   = sha1($_POST['pass']);
donde dice sha1, es la funcion encriptadora de calves. Si aplicas esto, tu sitio será mas seguro para los usuarios, y para ti
__________________
Gracias

Última edición por dannce4life; 31/03/2009 a las 13:28
  #6 (permalink)  
Antiguo 31/03/2009, 12:45
Avatar de the_web_saint  
Fecha de Ingreso: mayo-2008
Ubicación: localhost/tierra/america/panama
Mensajes: 1.229
Antigüedad: 16 años
Puntos: 43
Respuesta: $sql = "SELECT * FROM (VARIABLE) WHERE...COMO PONGO UNA VARIBALE AHI ?

Código php:
Ver original
  1. $ssql = "SELECT * FROM ".$tipo." WHERE usuario='".$_POST['usuario']."' and pass='".$_POST['pass']."'";
__________________
..::The Saint::..
El pesimista se queja del viento; el optimista espera que cambie; el realista ajusta las velas.
  #7 (permalink)  
Antiguo 31/03/2009, 12:51
Avatar de dannce4life  
Fecha de Ingreso: junio-2008
Ubicación: localhost
Mensajes: 137
Antigüedad: 15 años, 10 meses
Puntos: 6
Respuesta: $sql = "SELECT * FROM (VARIABLE) WHERE...COMO PONGO UNA VARIBALE AHI ?

Cita:
Iniciado por the_web_saint Ver Mensaje
Código php:
Ver original
  1. $ssql = "SELECT * FROM ".$tipo." WHERE usuario='".$_POST['usuario']."' and pass='".$_POST['pass']."'";
no es necesaria la concatenación en comillas dobles :)
__________________
Gracias
  #8 (permalink)  
Antiguo 31/03/2009, 13:20
Avatar de jival  
Fecha de Ingreso: noviembre-2007
Mensajes: 173
Antigüedad: 16 años, 5 meses
Puntos: 0
Respuesta: $sql = "SELECT * FROM (VARIABLE) WHERE...COMO PONGO UNA VARIBALE AHI ?

muchas gracias a todos por sus respuesta ya lo solucione, una cosa dannce4life me puedes explicar mas acerca de ese $clase = sha1($_POST['pass']); sha1() que hace o para que sirve.
  #9 (permalink)  
Antiguo 31/03/2009, 13:28
Avatar de dannce4life  
Fecha de Ingreso: junio-2008
Ubicación: localhost
Mensajes: 137
Antigüedad: 15 años, 10 meses
Puntos: 6
Respuesta: $sql = "SELECT * FROM (VARIABLE) WHERE...COMO PONGO UNA VARIBALE AHI ?

La función SHA1 lo que permite, es la encriptación de cadenas.

funciona parecido a MD5, pero ésta usa 160 bits de encriptacion, la cual lo hace mas seguro.

este tipo de funciones se las usa habitualemte en los campos de contraseñas. En primer medida para asegurar la privacidad del usuario, y en segunda medida para proteger las consultas de inyecciones sql.
__________________
Gracias
  #10 (permalink)  
Antiguo 31/03/2009, 13:39
Avatar de jival  
Fecha de Ingreso: noviembre-2007
Mensajes: 173
Antigüedad: 16 años, 5 meses
Puntos: 0
Respuesta: $sql = "SELECT * FROM (VARIABLE) WHERE...COMO PONGO UNA VARIBALE AHI ?

muchas gracias , la manera correcta de usarlo es ponerlo asi


sha1($_POST['pass']);
  #11 (permalink)  
Antiguo 31/03/2009, 13:45
Avatar de dannce4life  
Fecha de Ingreso: junio-2008
Ubicación: localhost
Mensajes: 137
Antigüedad: 15 años, 10 meses
Puntos: 6
Respuesta: $sql = "SELECT * FROM (VARIABLE) WHERE...COMO PONGO UNA VARIBALE AHI ?

mira, para usarlo, primero, debes insertar la contraseña encriptada en la base de datos. para hacerlo, puedes usar el script anterior, pero con la consulta de la siguiente forma:

Código php:
Ver original
  1. $clase   = $_POST['tipo'];
  2. $usuario = $_POST['usuario'];
  3. $clave   = sha1($_POST['pass']);
  4.  
  5. $ssql = "insert into {$clase} (usuario, pass) values('{$usuario}','{$clave}');";

y para el inicio de sesión como está arriba.

un saludo. espero te haya servido
__________________
Gracias
  #12 (permalink)  
Antiguo 31/03/2009, 14:15
Avatar de jival  
Fecha de Ingreso: noviembre-2007
Mensajes: 173
Antigüedad: 16 años, 5 meses
Puntos: 0
Respuesta: $sql = "SELECT * FROM (VARIABLE) WHERE...COMO PONGO UNA VARIBALE AHI ?

si me a servido mucho amigo, muchas gracias.
  #13 (permalink)  
Antiguo 31/03/2009, 14:16
Avatar de dannce4life  
Fecha de Ingreso: junio-2008
Ubicación: localhost
Mensajes: 137
Antigüedad: 15 años, 10 meses
Puntos: 6
Respuesta: $sql = "SELECT * FROM (VARIABLE) WHERE...COMO PONGO UNA VARIBALE AHI ?

un placer :D
__________________
Gracias
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 16:51.