Ir para conteúdo

POWERED BY:

Arquivado

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

henrique.phpbr

PHP 5.4.4 não tem register_globals ?

Recommended Posts

Pessoal,

 

Criei o arquivo phpinfo.php com o conteúdo abaixo:

 

<?php

phpinfo();

?>

 

E observei que nesta versão do PHP ( Version 5.4.4-14 ) não há opção register_globals.

 

Qual é a outra alternativa que substitui?

 

Obrigado

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tornou-se obsoleta no PHP 5.3, e foi removeida no PHP 5.4 +

 

http://www.php.net/manual/pt_BR/ini.core.php#ini.register-globals

 

 

Qual é a outra alternativa que substitui?

Faça da maneira correta, recupera os valores utilizando as super globais $_POST, $_GET, $_COOKIE, $_SESSION etc

 

$nome = $_GET['nome'];

$nome = $_POST['nome'];

 

E assim vai...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Jonas

 

Você pode me ajudar, olha meu código abaixo nesta nova versão do PHP eu quando mando editar u registro a página fica em branco não trás nenhum valor poderia por gentileza me dar uma luz referente ao meu código abaixo?

 

obrigado!

 

<?
include ("include/conexao.php");
?>
<form method="post" action="db_edit.php?id=$id" enctype="multipart/form-data"><?
require_once("include/conexao.php");

$sql = "SELECT * FROM transacao";

$query = @mysql_query($sql);

if (!$query){
die ("Database error!");
} else {

while ($coluna = @mysql_fetch_array($query)){

$id = $coluna["id"];
$transacao = $coluna["transacao"];
$responsavel = $coluna["responsavel"];
$descricao = $coluna["descricao"];
$modulo = $coluna["modulo"];

switch ($register) {
case "$id":

?><br />
  <table width="646" border="0" align="center" cellspacing="1">
    <tr>
      <td height="30" colspan="6" bgcolor="#CA0000"><div align="center" class="style40">EDITAR TRANSAÇÃO</div></td>
    </tr>
    <tr>
      <td height="26"> </td>
      <td height="26" colspan="5"> </td>
    </tr>
    <tr>
      <td width="25%" height="26"><div align="center"><span class="style33">Transação</span></div></td>
      <td width="75%" height="26" colspan="5"><div align="left">
          <input name="transacao_n" type="text" value="<?php echo $transacao ?>" class="inputField2" id="transacao_n" tabindex="16" onfocus="hilite(event)" onblur="removeHilite(event)" size="100" />
      </div></td>
    </tr>
    <tr>
      <td height="26"><div align="center"><span class="style33">Responsável</span></div></td>
      <td height="26" colspan="5"><div align="left">
          <input name="responsavel_n" type="text" value="<?php echo $responsavel ?>" class="inputField2" id="reponsavel_n" tabindex="12" onfocus="hilite(event)" onblur="removeHilite(event)" size="100" />
      </div></td>
    </tr>
    <tr>
      <td height="26"><div align="center"><span class="style33">Descrição</span></div></td>
      <td height="26" colspan="5"><input name="descricao_n" type="text" value="<?php echo $descricao ?>" class="inputField2" id="descricao_n" tabindex="13" onfocus="hilite(event)" onblur="removeHilite(event)" size="100" /></td>
    </tr>
    <tr>
      <td height="26"><div align="center"><span class="style33">Descrição</span></div></td>
      <td height="26" colspan="5"><div align="left">
        <input name="modulo_n" type="text" value="<?php echo $modulo ?>" class="inputField2" id="modulo_n" tabindex="13" onfocus="hilite(event)" onblur="removeHilite(event)" size="100" />
      </div></td>
    </tr>
    <tr>
      <td height="26" colspan="6"><div align="center"><span class="adm">
        <input type="hidden" name="id" value="<? echo $id; ?>" />
      </span></div></td>
    </tr>
    <tr>
      <td colspan="6"><div align="center">
          <input name="submit" type="image" id="submit" value="OK" src="imagens/edit.png" border="0" />
      </div></td>
    </tr>
  </table>
  '
  <div align="center"><br />
    <?
}
}
}
?>
  </div>
</form>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tire esses arrobas (@), assim você nunca vai saber o que está acontecendo de errado no teu sistema... Tente deixar o formulário assim:

<? 
include ("include/conexao.php"); 
$id = (int)$_GET['id'];
?>
<form method="post" action="db_edit.php?id=<?php echo $id; ?>" enctype="multipart/form-data">

Perceba que você tenta acessar o ID diretamente pela variável $id. Isto funcionava por causa do Register Globals (argh). Agora, para acessar, você precisa usar as super globais... Se o valor que quer recuperar está na URL, então use o $_GET:

$id = $_GET['id'];

Compartilhar este post


Link para o post
Compartilhar em outros sites

Jonas,

 

Me ajuda.. como ficaria a parte do while?

 

ATUAL

if (!$query){
die ("Database error!");
} else {

while ($coluna = @mysql_fetch_array($query)){

$id = $coluna["id"];
$transacao = $coluna["transacao"];
$responsavel = $coluna["responsavel"];
$descricao = $coluna["descricao"];
$modulo = $coluna["modulo"];

DEPOIS

* mas não funcionou...

if (!$query){
die ("Database error!");
} else {

while ($coluna = @mysql_fetch_array($query)){

$id = $_GET['id'];
$transacao = $_GET['transacao'];
$responsavel = $_GET['responsavel'];
$descricao = $_GET['descricao'];
$modulo = $_GET['modulo'];

Compartilhar este post


Link para o post
Compartilhar em outros sites

<p>Boa Tarde Henrique,</p>

<p> </p>

<ul>

<li>A váriavel $coluna não tem nada a ver com o $_GET pois o $_GET que vem da url</li>

<li>A váriavel $coluna vem do banco de dados (o resultado da consulta)</li>

<li>Você NÃO precisa substituir $coluna por $_GET</li>

</ul>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Amigo, as respostas já estão todas aí... Faça a alteração no formulário de acordo com meu post #4 e deixe o while como já estava.

 

 

<?
include ("include/conexao.php");
$id = (int)$_GET['id'];
?>
<form method="post" action="db_edit.php?id=<?php echo $id; ?>" enctype="multipart/form-data"><?
require_once("include/conexao.php");

$sql = "SELECT * FROM transacao";

$query = @mysql_query($sql);

if (!$query){
die ("Database error!");
} else {

while ($coluna = @mysql_fetch_array($query)){

$id = $coluna["id"];
$transacao = $coluna["transacao"];
$responsavel = $coluna["responsavel"];
$descricao = $coluna["descricao"];
$modulo = $coluna["modulo"];

switch ($register) {
case "$id":

?><br />
  <table width="646" border="0" align="center" cellspacing="1">
    <tr>
      <td height="30" colspan="6" bgcolor="#CA0000"><div align="center" class="style40">EDITAR TRANSAÇÃO</div></td>
    </tr>
    <tr>
      <td height="26"> </td>
      <td height="26" colspan="5"> </td>
    </tr>
    <tr>
      <td width="25%" height="26"><div align="center"><span class="style33">Transação</span></div></td>
      <td width="75%" height="26" colspan="5"><div align="left">
          <input name="transacao_n" type="text" value="<?php echo $transacao ?>" class="inputField2" id="transacao_n" tabindex="16" onfocus="hilite(event)" onblur="removeHilite(event)" size="100" />
      </div></td>
    </tr>
    <tr>
      <td height="26"><div align="center"><span class="style33">Responsável</span></div></td>
      <td height="26" colspan="5"><div align="left">
          <input name="responsavel_n" type="text" value="<?php echo $responsavel ?>" class="inputField2" id="reponsavel_n" tabindex="12" onfocus="hilite(event)" onblur="removeHilite(event)" size="100" />
      </div></td>
    </tr>
    <tr>
      <td height="26"><div align="center"><span class="style33">Descrição</span></div></td>
      <td height="26" colspan="5"><input name="descricao_n" type="text" value="<?php echo $descricao ?>" class="inputField2" id="descricao_n" tabindex="13" onfocus="hilite(event)" onblur="removeHilite(event)" size="100" /></td>
    </tr>
    <tr>
      <td height="26"><div align="center"><span class="style33">Descrição</span></div></td>
      <td height="26" colspan="5"><div align="left">
        <input name="modulo_n" type="text" value="<?php echo $modulo ?>" class="inputField2" id="modulo_n" tabindex="13" onfocus="hilite(event)" onblur="removeHilite(event)" size="100" />
      </div></td>
    </tr>
    <tr>
      <td height="26" colspan="6"><div align="center"><span class="adm">
        <input type="hidden" name="id" value="<? echo $id; ?>" />
      </span></div></td>
    </tr>
    <tr>
      <td colspan="6"><div align="center">
          <input name="submit" type="image" id="submit" value="OK" src="imagens/edit.png" border="0" />
      </div></td>
    </tr>
  </table>
  '
  <div align="center"><br />
    <?
}
}
}
?>
  </div>
</form>

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.