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

 

 


Tema destacado: AIO elhacker.NET 2021 Compilación herramientas análisis y desinfección malware


  Mostrar Temas
Páginas: [1]
1  Programación / PHP / 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:
Páginas: [1]
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines