• 0
Sign in to follow this  
Lucas Phillip

Problemas Com Function

Question

ae galera, eu estou criando uma especie de chat que grava as msg num arquivo...

ai o codigo pra grava tava assim...

function mensagem() {
$msg=$_POST["msg"];
$caminho = "caminho";
$abre = fopen("$caminho", "a+");
@fputs ($abre, $msg);
@fclose ($abre);
}
e funcionava legal... so que eu comecei a ter que repetir esse código um monte de vez, ai resolvi criar uma função com ele (e começar meu problema :/) beleza eu criei a funçao pra isso
function escreve($msg) {
global $msg;
    $caminho = "/caminho";
    $abre = fopen("$caminho", "a+");
    @fputs ($abre, $msg);
    @fclose ($abre);
}
function mensagem {
$msg=$_POST["msg"];
escreve($msg);
}

so que assim não funciona... eu ainda to aprendendo php... sera que alguém pode me ajuda a arrumar isso?

valeu

Share this post


Link to post
Share on other sites

8 answers to this question

Recommended Posts

  • 0
Guest Guest

não esqueci não..... de colocar aqui no forum eu esqueci :P... mas no script ta certo...

o problema não é esse... eu já testei dentro da funcao escreve pra ver qual era o erro... tipo por algum motivo a variavel $msg, não existe dentro da funcao escreve... algo assim...

function escreve($msg) {
global $msg;
if ($msg="") echo "erro!";
$caminho = "/caminho";
$abre = fopen("$caminho", "a+");
@fputs ($abre, $msg);
@fclose ($abre);
}

não importa se eu escrevo uma msg ou não.... sempre aparece "erro!"

Share this post


Link to post
Share on other sites
  • 0

Ah sim....variaveis de dentro de uma função só existem em seu escopo...ou seja, só dentro da função....Se você tiver 2 variaveis $msg uma dentro e uma fora da função, uma não interfere na outra...

function mensagem(){
global $_POST["msg"];
$msg=$_POST["msg"];
escreve($msg);
}

O global estabelece q uma variavel de fora da função, não passada nos atributos da função, valha dentro dela tb...

Share this post


Link to post
Share on other sites
  • 0

Legal!!

Um jeito de pegar todas as variaveis de $_POST para poder chamá-las só assim $var é simples:

<? extract($_POST); ?>

Depois não precisa mais por o $_POST nas variaveis...

[]'s

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this