Ir para conteúdo

Arquivado

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

Fábio BN

Problema para Exibir Function de 3 Pontinhos, erro Internal Server Error

Recommended Posts

Olá.

 

Eu uso uma função de fazer 3 pontinhos, que funciona perfeitamente num servidor com Windows Server 2003.
Porém estou tentando rodar a mesma função no WindowsServer 2012 e dá erro quando mando exibir.

 

function pontinhos(palavra,numero)
 if len(palavra) > numero then
 texto = left(palavra,numero)
 procura = instrrev(texto,chr(32))
 pontinhos = left(texto,cint(procura) - 1) & "..."

else
pontinhos = palavra
end if
end function

'Exibir
response.write pontinhos(var_mensagem("mensagem"),30)

Quando adiciono a linha para exibir, vem o erro.
Se mando exibir a variável sem a function exite normal o texto cheio, mas quando mando exibir pela function dá erro.
"Internal Server Error"

Esse meu servidor é da GoDaddy.

 

Abraços!

 

Fábio!

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Fabio testando sua função se a variável numero for menor que o chr(32) que é o espaço a função da erro não tem nenhum tratamento caso o espaço não seja encontrado no tamanho passado na variável número... não sei o contexto para o uso da função.. mas usando o replace não daria erro se não encontrado o caracter " " ...

 

function pontinhos(palavra)

pontinhos = replace(palavra," ","...")

end function

 

sendo nesse exemplo vai trocar o espaço por todos os espaços não somente pelo último como faz sua função...

abaixo tem o tratamento caso não seja encontrado o espaço

Function pontinhos(palavra, numero)
 If Len(palavra) > numero Then
 texto = Left(palavra, numero)
 procura = InStrRev(texto, Chr(32))
 If procura = 0 Then
 pontinhos = palavra
 Exit Function
 End If
 pontinhos = Left(texto, CInt(procura) - 1) & "..."
Else
pontinhos = palavra
End If
End Function
 

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Oi Gustavo. testei seu Script, o erro continua.

 

Tem uma coisa que não falei.

Eu sou dono de um E-Commerce feito em ASP, mas resolvi passar ele para PHP, fiz isso já, mas o ADM do site como não fica exposto ao cliente, resolvi deixar em ASP por enquanto. Porém o meu servidor atual é LINUX e não roda ASP. Então eu tive uma ideia. Acessar o ADM de outro servidor que seja Windows mas usando o mesmo Banco de Dados.


Assim sendo:
O servidor que hospeda o Banco de Dados está numa Hospedagem linux, e estou acessando esse Banco de Dados através de um outro servidor e em ASP, Servidor da GoDaddy de Windows Server 2012.

E não foi o primeiro problema que tive, tenho uma outra tela que perco uma variável sem motivos, preciso setar ela do select separado pois quando faço um IF nela ela perde seu valor.

E outro caso estranho, faço um select ordenado por data e hora, no servidor antigo funciona, no atual não leva em consideração  data e nem hora, não funciona o comando.

Estou quase desistindo!

Eu acho melhor eu programar o ADM em PHP e usar no mesmo servidor, vai demorar um pouco, ser será mais fácil, pois tem alguns comandos que não quer funcionar, e provavelmente continuarei tendo outros erros conforme eu for avançando nas telas, pois ainda faltam bastante para eu fazer!

 

Abraços!
Fábio!

Compartilhar este post


Link para o post
Compartilhar em outros sites

chegou a testar a função fora do loop? pois pode ser outro problema onde esteja parando na função... pode ser o pool veja nas configurações do IIS é um cloud ou é hospedagem compartilhada?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá. Eu testei sim, mas deve ser problema no servidor atual, alguma coisa tem de estranho nesse servidor.

Apareceu um problema novo nele.
Tenho um select paginado e um item novo inserido no banco de dados, ele não lista no Select, que coisa estranha!
Abraços!
Fábio

Compartilhar este post


Link para o post
Compartilhar em outros sites

  • Conteúdo Similar

    • Por fideles
      Fala pessoal, como anda as coisas?
       
      Meu conhecimento em JS e quase neutro, conheço algo, mais talvez não o suficiente para o que eu precise, por isso venho pedir ajuda a vocês,
       
      Tenho um pequeno programinha, simples mesmo que tem 4 areas (Administração, Compras, Financeiro, Almoxarifado).
       
      Quem fica na ADM solicita algo,  compras visualiza e da um "ok" e o financeiro tbm tem que dar um "ok" e no final, o almoxarifado dá um "Processo Concluido" (está parte está ok, funcionando, sem erro)
       
      Meu problema seria que quem está no almoxarifado consegue clicar no botão "Processo Concluido" mesmo o pessoal de compras e financeiro não dando um "ok" na solicitação ou ele tbm consegue dar "Processo Concluido" se um ou outro dar um "ok". Precisaria que ele so conseguisse dar "Processo Concluido" se os dois darem o "ok", se so um dar "ok" ele não pode dar "Processo Concluido".
       
      Alguém consegue pelo menos me dar um norte para que eu possa dar continuidade? Já tentei em PHP e nada.
       
    • Por fideles
      Pessoal, tudo bem?
       
      Tenho uma pagina onde as pessoas me enviam NF para faturamento.
       
      Me perguntaram, é possível que essa pagina funcione por exemplo, somente os 15 primeiros dias do mês e os últimos 15 dias, elas permaneça fechada ou direcione para outra pagina mostrando "Período de envio fechado" (exibir a mensagem é tranquilo).
       
      Alguém imagina algo? Não consegui, sendo sincero mesmo.
       
    • Por Rafael Freitas
      Fala galera!
      Estou travado em uma parte do projeto que estou fazendo, quem puder me ajudar, desde já agradeço.
      Seguinte,  eu tenho alguns dados gravados em uma tabela no banco. Eu recupero estes dados exibindo em uma tabela o nome do parametro "p_descricao" e um checkbox do lado, segue abaixo:
      <?php $max = 200; if(!$pagina){ $pagina = 1; } $inicio = $pagina -1; $inicio = $inicio * $max; $consulta = ("SELECT * FROM parametros WHERE p_tipo_analise='MICROBIOLOGICA'"); $p_id = $_GET["p_id"]; $query = mysql_query("$consulta LIMIT $inicio,$max"); $todos = mysql_query($consulta); $total = mysql_num_rows($todos); $tp = $total / $max; $regLinha = 4; $i = ceil($max / $regLinha); $j = 1; $z = 0; echo " <table width=100% class='tabela_parametros_itens' border=1><tr> "; while($x = mysql_fetch_array($query)){ echo "<td> <input type='checkbox' name='parametro' value='" .$x[p_descricao]."' checked> " .$x[p_id]." - " .$x[p_descricao]."</td>"; $z++; if($z == $regLinha and $j < $i){ echo "</tr><tr>"; $z = 0; $j++; } if($z == $regLinha and $j == $i){ echo "</tr>"; } } echo "</table>"; Eu coloquei checked para todos estarem marcados, até aí tudo certo. O que acontece é que quando eu cadastro, ele só grava no banco, o último registro, ou então se eu desmarco todos e deixo somente 1 marcado, aí ele grava certo.
       
      O que eu queria era gravar todos os registros que estiverem marcados com a checkbox e não só 1.
       
      Conto com a ajuda de vocês.
       
      Abraço.
    • Por Rafael Freitas
      Boa noite galera!
       
      Estou precisando de uma força, seguinte:
      Eu tenho um sisteminha de login e senha funcionando normalmente. Porém, a página que seria "restrita somente à usuários logado" está acessível para qualquer um, se esse tentar acessar pela url.
       
      Como faço pra restringir aquela página somente para quem estiver logado. Caso não esteja, direcionar para a página de login novamente.
       
      Segue o código:
      <?php session_start(); //Incluindo a conexão com banco de dados include_once("conexao.php"); //O campo usuário e senha preenchido entra no if para validar if((isset($_POST['email'])) && (isset($_POST['senha']))){ $usuario = mysqli_real_escape_string($conn, $_POST['email']); //Escapar de caracteres especiais, como aspas, prevenindo SQL injection $senha = mysqli_real_escape_string($conn, $_POST['senha']); $senha = md5($senha); //Buscar na tabela usuario o usuário que corresponde com os dados digitado no formulário $result_usuario = "SELECT * FROM usuarios WHERE email = '$usuario' && senha = '$senha' LIMIT 1"; $resultado_usuario = mysqli_query($conn, $result_usuario); $resultado = mysqli_fetch_assoc($resultado_usuario); //Encontrado um usuario na tabela usuário com os mesmos dados digitado no formulário if(isset($resultado)){ $_SESSION['usuarioId'] = $resultado['id']; $_SESSION['usuarioNome'] = $resultado['nome']; $_SESSION['usuarioNiveisAcessoId'] = $resultado['niveis_acesso_id']; $_SESSION['usuarioEmail'] = $resultado['email']; if($_SESSION['usuarioNiveisAcessoId'] == "1"){ header("Location: administrativo.php"); }elseif($_SESSION['usuarioNiveisAcessoId'] == "2"){ header("Location: colaborador.php"); }else{ header("Location: cliente.php"); } //Não foi encontrado um usuario na tabela usuário com os mesmos dados digitado no formulário //redireciona o usuario para a página de login }else{ //Váriavel global recebendo a mensagem de erro $_SESSION['loginErro'] = "Usuário ou senha Inválido"; header("Location: index.php"); } //O campo usuário e senha não preenchido entra no else e redireciona o usuário para a página de login }else{ $_SESSION['loginErro'] = "Usuário ou senha inválido"; header("Location: index.php"); } ?> Ainda estou começando no PHP,  quem puder dar uma força, agradeço! =)
       
      Abraço.
    • Por Rafael Freitas
      Fala galera!
       
      Seguinte, estou precisando inserir o qr-code na exibição do PDF, porém, já tentei de varias formas e não tive sucesso. Ainda sou iniciante, então não tenho tantos recursos assim.
      Se alguém puder dar uma força, agradeço.
       
      Está funcionando da seguinte forma: eu uso o mpdf para exibir uma página php como um pdf e até aí tudo bem. Porém, eu preciso que no final da página, ele também exiba a imagem do qr-code com a url da página.
      Eu até tenho um código que já está fazendo isso, exibindo em qr-code o url. O que não estou conseguindo é fazer a inserção desse código no meu php (que abre como pdf).
       
      Segue o código:
      $html = "<fieldset> <div class='container1'> <div class='espaco_vazio'></div> <div class='logo'><h1><img src='logo.png' alt='Ambiental' /></h1></div> </div> <div class='numero_laudo'> </div> <div class='cabecalho'>MANIFESTO PARA TRANSPORTE DE RESÍDUO PERIGOSO CLASSE I, CONFORME NBR 10004/2004 - MRT Nº <strong>".$result['id']."</strong> </div> <div class='cabecalho-gerador'><strong>GERADOR</strong> </div> <div class='cabecalho2'> <div class='container_1_cabecalho'> <b>Razão Social:</b> ".$result['razao_social']."<br> <b>Nome Fantasia:</b> ".$result['nome_fantasia']."<br> <b>Endereço:</b> ".$result['endereco'].", ".$result['numero']."<br> <b>Cidade:</b> ".$result['cidade']."<br> </div> <div class='container_2_cabecalho'> <b>CNPJ:</b> ".$result['cnpj']."<br> <b>Cep:</b> ".$result['cep']."<br> <b>Bairro:</b> ".$result['bairro']."<br> <b>UF:</b> ".$result['uf']."<br> </div> </div> <div class='cabecalho-gerador'><strong>DESCRICÃO DO RESÍDUO (CLASSE I)</strong> </div> <table class='tabela1'> <tr> <td style='width:300px' height='25px' bgcolor='#B8E4BA'><center><b>DESCRIÇÃO (RESÍDUO)</b></center></td> <td style='width:80px' bgcolor='#B8E4BA'><center><b>CÓD. IBAMA</b></center></td> <td style='width:80px' bgcolor='#B8E4BA'><center><b>QUILO</b></center></td> <td style='width:80px' bgcolor='#B8E4BA'><center><b>LITRO</b></center></td> <td style='width:80px' bgcolor='#B8E4BA'><center><b>CÓD. ONU</b></center></td> <td style='width:80px' bgcolor='#B8E4BA'><center><b>Nº RISCO</b></center></td> </tr> <tr> <td style='padding-left:10' height='20px'>RESÍDUO OLEOSO DA CAIXA SEPARADORA</td> <td><center>130508</center></td> <td style= bgcolor='#E5E5E5'><center></center></td> <td><center>".$result['residuo_oleoso']."</center></td> <td><center>3082</center></td> <td><center>90</center></td> </tr> <tr> <td style='padding-left:10' height='20px'>FRASCOS, TRAPOS E FILTRO DE AR</td> <td><center>150110</center></td> <td><center>".$result['frasco_trapo']."</center></td> <td style= bgcolor='#E5E5E5'><center></center></td> <td><center>3175</center></td> <td><center>40</center></td> </tr> <tr> <td style='padding-left:10' height='20px'>FILTRO DE ÓLEO USADO</td> <td><center>160113</center></td> <td><center>".$result['filtro_de_oleo']."</center></td> <td style= bgcolor='#E5E5E5'></td> <td><center>3175</center></td> <td><center>40</center></td> </tr> </table> <div class='cabecalho-outros1'>OUTROS</div> <div class='cabecalho-outros3'></div><br> <div class='cabecalho-gerador3'><strong>TRANSPORTADOR</strong> </div> <div class='cabecalho2'> <div class='container_1_cabecalho'> <b>Razão Social:</b> HA SERVICOS DE RECICLAGEM EIRELI<br> <b>Nº Licença:</b> 053/2014 SEMURB<br> <b>Endereço:</b> ROD. BR 101 - KM08 1999<br> <b>Cidade:</b> PARNAMIRIM<br> </div> <div class='container_2_cabecalho'> <b>CNPJ:</b> 10.793.274/0001-39<br> <b>Cep:</b> 59.149-090<br> <b>Bairro:</b> EMAUS<br> <b>UF:</b> RN<br> </div> <div class='carros'> Veículo utilizado: MYR-7209 [&nbsp;".$result['c1']."&nbsp;] - MOO-0558 [&nbsp;".$result['c2']."&nbsp;] - QFH-3373 [&nbsp;".$result['c3']."&nbsp;] - QFY-3590 [&nbsp;".$result['c4']."&nbsp;] - QFH-3403 [&nbsp;".$result['c5']."&nbsp;] - QFL-3527 [&nbsp;".$result['c6']."&nbsp;]</div> <div class='condutor'><strong>Condutor:</strong> ".$result['condutor']."</div> <div class='carros2'><i>Obs: Para o transporte a classe é a 09 conforme determina a ONU</i></div> </div> <div class='cabecalho-gerador3'><strong>DESTINADOR FINAL</strong> </div> <div class='cabecalho2'> <div class='container_1_cabecalho'> <b>Razão Social:</b> GILDENOR B. CANUTO S. AMBIENTAIS - EIRELI<br> <b>Nº Licença:</b> 2018-118207/TEC/LO-0014<br> <b>Endereço:</b> SITIO RANCHO DA VELHA, 2010<br> <b>Cidade:</b> GOVERNADOR DIX SEPT ROSADO<br> </div> <div class='container_2_cabecalho'> <b>CNPJ:</b> 18.495.068/0001-54<br> <b>Cep:</b> 59.790-000<br> <b>Bairro:</b> ZONA RURAL<br> <b>UF:</b> RN<br> </div> </div> <br> <div class='qr'>Este Comprovante de Recolhimento de Resíduos deverá ter sua autenticidade comprovada no endereço eletrônico:<br> http://... ou pelo celular lendo o QRCODE abaixo:</div> ######################################### Código que exibe o QR $URL="http://".$_SERVER['SERVER_NAME'].$_SERVER['REQUEST_URI']; $tamanho="170"; //Define o tamanho da imagem em px $qrcode="http://chart.apis.google.com/chart?chs=$tamanhox$tamanho&cht=qr&chl=$URL"; $alt="Use um leitor de QR-Code para abrir esta página"; echo "<img src='$qrcode' alt='$alt' width='$tamanho px' height='$tamanho px' />"; </fieldset>";  
×

Informação importante

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