Alex_DTP 0 Denunciar post Postado Novembro 28, 2008 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
Alex_DTP 0 Denunciar post Postado Dezembro 10, 2008 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