1. Este site usa cookies. Ao continuar a usar este site está a concordar com o nosso uso de cookies. Saber Mais.

Funçao nao aparece em funçoes

Discussão em 'Web Development' iniciada por Umbus, 5 de Novembro de 2007. (Respostas: 13; Visualizações: 808)

  1. Umbus

    Umbus What is folding?

    Boas,

    Tenho uma variavel (no inicio do codigo fora de funçoes):
    $nome="fasf";

    E depois tenho varias funçoes (em action).
    function (ola1){
    }
    function (ola2){
    }

    O problema aqui e que a variavel nome so aparece no index nas funçoes nao esta nada :S. O que posso fazer para aparecer dar em todas as funçoes?
     
  2. msdevweb

    msdevweb Power Member

    global $nome="fasf";

    serà isso? é que a tua duvida está no minimo estranha :)
     
  3. Umbus

    Umbus What is folding?

    Boas,
    Era isso, so que eu ao por isso a pagina fica em branco :S.
    o meu codigo e:
    global $fsa= "$fdst";

    So pelo fact de por o global a pagina fica em branco :(. Eu por a caso ja tinha tentado
     
  4. msdevweb

    msdevweb Power Member

    tens que tomar atençao onde chamas as variaveis, e indicar o global nas devidas variaveis globais... ve: http://www.php.net/global
     
  5. Umbus

    Umbus What is folding?

    Tip e que eu tenho isso:

    $fds = $_POST['sessao'];
    $dsa= "fds";
    echo '<p><BR>Nome: '.$dsa.'<BR></p>';

    O global fica onde aqui?
    E que onde quer que ponha ele fica em branco :(.
     
  6. blindview

    blindview Power Member

    PHP:
        $fds $_POST['sessao'];
        
    $dsa$fds;
        echo 
    '<p><BR>Nome: '.$dsa.'<BR></p>';
    Atenção que "fds" não é o mesmo que chamares a variável $fds.
     
  7. naoliveira

    naoliveira Power Member

    tens de definir a tua variável como global, mas dentro das funções onde queres usá-la
     
  8. K0mA

    K0mA Power Member

    Sem declares nenhuma variável como global podes passar a variável por referência.



    Código:
     
    $nome= "umbus";
     
    Funcao (&$nome) {
    $nome="olá umbus";
    }
     
    echo $nome;
    


    Vai resultar em: olá umbus
     
  9. Umbus

    Umbus What is folding?

    Nao sei poruqe no incio:
    www.site.com/ola.php ->nome aparece
    www..site.com/ola.php?action=ola2 ->nome nao aparece

    Cidigo do incio (retirei um pouco):
    $sad = $_POST['sessao'];
    echo '<p><BR>Nome: '.$sad.'<BR></p>';

    codigo numa funçao:
    function ola2()
    {
    global $sad;
    }

    Uma coisa que nao disse, que pdoe influenciar vai na volta:
    - O codigo do nome nao tem a ver com as funçoes, nenhuma funçao tem esse codigo, no entanto aparece "nome:" em todas as paginas de funçoes (action), pois o código esta antes de qualquer funçao, mesmo no inicio do codigo :).

    Koma acho que nao posso fazer o que dissest (nao testei), porque existem funçoes que ai vai buscar o id de outras funçoes anteriores
     
  10. Umbus

    Umbus What is folding?

    Fiz uns testes, aprecebi-me que o global funciona:

    Se por exemplo colocar §variavel = "ola" ele aparece.

    Se eu colocar $variavel = $_POST['coiso']; nao aparece

    Alguem tem uma sugestao ja tou farto de bater com a cabeça e nd:'(

    A outra for esta assim:
    <form action="administrar.php" method="post">
    <input type="hidden" value="<?php echo $f_user;?>" id="sessao" name="sessao">
    <input name="enviar" type="submit" value="Confirm" />
    </form>
     
    Última edição: 6 de Novembro de 2007
  11. naoliveira

    naoliveira Power Member

    faz assim:

    if (isset($_POST['coiso']))
    $variavel = $_POST['coiso'];
    else
    $variavel = "coiso vazio";
     
  12. Umbus

    Umbus What is folding?

    E o que digo, ele numa pagina aparece, e depois desaparece quando carrego noutra pagina (funçao action)
     
  13. naoliveira

    naoliveira Power Member

    sempre que mudas de página perdes os valores das variáveis, excepto das variáveis de sessão.
    Posta o teu código aqui para podermos analisar onde está o erro, o pouco código que metes não é suficiente (podes ficar descansado que ninguém te rouba o código:))
     
  14. msdevweb

    msdevweb Power Member

    Passo a explicar melhor o que o naoliveira dise, mas detalhadamente:

    Pelo que parece estas a usar uma variavel $_POST, e essa variavel so é passada para o "target" do from, ou seja, a variavel so esta disponivel na pagina que é utilizada como "target" do from, depois daí essa variavel "desaparece" quando mudas de pagina. Se fores mudar de pagina e quiseres utilizar essa variavel, tens que usar o GET ou SESSION vars, mas o que aconselho para ja, é usares pagina_destino.php?minha_var_do_post=$_POST['var']; Se criares um link assim na pagina onde recebes os dados do "form" ao mudares de pagina a variavel passa para a outra pagina (pagina_destino), mas passa a estar disponivel como $_GET['minha_var_do_post']; e nao como $_POST['minha_var_do_post'].

    Se quiseres uma variavel disponivel no site até o utilizador fechar o "browser", aconselho a usares sessoes, porque assim nao tens que andar a passar variaveis pelo url.
    session_start(); //tem que ser escrito em todas as paginas onde vais usar as variaveis da sessao.
    $_SESSION['variavel da sessao']="XyZ";

    para buscares a variavel:
    session_start();
    $temp=$_SESSION['variavel da sessao'];


    Pela confusao que li em cima, nos teus post's todos, parece-me que estas a cometer esse erro de usares a variavel do post em paginas diferentes e nao "target" do form, e isso nao funciona.

    cumps.
     

Partilhar esta Página