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

 

 


Tema destacado: Usando Git para manipular el directorio de trabajo, el índice y commits (segunda parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Desarrollo Web
| | |-+  PHP (Moderador: #!drvy)
| | | |-+  AYUDA con Problema en Login con sesiones en php y SQLsrv
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: AYUDA con Problema en Login con sesiones en php y SQLsrv  (Leído 2,863 veces)
ton gas

Desconectado Desconectado

Mensajes: 1


Ver Perfil
AYUDA con Problema en Login con sesiones en php y SQLsrv
« en: 8 Abril 2015, 22:07 pm »

Hola Comunidad!!!!

Tengo un pequeño conflicto en el proyecto en el que me encuentro trabajando actualmente.

Necesito hacer un login de usuario con sesiones y que cada usuario, segun sus privilegios, tenga acceso a un area diferente del sitio web.

El conflicto es que lo tengo que hacer compatible con SQLSRV ya que la empresa para la que trabajo no maneja MYSQL.

Ya logre que conecte con el servidor, sin embargo aun no logro hacer que conecte y verifique los datos de ingreso en la base de datos.

Me estoy basando en el manual de PHP y de la extension SQLSRV http://php.net/manual/en/book.sqlsrv.php

Este código esta escrito para conectarbases de datos MYSQL pero lo necesito transformar para que funciione con SQLSRV y Me sale este error:

Citar
( ! ) Warning: sqlsrv_query() expects at least 2 parameters, 1 given in C:\wamp\www\acceso\class\dbactions.php on line 10
Call Stack
#   Time   Memory   Function   Location
1   0.0011   144536   {main}( )   ..\session_init.php:0
2   0.0360   165856   Users->login_in( )   ..\session_init.php:21
3   0.0360   166208   Database->select( )   ..\users.php:22
4   0.0360   166264   sqlsrv_query ( )   ..\dbactions.php:10

y este otro:

Citar
( ! ) Warning: sqlsrv_num_rows() expects parameter 1 to be resource, boolean given in C:\wamp\www\acceso\class\users.php on line 24
Call Stack
#   Time   Memory   Function   Location
1   0.0011   144536   {main}( )   ..\session_init.php:0
2   0.0360   165856   Users->login_in( )   ..\session_init.php:21
3   0.0362   165464   sqlsrv_num_rows ( )   ..\users.php:24


Este es archivo donde llamo a las clases y donde inicio

Código
  1. <?php
  2.  
  3. //llamado a la clase que hace la conexcion a la base de datos
  4. require'class/config.php';
  5. //LLamado a la clase Usuarios para realizar el inicio de sesion
  6. require'class/users.php';
  7. //llamado a la clase que ejecutará los queries de Consulta, Adición y Eliminación
  8. require'class/dbactions.php';
  9. //llamado a la clase encargada de las sesiones
  10. require'class/sessions.php';
  11.  
  12. //creación o instanciamiento de un objeto de la Clase Connection
  13. $objConn = new Connection();
  14. //objeto de la clase users
  15. $objUser = new Users();
  16.  
  17. //llamamos la funcion que nos conecta a la base de datos
  18. $objConn->get_connected();
  19.  
  20. //function que realiza la verificación de usuarios e inicio de sesion
  21. $objUser->login_in();
  22.  
  23.  
  24.  
  25. ?>

Esta es mi clase de users, donde tengo uno o varios errores de compatibilidad


Código
  1. <?php
  2.  
  3. class Users{
  4.  
  5. public $objDb;
  6. public $objSe;
  7. public $result;
  8. public $rows;
  9. public $useropc;
  10.  
  11. public function __construct(){
  12.  
  13. $this->objDb = new Database();
  14. $this->objSe = new Sessions();
  15.  
  16. }
  17.  
  18. public function login_in(){
  19.  
  20. $query = "SELECT * FROM users,profiles WHERE users.loginUsers = '".$_POST["usern"]."'
  21. AND users.passUsers = '".$_POST["passwd"]."' AND users.idprofile = profiles.idProfile ";
  22. $this->result = $this->objDb->select($query);
  23.  
  24. $this->rows = sqlsrv_num_rows($this->result);
  25. if($this->rows > 0){
  26.  
  27. if($row=sqlsrv_fetch_array($this->result)){
  28.  
  29. $this->objSe->init();
  30. $this->objSe->set('user', $row["loginUsers"]);
  31. $this->objSe->set('iduser', $row["idUsers"]);
  32. $this->objSe->set('idprofile', $row["idprofile"]);
  33.  
  34. $this->useropc = $row["nameProfi"];
  35.  
  36. switch($this->useropc){
  37.  
  38. case 'Admin':
  39. header('Location: user/index.php');
  40. break;
  41.  
  42. case 'Supervisor':
  43. header('Location: http://www.facebook.com');
  44. break;
  45.  
  46. case 'Comex':
  47. header('Location: http://www.google.com');
  48. break;
  49.  
  50. }
  51.  
  52. }
  53.  
  54. }else{
  55.  
  56. echo "todo mal";
  57.  
  58. }
  59.  
  60. }
  61.  
  62. }
  63.  
  64. ?>

Esta es mi class DBactions

Código
  1. <?php
  2.  
  3. class Database{
  4.  
  5. public $result;
  6.  
  7. public function __construct(){ }
  8.  
  9. public function select($query){
  10. return $this->result = sqlsrv_query($query);
  11.  
  12.  
  13. }
  14.  
  15. }
  16.  
  17. ?>

Este es mi class sesions

Código
  1. <?php
  2.  
  3. class Sessions{
  4.  
  5. public function __construct(){ }
  6.  
  7. public function init(){
  8. }
  9.  
  10. public function set($varname, $value){
  11.  
  12. $_SESSION[$varname] = $value;
  13.  
  14. }
  15.  
  16. public function destroy(){
  17.  
  18.  
  19. }
  20.  
  21. }
  22.  
  23. ?>

Este es mi archivo config, este si conecta y cumple su funcion


Código
  1. <?php
  2.  
  3. class Connection{
  4.  
  5. //variables para los datos de la base de datos
  6. public $server;
  7. public $userdb;
  8. public $passdb;
  9. public $dbname;
  10.  
  11. public function __construct(){
  12.  
  13. //Iniciar las variables con los datos de la base de datos
  14. $this->server = 'GOCHOA\SQLEXPRESS';
  15. $this->userdb = 'sa';
  16. $this->passdb = 'Argenm3x';
  17. $this->dbname = 'prueba';
  18.  
  19.  
  20. }
  21.  
  22. public function get_connected(){
  23.  
  24.  
  25. $info = array('Database'=>$this->dbname, 'UID'=>$this->userdb, 'PWD'=>$this->passdb);
  26. $conexion = sqlsrv_connect($this->server, $info);
  27.  
  28. if ($conexion) {
  29.  
  30. echo "Conexion establecida. <br />";
  31. }else {
  32. echo "conexion invalida.<br />";
  33. die( print_r(sqlsrv_errors(), true));
  34. }
  35.  
  36.  
  37.  
  38. }
  39.  
  40. }
  41.  
  42.  
  43. ?>

AYUDA POR FAVOR mi mail es censurado

Mod:


« Última modificación: 8 Abril 2015, 22:34 pm por #!drvy » En línea

T. Collins

Desconectado Desconectado

Mensajes: 206


Ver Perfil
Re: AYUDA con Problema en Login con sesiones en php y SQLsrv
« Respuesta #1 en: 8 Abril 2015, 22:18 pm »

Por qué no vas corrigiendo los errores? El primero lo dice muy claro, sqlsrv_query necesita dos parametros y solo le pasas $query, te falta pasarle el resultado de sqlsrv_connect().

Código
  1. return $this->result = sqlsrv_query($query);

Citar
mixed sqlsrv_query ( resource $conn , string $sql [, array $params [, array $options ]] )


En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
problema con sesiones y cabecera http
PHP
alone-in-the-chat 2 2,875 Último mensaje 23 Septiembre 2006, 04:02 am
por merolhack
Problema con sesiones e iframe
PHP
chicuela66 4 4,388 Último mensaje 19 Septiembre 2007, 09:23 am
por chicuela66
Problema con sesiones
PHP
fede_cp 9 3,157 Último mensaje 28 Mayo 2009, 19:43 pm
por sclub
Problema cookie o sesiones Wininet
Programación C/C++
Riki_89D 0 1,698 Último mensaje 1 Septiembre 2011, 16:25 pm
por Riki_89D
Problema de sesiones en Tomcat
Programación General
Toryas 1 1,985 Último mensaje 28 Abril 2014, 17:40 pm
por Toryas
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines