FRIHOSTFORUMSSEARCHFAQTOSBLOGSCOMPETITIONS
You are invited to Log in or Register a free Frihost Account!


[site]função para criar variavel





merrik
Alguem aqui conhece alguma função no php que crie uma variavel com o nome igual ao valor de outra?
psykow
merrik wrote:
Alguem aqui conhece alguma função no php que crie uma variavel com o valor de outra?


Hum estranho o q vc pediu, mas vou tentar mostrar uma solução, relembrando q em php num eh necessário declarar variáveis para serem declaradas eh soh atribuir um valor, mas vai aí a dica. É soh a variável q vc quer criar receber o valor da outra.
Exemplo:


<?php
$nome = 'Bonifácio da Silva';
$variavelcriada = $nome;
echo $variavelcriada; /* irá imprimir na tela a sua variavel q vc criou ($variavelcriada) com o valor da outra, assim sendo impressa na tela a string Bonifácio da silva. */
/* Assim a vc vai fazer uma variável q vc criou ($variavel) recever o valor da sua outra variável, num eh necessaário nenhuma função para fazer isso é soh atribuir. */

?>


Bom, espero ter ajudado, num sei se eh isso q vc qria, mas acho q valeu a tentativa.
merrik
Não é isso não Psykow,
Tipo, eu quero que o código crie as variaveis sozinho dependendo da nescecidade, eu não sei se tem como eu inclusive não descobri uma maneira por isso vim aqui no forum, eu to tentando supri essa nescecidade com uma array, mas minha cuca ta quebrando e não sei se vai da certo
psykow
tem como vc colocar o código fonte aew do q vc ta fazendo pra mim ter uma base e entende e poder ajuda? Talvez eu ajude.

EDITADO:
Bom se vc num tiver o código aew, pelo menos poste em forma de algoritmo portugol (pseudo_código) q da pra entender de boa e com certeza tirar suas dúvidas.
merrik
Desculpe-me pela desogarnização do código Rolling Eyes , estou tentando coloca-lo em três blocos:

1º bloco, esse bloco é responsavel por saber o que a página faz, em outras palavras é a parte do código que pega a variavel "$acao" que dará a ação a ser exercutada
Code:
<?php

$action = $_GET[action];
$accept_charset  =  "
  A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,X,W,Y,Z,
  a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,x,w,y,z,
  1,2,3,4,5,6,7,8,9,
  _,.
  ";


Essa 2ª parte é a responsavel por me dar as arrays onde estão contidas as informações sobre os inputs e o form, futuramente pretendo colocar ou em um banco de dados ou em um arquivo externo qualquer

Code:
switch($action){
  case"login":
    $form_action = "";
      $input =  array(
        "login" => array(
          "accept-charset" => $accept_charset
          ,"height" => ""
          ,"maxlength" => "13"
          ,"type"  => "text"         
          ,"width" => ""
          ,"class" => ""       ),
        "pass"    => array(
          "accept-charset" => $accept_charset
          ,"height" => ""
          ,"maxlength" => "15"
          ,"type"  => "text"
          ,"width" => ""
          ,"class" => ""     ),
        "button"  => array(
          "height" => ""
          ,"type"  => "button"
          ,"value" => "Ok"
          ,"width" => ""
          ,"class" => ""     )
             );
        $form = array(
          "action"   => $form_action
          ,"target"   => "_self"
          ,"method" => "post"
                        );
break;
  case"register":
    $form_action = "";
    $input =  array(
      "login" => array(
        "accept-charset" => $accept_charset
        ,"height" => ""
        ,"maxlength" => "13"
        ,"type"  => "text"         
        ,"width" => ""
        ,"class" => ""       ),
      "pass"    => array(
        "accept-charset" => $accept_charset
        ,"height" => ""
        ,"maxlength" => "15"
        ,"type"  => "text"
        ,"width" => ""
        ,"class" => ""     ),
      "confirmpass" => array(
        "accept-charset" => $accept_charset
        ,"height" => ""
        ,"maxlength" => "15"
        ,"type" => "text"
        ,"width" => ""
        ,"class" => ""
        ),
      "button" => array(
        "height" => ""
        ,"type" => "button"
        ,"value" => "Ok"
        ,"width" => ""
        ,"class" => ""     )
  );
      $form = array(
        "action" => $form_action
        ,"target" => "_self"
        ,"method" => "post"
        );
  break;
  }


Está é a parte funcional do código que tem de usar as informações das arrays e organizar de forma a que o browser consiga entender - html - o meu problema é exatamente aqui, eu preciso de alguma forma fazer um código que, não seja limitado pelas variaveis, em cada "nivel" dentro de uma array eu preciso de uma variavel para o loop e outra para as informações porem o número de "niveis" não é fixo podendo variar dependendo doque eu querer fazer.

Code:
$count = count($form);
$count = $count++;
$a = 0;
reset($form);
echo "<form ";
while($a!==$count){
  ++$a;
  $key = key($form);
  $value = current($form);
  $values = " $values $key=\"$value\" ";
  next($form);
  }
echo " $values >";
reset($input);
$values = "";
$count = "";
$count = count($input);
$count = $count++;
$a = 0;
while($a!==$count){
  ++$a;
  $key = key($input);
  $count2 = count($input[$key]);
  $count2 = $count2++;
  $b = 0;
  reset($input[$key]);
  while($b!==$count2){
    ++$b;
    $key2 = key($input[$key]);
   $value2 = current($input[$key]);
   $values = " $values $key2=\"$value2\" ";
    next($input[$key]);
    }
  next ($input);
  echo "<input $values >";
  $values = "";
  }
echo "</form>";
?>
psykow
Esse código aew vc desenvolveu ou pego pronto como dica de algum lugar?
tipo eu so meio amador, num consegui ainda entender direito como funciona o algoritmo, vo tenta ver melhor , senão qualquer coisa eh melhor pedir ajuda a outroa mais experientes.
merrik
fui eu que fiz, o código não é nem um pouco complexo só é grande, por enquanto está tudo em apenas uma página, depois eu vo desmebrar e aprimora-lo, eu ainda quero tirar as arrays dessa página e talvez colocar no banco de dados ou em um arquivo externo para ser mais fácil de editar mas para eu pensar em fazer isso ele tem que funcionar direitinho.
obs: eu coloquei alguns comentarios para facilitar a comprensão do código, só que o código fico fragmentado pra caramba Confused
psykow
Desculpe cara, mas como minha própria assinatura diz, sou um amador, e pra começo de conversa eu nem sei pra q serve o "->" e o "=>", foi mal mesmo.
merrik
psykow wrote:
Desculpe cara, mas como minha própria assinatura diz, sou um amador, e pra começo de conversa eu nem sei pra q serve o "->" e o "=>", foi mal mesmo.

Sem problemas ^^ vlw pela prestabilidade.
sintaxe de uma array wrote:
A sintaxe "index => values", separados por vírgulas, definem índice e valores respectivamente.
mariohs
Uma pergunta: o número de variáveis, apesar de grande, que você passa por get é finito, não?

Porque não cria uma variável por parâmetro e usa as variáveis dinamicamente?
merrik
mariohs wrote:
Uma pergunta: o número de variáveis, apesar de grande, que você passa por get é finito, não?

Se não estou enganado por consequencia sim, já que tem um limite de caracteres a serem passdos pela url, é isso?

mariohs wrote:
Porque não cria uma variável por parâmetro e usa as variáveis dinamicamente?

Não entendi cara, Rolling Eyes
mariohs
Eu entendi o seguinte:

Você quer pegar as variáveis de acordo com a ação.

Você tem: ação a1, variáveis v1, v2 e v3.
Você tem: ação a2, variáveis v4, v5 e v6.

Dependendo da ação, você quer pegar ora v1, v2 e v3, e ora v4, v5, v6... e você quer botar v1, v2, v... em uma variável e criar uma variável com o valor que estiver na variável, é isso?

Desculpe se eu estiver falando algo completamente nada a ver, é que o seu código está muito extenso e difícil de entender...
merrik
Bem é isso mesmo mario, eu tenho ações por enquanto a1 -> login e a2 -> register, posteriormente a inteção é acrescentar novas por isso mesmo eu quero fazer um código que não depende de variaveis, exatamente cada ação tem suas variaveis não sei se vai ultrapassar duas já que o objetivo desse código é criar forms e eu tenho uma variavel para input e outra para o form, e eu quero pegar os valores dessas variaveis e coloca-las em ordem não necessariamente dentro de outra variavel eu só quero que seja impresso na página de modo que o browser consiga compreender, ou seja em html, eu tinha pensado em fazer o código com fuction(), mas as variaveis seriam as mesmas e não daria certo(ou daria?)
mariohs
Porque você não faz alguma coisa tipo assim... vou escrever um pseudo-código, pois estou com preguiça em fazer em php Very Happy
Code:
$action = $_GET["action"];
$v1 = $_GET["v1"];
$v2 = $_GET["v2"];
$v3 = $_GET["v3"];
$v4 = $_GET["v4"];
$v5 = $_GET["v5"];
$v6 = $_GET["v6"];

switch ($action)
{
case "a1":
echo "v1=$v1, v2=$v2, v3=$v3";
break;

case "a2":
echo "v4=$v4, v5=$v5, v6=$v6";
break;
}


Isso funcionaria, não?
Você pode ainda instanciar as variáveis dentro do switch, se preferir.
merrik
Bem, desculpa estar revivendo o tópico, mas estava lendo o help do php e achei o que eu procurava, acho que talvez ajude alguem qualquer hora, era isso aqui:

Code:
$text = "variavel";
$string = "new";
$$string = $text;


A cima teremos a variavel com o identificador "new" sendo criada com o valor "variavel" - o mesmo da variavel $text -, isso as vezes se torna nescessario para alguns scripts funcionarem.
Sob a sugestão mariohs, desculpe-me por não ter respondido, eu já desisiti de fazer esse script - talvez no futuro eu volte a faze-lo - mas a sua ideia ficava ruim pela quantidade de variaveis passadas
Related topics
Como vocês descobriram o Frihost?
[JOGOS] Alguém cria games aí? RPG Maker, alguém???
[Geral] Microsoft prepara pc ultrapequenoo
[AJUDA] Por Favor Ajudem!
Joomla!!!
Qual o problema com os Brasileiros e Portugueses ?
Qual a melhor ferramenta para criar web sites?
Qual a melhor ferramenta para criar websites em java?
YOUTUBE Bloqueado para o Brasil Graças Cicarelli
[DESIGNER] Para quem quer tocar informações do 3DSMAX
[CINEMA] O Segredo
FALTA DE TÓPICOS
os Dez Passos Da Microsoft Para Criar Um Programa
[Novo] Como que Acesso o Painel para Criar meu site?
Reply to topic    Frihost Forum Index -> Language Forums -> Portuguese

FRIHOST HOME | FAQ | TOS | ABOUT US | CONTACT US | SITE MAP
© 2005-2011 Frihost, forums powered by phpBB.