Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Alex_DTP

[Resolvido] hostname na página de login

Recommended Posts

Pessoal,

 

Tenho uma pg de login gerada pelo ADDT (Adobe Dreamweaver Developer Tolbox).

 

O ADDT já insere o IP da máquina do usuário no banco, mas eu queria pegar pelo nome da máquina, já que estou numa rede privada (intranet).

 

Pegar o nome da máquina:

$hostname = gethostbyaddr($_SERVER['REMOTE_ADDR']);

 

Mas, como incluir na pg de login gerada pelo ADDT (Adobe Dreamweaver Developer Tolbox)?

 

login.php

<?php require_once('Connections/connDB.php'); ?>
<?php
// Load the common classes
require_once('includes/common/KT_common.php');

// Load the tNG classes
require_once('includes/tng/tNG.inc.php');

// Make a transaction dispatcher instance
$tNGs = new tNG_dispatcher("");

// Make unified connection variable
$conn_connDB = new KT_connection($connDB, $database_connDB);

// Start trigger
$formValidation = new tNG_FormValidation();
$formValidation->addField("kt_login_user", true, "text", "", "", "", "");
$formValidation->addField("kt_login_password", true, "text", "", "", "", "");
$tNGs->prepareValidation($formValidation);
// End trigger

// Make a login transaction instance
$loginTransaction = new tNG_login($conn_connDB);
$tNGs->addTransaction($loginTransaction);
// Register triggers
$loginTransaction->registerTrigger("STARTER", "Trigger_Default_Starter", 1, "POST", "kt_login1");
$loginTransaction->registerTrigger("BEFORE", "Trigger_Default_FormValidation", 10, $formValidation);
$loginTransaction->registerTrigger("END", "Trigger_Default_Redirect", 99, "{kt_login_redirect}");
// Add columns
$loginTransaction->addColumn("kt_login_user", "STRING_TYPE", "POST", "kt_login_user");
$loginTransaction->addColumn("kt_login_password", "STRING_TYPE", "POST", "kt_login_password");
// End of login transaction instance

// Execute all the registered transactions
$tNGs->executeTransactions();

// Get the transaction recordset
$rscustom = $tNGs->getRecordset("custom");
$row_rscustom = mysql_fetch_assoc($rscustom);
$totalRows_rscustom = mysql_num_rows($rscustom);
?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
<?php echo $tNGs->displayValidationRules();?>
</head>

<body>
<?php
	echo $tNGs->getLoginMsg();
?>
<?php
	echo $tNGs->getErrorMsg();
?>
<form method="post" id="form1" class="KT_tngformerror" action="<?php echo KT_escapeAttribute(KT_getFullUri()); ?>">
  <table cellpadding="2" cellspacing="0" class="KT_tngtable">
	<tr>
	  <td class="KT_th"><label for="kt_login_user">Username:</label></td>
	  <td><input type="text" name="kt_login_user" id="kt_login_user" value="<?php echo KT_escapeAttribute($row_rscustom['kt_login_user']); ?>" size="32" />
		  <?php echo $tNGs->displayFieldHint("kt_login_user");?> <?php echo $tNGs->displayFieldError("custom", "kt_login_user"); ?> </td>
	</tr>
	<tr>
	  <td class="KT_th"><label for="kt_login_password">Password:</label></td>
	  <td><input type="password" name="kt_login_password" id="kt_login_password" value="" size="32" />
		  <?php echo $tNGs->displayFieldHint("kt_login_password");?> <?php echo $tNGs->displayFieldError("custom", "kt_login_password"); ?> </td>
	</tr>
	<tr class="KT_buttons">
	  <td colspan="2"><input type="submit" name="kt_login1" id="kt_login1" value="Login" />
	  </td>
	</tr>
  </table>
</form>
<p> </p>
</body>
</html>

Valeu,

 

Alex

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom, eu mesmo respondo, já que resolvi.

 

No meu caso, estou usando uma intranet e neste caso é melhor pegar o nome da máquina que o IP, mesmo porque o IP da minha rede muda as vezes.

 

Quando se usa o ADDT ele já cria os códigos e para listar os acessos ele usa o IP

 

Para pegar o hostname em vez do ip:

 

Alterar a linha 450 (aproximadamente) no arquivo includes/tng/trigers/tNG_defTrigg.inc.php

 

de

$sql .= '\''.$_SERVER['REMOTE_ADDR'].'\', ';

 

para

$sql .= '\''.gethostbyaddr($_SERVER['REMOTE_ADDR']).'\', ';

 

Melhor que isso seria pegar os dois, mas não quero perder tempo com isso agora, de ficar analisando o código do ADDT que é um pouco complexo. Assim já resolveu meu problema.

 

Mas fica aqui a dica para quem precisar.

 

Valeu,

 

Alex

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.