Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] Iniciar sesion

Estas en el tema de Iniciar sesion en el foro de PHP en Foros del Web. Hola buenas Tengo una caja de login la cual conecta con un web service para que se hagan una idea : @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código PHP: ...
  #1 (permalink)  
Antiguo 21/10/2015, 04:13
 
Fecha de Ingreso: febrero-2011
Ubicación: Barcelona
Mensajes: 195
Antigüedad: 13 años, 2 meses
Puntos: 1
Iniciar sesion

Hola buenas
Tengo una caja de login la cual conecta con un web service para que se hagan una idea :
Código PHP:
Ver original
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml" dir="ltr" lang="is-IS">
  3.  
  4. <head profile="http://gmpg.org/xfn/11">
  5. <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
  6.  
  7. <title>NAV Web Service via PHP</title>
  8. </head>
  9. <body>
  10.  
  11. <?php
  12.  
  13. define('USERPWD','128.20.1.1\jconesa:jconesa'); // Sustituir xxx por la contraseña del servidor
  14. include("NTLMStream.php");  
  15. include("NTLMSoapClient.php");
  16.  
  17. stream_wrapper_register('http','NTLMStream') or die("Fallo al registrar protocolo");
  18. $pageURL =  'http://128.20.1.1:7047/DynamicsNav/WS/1%20TPS-N_LAB/Codeunit/WSTrucksAut'; // El Web Service
  19. $params = array();
  20.  
  21.  
  22. //$params = $_POST['n_usuario']; // param1 es el nombre el primer parámetro.
  23. //$params = $_POST['pwd'];
  24. $params["login"] = $_POST['n_usuario']; // param1 es el nombre el primer parámetro.
  25. $params["contrasena"] = $_POST['pwd'];
  26.  
  27.  
  28. $client = new NTLMSoapClient($pageURL);
  29. $result = $client->ValidaUsuario($params); // El método del Web Service $numclient = $result->return_value;
  30. $numclient = $result->return_value;
  31. echo $numclient;
  32. //vemos si el usuario y contraseña es váildo
  33. if ($numclient=="---"){
  34.    
  35.    //si no existe le mando otra vez a la portada
  36.     header("Location: extra-login.html?errorusuario=si");
  37. }else {
  38.     //usuario y contraseña válidos
  39.     //defino una sesion y guardo datos
  40.     $_SESSION["autentificado"]="SI";
  41.     header ("Location: tables-datatable3.html");   
  42. }
  43.  
  44.  
  45. die();
  46.  
  47. ?>
  48.  
  49.  
  50. </body>
  51. </html>

BIen esto va a un html , al tener configurado el web service, si el usuario pone bien el login y coincide con los datos del web service , el usuario consigue visualizar el htnl pero si no los pone bien le da error.
hasta aqui bien .
el problema es que tengo crear una sesion para que cuando el usuario se loguee bien le muestre su nombre de usuario y no el mismo html par CUALQUIER USUARIO QUE SE LOGUEE BIEN.
GARCIAS
  #2 (permalink)  
Antiguo 21/10/2015, 06:51
 
Fecha de Ingreso: enero-2007
Mensajes: 285
Antigüedad: 17 años, 3 meses
Puntos: 21
Respuesta: Iniciar sesion

en el html no vas a poder tenes que hacerlo php..

Código:
//debajo de esto.. 
 $_SESSION["autentificado"]="SI"; 

//asignas a una variable de session... el valor que quieras o donde tenas el nombre
 $_SESSION["nombredeusuario"]=$result.....;

//entonces en el nuevo tables-datatable3.php 

//con poner esto.. 

if (!isset($_SESSION)) {
  session_start();
}

echo $_SESSION["nombredeusuario"];
  #3 (permalink)  
Antiguo 21/10/2015, 06:54
 
Fecha de Ingreso: julio-2015
Ubicación: Barcelona
Mensajes: 93
Antigüedad: 8 años, 8 meses
Puntos: 3
Respuesta: Iniciar sesion

$_SESSION["usuario"]=$_POST['n_usuario'];

Guarda en otra session llamada usuario el usuario que haya puesto, de tal manera cada uno tendrá el suyo.
Para mostrarlo en el html solo tienes que hacer un echo de la session.
  #4 (permalink)  
Antiguo 21/10/2015, 07:45
 
Fecha de Ingreso: febrero-2011
Ubicación: Barcelona
Mensajes: 195
Antigüedad: 13 años, 2 meses
Puntos: 1
Respuesta: Iniciar sesion

la verdad es que no me ha quedado claro entre las dos respuestas , no se si con la ultima respuesta me es suficiente o tengo que implementar las 2
y despues de esto, hay alguna manera de saber de si esto funciono??
  #5 (permalink)  
Antiguo 21/10/2015, 07:55
Avatar de chronos682  
Fecha de Ingreso: febrero-2004
Ubicación: Tunja - Boyacá - Colombia
Mensajes: 627
Antigüedad: 20 años, 2 meses
Puntos: 69
Respuesta: Iniciar sesion

Las dos respuestas son básicamente lo mismo por lo que puedes usar cualquiera de las dos, no es cuestión de copiar y pegar el código porque lo que te están dando es una idea no el código real, y la forma de saber si funcionó o no es que al final veas el nombre del usuario donde tu hayas programado que aparezca. Busca en el manual como usar variables de sesión y vas a encontrar mucha información al respecto.
__________________
Si te gustó la respuesta dale +1

HERNÁN G. SIABATO M.
[email protected]
  #6 (permalink)  
Antiguo 21/10/2015, 10:08
 
Fecha de Ingreso: enero-2007
Mensajes: 285
Antigüedad: 17 años, 3 meses
Puntos: 21
Respuesta: Iniciar sesion

metele dedos.. sin miedo que no se rompe..

Etiquetas: html
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 01:32.