Ir para conteúdo

POWERED BY:

Arquivado

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

Mr. Borges

[Resolvido] Conversão de Variáveis

Recommended Posts

Boa Tarde Pessoal!

 

Quem pode me ajudar nesta dúvida?

 

Tenho um scriptzinho em javascript para pegar resolução, e ai armazeno em uma variavel php. E por se tratar de numeros, eu preciso depois manipular esta variavel, mas ela permanece como tipo string, gostaria de transformar ela sem perder seu valor ou formatação para INT.

 

Tentei isso, mas não rolou, quando mando dar echo na variavel resolução, ele retorna 0.

 

<?php
$resolucao = "<script language=\"javascript\">var scr = screen.width; document.write(scr);</script>";
settype($resolucao, "integer");
echo $resolucao;
?>

 

Eu havia tentando deste jeito, mas também não rolou... o método anterior foi o que chegou mais perto:

<?php
$resolucao = "<script language=\"javascript\">var scr = screen.width; document.write(scr);</script>";
$resolucao = (int)$resolucao;
echo $resolucao;
?>

 

Grato quem puder me ajudar.

 

Atenciosamente

 

Lucas Borges

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara, qual a lógica do que você tá tentando fazer?

 

A conversão com casts retorna 0 porque não há números no início da string.

 

Você quer tirar tudo e deixar apenas números?

Não entendo o resultado que você quer ter.

 

EDIT: Agora entendi.

Você quer capturar a resolução do cliente? Tá no caminho errado.

 

Não se interpreta javascript server-side através do PHP ao armazenar isso numa variável.

 

[]'s

Compartilhar este post


Link para o post
Compartilhar em outros sites

Obrigado pessoal por dedicar tempo a esta minha dúvida.

 

Acho que vocês não me entenderam...

 

Da forma que estou fazendo eu até consigo obter o valor... Por exemplo, aqui no meu monitor este script retorna o valor de 1280, que de fato é...

 

Bom acontece que ele é retornado em forma de string e não de INT, pois se eu quiser fazer por exemplo:

 

<?php
$resolucao = "<script language=\"javascript\">var scr = screen.width; document.write(scr);</script>";
$teste = $resolucao + 1;
?>

 

Lógicamente tendo como base da minha resolução, retornaria 1281, mas ele não retorna pois seria como se eu estivesse somando texto com número.

 

Acho que fico mais claro.... Tentem reproduzir meu script mas também tentando manipular a variavel $resolução, tentem realizar operações matemáticas com ela, ai verão o que acontece.

 

 

Muito obrigado novamente pela atenção.

 

Abraços

 

Atenciosamente

 

Lucas Borges

Compartilhar este post


Link para o post
Compartilhar em outros sites

Oi ! Mr.Borges, como o Fvox já disse, não é possível interpretar javascript no server-side e obter o retorno no server-side como você está tentando fazer, para você fazer o que deseja, terá que ser algo nesse sentido:

<script type="text/javascript">
      window.onload = function(){
             window.location = 'p.php?width=' + screen.width + '&height=' + screen.height;
      }
</script>

Então na página 'p.php', você coloca:

<?php
     $Altura = isset( $_GET[ 'height' ] ) ? ( integer ) $_GET[ 'height' ] : 0;
     $Largura = isset( $_GET[ 'width' ] ) ? ( integer ) $_GET[ 'width' ] : 0;

 

Então você vai obter altura / largura do cliente.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ou salvando em cookies os valores altura/largura e dar um reload na pagina com javascript, o php com $_COOKIE['size']; iria obter esse valor... o que seria um trabalho porco...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ou salvando em cookies os valores altura/largura e dar um reload na pagina com javascript, o php com $_COOKIE['size']; iria obter esse valor... o que seria um trabalho porco...

Não necessariamente .. até que seria uma boa idéia, você ia poder transportar esses dados em quanto seu cliente / usuário navega, então utiliza um .unload() pra quando o navegador for fechado, remover todos os cookies, para gravar os novos.

Compartilhar este post


Link para o post
Compartilhar em outros sites

o "trabalho porco" é no fato que seria necessario a pagina ser atualizada, para que o php le-se o cookie.ou seja fica estranho entrar no site, e depois de tantos segundos ele ser atualizado automaticamente.

Compartilhar este post


Link para o post
Compartilhar em outros sites
Da forma que estou fazendo eu até consigo obter o valor...

 

como fez isso, compartinhe este conhecimento supremo.

 

<?php

$resolucao = "<script language=\"javascript\">var scr = screen.width; document.write(scr);</script>";

$teste = $resolucao + 1;

?>

 

 

Lógicamente tendo como base da minha resolução, retornaria 1281, mas ele não retorna pois seria como se eu estivesse somando texto com número.

 

isso nunca dara certo, ja que $resolução não retorna valor numerico algum, apenas tem esse valor -> "<script language=\"javascript\">var scr = screen.width; document.write(scr);</script>"

 

Quanto trasnformar string em int

<?php


$str2 = '12Aeeee';
$int = (int)$str2;
$s = $int+2;
echo $s;


?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pessoal

 

Consegui resolver.

 

Estive analisando o rumo da conversa, lendo as sugestões e do nada consegui enxergar que eu poderia resolver tudo com javascript mesmo...

Mas ainda sim serviu como aprendizado, visto que as sugestões que foram colocadas são ótimas para demais outros casos.

 

Quero agradecer a paciência de todos!

 

Atenciosamente

 

Lucas Borges

 

----------------------------------------

H. Romeu

 

Cara

 

<?php
$resolucao = "<script language=\"javascript\">var scr = screen.width; document.write(scr);</script>";
echo $resolucao;
?>

 

Desta forma ele escreve minha resolução, que no caso seria 1280. O que não tava rolando era manipular a variável.

 

Obrigado

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.