Ir para conteúdo

Arquivado

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

fabianotb

Ajuda: error: Call to undefined function

Recommended Posts

Temos o site da empresa em PHP, o qual foi comprado.

Depois que alteraram a versão do servidor php, quando eu chamo a página “adicionar.php” ela retorna em branco.

 

Olhando os log, deparei com este erro :

PHP Fatal error:  Call to undefined function session_is_registered() in /home/empresa/public_html/site/gerenciador_noticias/admin/adicionar.php on line 14

 

Pelo que andei pesquisando, esta sintaxe foi descontinuada na versão 5.3 do PHP e da versão 5.4 já não funciona mais tendo que alterar a sintaxe.

 

Não sei muito sobre PHP,... como devo alterar esta sintáxe ?Em outras páginas também serão necessárias?

 

<?php

if (session_is_registered('user_login')) { //verifica se o usuario foi logado

 

}

 

else{

   $username=$_SESSION['username'];// get previous session and go your project page

}

 

if(!isset($_POST['escolher']) and !isset($_POST['envia'])){//formulario para escolha do tipo de noticia

?>

<a name="top"></a>

<font face="Verdana, Arial, Helvetica, sans-serif" color="#000000" size="1"><b>Adicionar Not&iacute;cia</b></font><br>

<center>

<hr color="#CCCCCC" width="100%">

<br>

<font face="Arial, Helvetica, sans-serif" size="1" color="#000000"><b>A not&iacute;cia

que voc&ecirc; deseja adicionar, &eacute;:</b>

<form action="<?php print($_SERVER['PHP_SELF']); ?>?acao=add_news" method="post">

<input type="radio" name="opcao" value="1" checked> Com Imagem

<br>

<input type="radio" name="opcao" value="2"> Sem Imagem

<br>

<br>

<input type="hidden" name="escolher">

<input type="submit" name="enviar" value="Adicionar">

</form>

</font>

<br>

<p align="right"><a class="noticia" href="adm_noticias.php" target="_self">Painel de Administra&ccedil;&atilde;o</a></p>

<br>

<hr color="#CCCCCC" width="100%">

</center>

<?php

} elseif (isset($_POST['escolher']) and ($_POST['opcao'] != "")){

   if(isset($_POST['opcao']) and ($_POST['opcao'] == "1")){

 

print("<font face=\"Verdana,Arial,Helvetica,sans-serif\" size=\"1\" color=\"#000000\">");

 

//Se a notícia for submetida

//Adicina ao banco de dados supernews

if(isset($_POST['envia'])) {

    

if(isset($_POST['secao']) and ($_POST['secao'] != "") and isset($_POST['titulo']) and ($_POST['titulo'] != "") and isset($_POST['ftb_geral']) and ($_POST['ftb_geral'] != "") and isset($_FILES['arquivo']) and ($_FILES['arquivo'] != "")){

 

    

$query = mysql_query( "SELECT diretorio FROM {$prefixdb}noticias_noticias WHERE diretorio = '{$_FILES['arquivo']['name']}'" );

if(mysql_num_rows($query) == 0) {

 

$uploaddir = 'upload_imagens/';

 

$allowed_file_types = array(1 => 'jpg','jpeg','png', 'gif','JPEG','JPG','PNG','GIF');

$extension_array = explode('.', $_FILES['arquivo']['name']);

$extension = $extension_array[1];

 

if (in_array($extension, $allowed_file_types)) {

    

if($_FILES['arquivo']['size'] > "1000000"){

 

    print("<SCRIPT> alert('Seu arquivo não poderá ser maior que 1mb'); window.history.go(-1); </SCRIPT>\n");

 

} else {

    

$dim_figura = @getimagesize($_FILES['arquivo']['tmp_name']); //dimesao da imagem

$largura = $dim_figura[0];

$altura = $dim_figura[1];

 

$filename = $_FILES['arquivo']['name'];

 

$dirgaleria = $config_galeria['urlgaleria']; // URL da galeria de fotos

$uploaddir2 = $config_galeria['dirservidor']; // Diretorio no servidor

 

if(move_uploaded_file($_FILES['arquivo']['tmp_name'], $uploaddir . $_FILES['arquivo']['name'])) {

    $diretorio = $_FILES['arquivo']['name'];

    

    //classe que gera os thumbnails

    include_once("thumbnail.php");

    $imn = new ImageManipulator;

    $imn -> ImageManipulator();

    $imn -> decider($extension,$filename,$config_galeria['thumb_largura'],$config_galeria['thumb_altura'],$config_galeria['jpeg_qualidade'],$dirgaleria,$uploaddir2,$config_galeria['thumb_sufix'],$config_galeria['chmod_pics']);

    

} else {

    print("Houve um erro na transferencia do arquivo:\n");

    if($_FILES['arquivo']['error'] == 1){

    print("O arquivo no upload é maior do que o limite definido em upload_max_filesize no php.ini");

    }

    elseif($_FILES['arquivo']['error'] == 2){

    print("O arquivo ultrapassa o limite de tamanho em MAX_FILE_SIZE que foi especificado no formulário html.");

    }

    elseif($_FILES['arquivo']['error'] == 3){

    print("o upload do arquivo foi feito parcialmente.");

    }

    elseif($_FILES['arquivo']['error'] == 4){

    print("Não foi feito o upload do arquivo.");

    }

}

}

} else {

    print("<center><font color=\"#FF0000\" size=\"1\"><b>Somente arquivos com extensão .gif e .jpeg são suportados</b></font></center>");

    die();

}

 

} else {

    print("<script>alert('Esta imagem já está cadastrada no banco de dados'); history.back();</script>");

    die();        

}

 

$largura = $largura;

$altura = $altura;

$secao = formatDados($_POST['secao']);

$titulo = formatDados($_POST['titulo']);

 

if (!get_magic_quotes_gpc()) {

   $conteudo = addslashes(ereg_replace("[\"\"]","",($_POST['ftb_geral'])));

} else {

   $conteudo = ereg_replace("[\"\"]","",($_POST['ftb_geral']));

}

 

$data = date("Y-m-d H:i:s");

 

$sql = "INSERT INTO {$prefixdb}noticias_noticias SET

       diretorio='$diretorio',

       idcategoria='$secao',

       largura='$largura',

       altura='$altura',

       titulo='$titulo',

       conteudo='$conteudo',

       data='$data'";

if(@mysql_query($sql)){

print("<p align=\"center\"><font color=\"#000000\" size=\"1\"><b>A not&iacute;cia foi adicionada com sucesso!

      <br>Voc&ecirc; est&aacute; sendo redirecionado para o

      Painel de Administra&ccedil;&atilde;o</b></font></p>");

} else {

print("<p align=\"center\"><font color=\"#FF0000\" size=\"1\"><b>Erro ao adicionar a not&iacute;cia " . mysql_error() . '</b></font></p><br>');

}

} else {

print("<center><b>Todos os campos são obrigatórios <br> <a href='javascript:history.go(-1)'>Voltar</a></b></center>");

}

 

} else { //Se a variavel envia não for setada

?>

<div align="center">

<center>

    <table border="0" cellpadding="0" cellspacing="1" width="100%">

      <tr>

        <td><div align="center"> <a class="noticia" href="?acao=add_news" target="_self">Mudar

            de op&ccedil;&atilde;o</a> | <a class="noticia" href="adm_noticias.php" target="_self">Painel

            de Administra&ccedil;&atilde;o</a></div></td>

      </tr>

      <tr>

        <td><font face="Verdana, Arial, Helvetica, sans-serif" color="#000000" size="1"><b>Adicionar

          Not&iacute;cia com imagem</b></font>

          <hr color="#CCCCCC"></td>

      </tr><tr><td>

      <form name="form_pagina" action="<?php print($_SERVER['PHP_SELF']); ?>?acao=add_news" method="post" enctype="multipart/form-data" language="javascript" onsubmit="ValidatorOnSubmit();FTB_CopyHtmlToHidden(ftb_geral_editor,document.getElementById('ftb_geral'),ftb_geral_HtmlMode);">

        <p align="left"><font face="Verdana, Arial, Helvetica, sans-serif" color="#006699" size="1"><b>Upload

          para Imagem:*</b></font></p></td></tr>

        <tr>

          <td> <input type="hidden" name="MAX_FILE_SIZE" value="1000000"> <input type="file" name="arquivo" size="38">

          </td>

        </tr>

        <tr>

          <td><font face="Verdana, Arial, Helvetica, sans-serif" color="#006699" size="1"><b>se&ccedil;&atilde;o:*</b></font>

          </td>

        </tr>

        <tr>

          <td>

          <?php

          $consulta_sql = mysql_query("SELECT * FROM {$prefixdb}notcategorias_noticias ORDER BY categoria");

          if($consulta_sql){

           print('<select name="secao" size="1">');

           if(mysql_num_rows($consulta_sql) > 0){

             while($linha = mysql_fetch_array($consulta_sql)){

                   $idcat = $linha['id'];

                 $categoria = $linha['categoria'];

               

               print('<option value="'.$idcat.'">'.$categoria.'</option>');

             }

           } else {

             print('<option value="">Não há Categorias cadastradas</option>');

           }

           print('</select>');

          }

          ?>

          </td>

        </tr>        

        <tr>

          <td> <font face="Verdana, Arial, Helvetica, sans-serif" color="#006699" size="1"><b>T&iacute;tulo:*</b></font>

          </td>

        </tr>

        <tr>

          <td> <input type="text" maxlenght="250" size="50" name="titulo" /> </td>

        </tr>

        <tr>

          <td> <p align="left"><font face="Verdana, Arial, Helvetica, sans-serif" color="#006699" size="1"><b>Conte&uacute;do:*</b></font></p></td>

        </tr>

        <tr>

          <td>

          <?php

              include("editor_html.php");

          ?>          

          </td>

        </tr>

        <tr>

          <td> <input type="hidden" name="escolher"> <input type="hidden" name="opcao" value="1">

            <input type="submit" name="envia" value="Adicionar" />

            |

            <input type="reset" name="limpa" value="Limpar" \>

      </form>

      <br>

      <font face="Verdana, Arial, Helvetica, sans-serif" color="#006699" size="1">*

      Campos obrigatórios</font> </td> </tr>

      <tr>

        <td> <hr color="#CCCCCC"> </td>

      </tr>

    </table>

</center>

</div>

<br>

<center>

  <a class="noticia" href="?acao=add_news" target="_self">Mudar de op&ccedil;&atilde;o</a>

  | <a class="noticia" href="adm_noticias.php" target="_self">Painel de Administra&ccedil;&atilde;o</a>

  | <a class="noticia" href="#top" target="_self">Topo</a>

</center>

<?php

  }

  } elseif(isset($_POST['opcao']) and ($_POST['opcao'] == "2")) {

 

print("<font face=\"Verdana,Arial,Helvetica,sans-serif\" size=\"1\" color=\"#000000\">");

 

//Se a notícia for submetida

//Adicina ao banco de dados supernews

if(isset($_POST['envia'])) {

if(isset($_POST['secao']) and ($_POST['secao'] != "") and isset($_POST['titulo']) and ($_POST['titulo'] != "") and isset($_POST['ftb_geral']) and ($_POST['ftb_geral'] != "")){

 

$secao = formatDados($_POST['secao']);

$titulo = formatDados($_POST['titulo']);

 

if (!get_magic_quotes_gpc()) {

   $conteudo = addslashes(ereg_replace("[\"\"]","",($_POST['ftb_geral'])));

} else {

   $conteudo = ereg_replace("[\"\"]","",($_POST['ftb_geral']));

}

 

$data = date("Y-m-d H:i:s");

 

$sql = "INSERT INTO {$prefixdb}noticias_noticias SET

       idcategoria='$secao',

       titulo='$titulo',

       conteudo='$conteudo',

       data='$data'";

 

if(@mysql_query($sql)){

print("<p align=\"center\"><font color=\"#000000\" size=\"1\"><b>A not&iacute;cia foi adicionada com sucesso!

      <br>Voc&ecirc; est&aacute; sendo redirecionado para o

      Painel de Administra&ccedil;&atilde;o</b></font></p>");

} else {

print("<p align=\"center\"><font color=\"#FF0000\" size=\"1\"><b>Erro ao adicionar a not&iacute;cia " . mysql_error() . '</b></font></p><br>');

}

} else {

print("<center><b>Todos os campos são obrigatórios <br> <a href='javascript:history.go(-1)'>Voltar</a></b></center>");

}

 

} else { //Se a variavel envia não for setada

?>

<div align="center">

<center>

    <table border="0" cellpadding="0" cellspacing="1" width="100%">

      <tr>

        <td><div align="center"> <a class="noticia" href="?acao=add_news" target="_self">Mudar

            de op&ccedil;&atilde;o</a> | <a class="noticia" href="adm_noticias.php" target="_self">Painel

            de Administra&ccedil;&atilde;o</a></div></td>

      </tr>

      <tr>

        <td><font face="Verdana, Arial, Helvetica, sans-serif" color="#000000" size="1"><b>Adicionar

          Not&iacute;cia sem imagem</b></font>

          <hr color="#CCCCCC"></td>

      </tr><tr><td>

      <form name="form_pagina" action="<?php print($_SERVER['PHP_SELF']); ?>?acao=add_news" method="post" enctype="multipart/form-data" language="javascript" onsubmit="ValidatorOnSubmit();FTB_CopyHtmlToHidden(ftb_geral_editor,document.getElementById('ftb_geral'),ftb_geral_HtmlMode);"></td></tr>

        <tr>

          <td><font face="Verdana, Arial, Helvetica, sans-serif" color="#006699" size="1"><b>se&ccedil;&atilde;o:*</b></font>

          </td>

        </tr>

        <tr>

          <td>

          <?php

          $consulta_sql = mysql_query("SELECT * FROM {$prefixdb}notcategorias_noticias ORDER BY categoria");

          if($consulta_sql){

           print('<select name="secao" size="1">');

           if(mysql_num_rows($consulta_sql) > 0){

             while($linha = mysql_fetch_array($consulta_sql)){

                   $idcat = $linha['id'];

                 $categoria = $linha['categoria'];

               

               print('<option value="'.$idcat.'">'.$categoria.'</option>');

             }

           } else {

             print('<option value="">Não há Categorias cadastradas</option>');

           }

           print('</select>');

          }

          ?>

          </td>

        </tr>        

          <tr>

          <td> <font face="Verdana, Arial, Helvetica, sans-serif" color="#006699" size="1"><b>T&iacute;tulo:*</b></font>

          </td>

        </tr>

        <tr>

          <td> <input type="text" maxlenght="250" size="50" name="titulo" /> </td>

        </tr>

        <tr>

          <td> <p align="left"><font face="Verdana, Arial, Helvetica, sans-serif" color="#006699" size="1"><b>Conte&uacute;do:*</b></font></p></td>

        </tr>

        <tr>

          <td>

          <?php

              include("editor_html.php");

          ?>          

          </td>

        </tr>

        <tr>

          <td> <input type="hidden" name="escolher"> <input type="hidden" name="opcao" value="2">

            <input type="submit" name="envia" value="Adicionar" />

            |

            <input type="reset" name="limpa" value="Limpar" \>

      </form>

      <br>

      <font face="Verdana, Arial, Helvetica, sans-serif" color="#006699" size="1">*

      Campos obrigatórios</font> </td> </tr>

      <tr>

        <td> <hr color="#CCCCCC"> </td>

      </tr>

    </table>

</center>

</div>

<br>

<center>

  <a class="noticia" href="?acao=add_news" target="_self">Mudar de op&ccedil;&atilde;o</a>

  | <a class="noticia" href="adm_noticias.php" target="_self">Painel de Administra&ccedil;&atilde;o</a>

  | <a class="noticia" href="#top" target="_self">Topo</a>

</center>

<?php

}

}

}

}else{

print("<html>\n<head>\n<title>Error!!</title>\n</head>\n<body>\n");

print("<center><pre>Usuário não fornecido, dirija-se para <a href='adm_noticias.php' target='_self'>adm_noticias.php</a> para ser logado</pre></center>\n");

print("</body>\n</html>");

}

?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

@fabianotb, como outros problemas de funções inativas podem vir a ocorrer, sugiro criar um arquivo funcoesLegadas.php e adicionar o seguinte código nele:

if (!function_exists('session_is_registered'))
{
    function session_is_registered($name)
    {
        return isset($_SESSION[$name]) ? true : false;
    }
}


E então, basta incluir esse arquivo no inicio dos arquivos *.php que utilizem essa função, ou em algum arquivo que sempre carregue no inicio, como um header.php ou algo semelhante.

Caso venha a ter outros problemas, entenda a ideia:
Neste caso, entrei no site php.net e localizei a função session_is_registered, que tem a seguinte descrição:
 

bool session_is_registered ( string $name )
Verifica se uma variável global está registrada numa sessão.

// http://php.net/manual/pt_BR/function.session-is-registered.php

 

Ou seja, basta criar uma função que devolva um true ou false, que faça o comportamento descrito.

 

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cheguei a criar o funcoeslegadas.php e coloquei um "include 'funcoeslegadas.php';" na pagina adicionar.php mas nada acontece...

Eu não entendo nada de PHP, ...

Como crio esta função para a variavel global ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

  • Conteúdo Similar

    • Por Negrito
      Olá,
       
      Estou quebrando a cabeça com o recurso Session_OnStart , pois eu gostaria que algumas paginas/arquivos .asp tivessem exceções.
       
      Criei o Global.ASA com o seguinte contexto:
       
      <SCRIPT RUNAT=Server Language="VBScript">
      Sub Session_OnStart
        startPage = "/default.asp"
        currentPage = Request.ServerVariables("SCRIPT_NAME")
        If strcomp(currentPage,startPage,1) then
          Response.Redirect("/default.asp")
        End If
      End Sub
      </SCRIPT>
       
      Ele funciona perfeitamente, quando tento acessar qualquer pagina ou subdiretorio diretamente pela URL, ele me joga para a pagina inicial.
       
      Porem, eu gostaria de ter exceções em alguns diretorios e paginas .ASP , onde eu gostaria de liberar o acesso direto ao digitar a URL.
       
      Alguem sabe me informar se é possivel ? 
       
      Obrigado.
       
       
    • Por k9studio
      Olá meus Amigos,
       
      Estou tendo dificuldades em eliminar dados repetidos de uma session
      é um sisteminha de pesquisa de domínios com array
      quero eliminar quando já tiver um nome na session, não deixar gravar outro
      aguem pode ajudar
      veja como está  
      Array ( [0] => Array ( [type] => register [domain] => testeteste.com.br [regperiod] => 1 ) [1] => Array ( [type] => register [domain] => testeteste.com [regperiod] => 1 ) [2] => Array ( [type] => register [domain] => testeteste.net.br [regperiod] => 1 ) [3] => Array ( [type] => register [domain] => testeteste.com.br [regperiod] => 1 ) [4] => Array ( [type] => register [domain] => testeteste.com [regperiod] => 1 ) [5] => Array ( [type] => register [domain] => testeteste.net.br [regperiod] => 1 ) ) Desde já muito obrigado a todos
    • Por Alberto Nascimento
      Estou tendo problemas de acesso ao Session, onde quando realizo login via computador, consigo "pegar" os dados que foram armazenados na sesion, mas quando utilizo o sistema de login no telefone ( android, por exemplo ) a session não esta conseguindo carregar os dados do usuário logado e exibir na página seguinte.
       
      Outra coisa que observei é que não consigo trabalhar com session em pastas diferentes, isso é normal? Veja só:
       
       
      Utilizando esta estrutura, não consigo ter acesso ao session no sistema ANDROID
       
      Agora se ao invés de ser como esta acima, faço uma pasta com todos os arquivos juntos, já consigo "pegar" os dados da session. Isso é normal?
    • Por tony_lu
      Ola pessoal, tenho uma hospedagem de php na hostgator e estou tentando rodar uma rotina com session e esta dando erro, na pagina só tem este código:
       
      <?php  session_start();  ?> E esta dando este erro:
      Warning: session_start(): Cannot send session cache limiter - headers already sent (output started at /home2/sitewww/public_html/carrinho.php:1) in /home2/sitewww/public_html/carrinho.php on line 2
       
      Alguem pode me ajudar?
    • Por Evandrorussi
      Olá pessoal,
       
      Trabalho com PHP a uns 6 anos e me deparei com um problema de session que nunca ouvi falar, pelo menos não encontrei nada pela internet desse tipo. Tenho um servidor dedicado no Google Cloud e o site tem um sistema de login via session. O problema é que a session funciona aleatoriamente, tem hora que não funciona, o cliente troca de tela e o servidor perde a session e pede pra logar novamente, isso não acontece com todos usuários, comigo por exemplo não acontece.
      O cara que trabalha comigo não ocorria esse problema mas agora começou a acontecer e ele reparou que com guia anônima o problema não ocorre.
       
      Caso alguém pergunte, session_start() está iniciando em todas as páginas.
       
      Abraço
       
       
×

Informação importante

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