Sistema feito em PHP e MySql, parou de funcionar após atualização da versão do PHP

1. Sistema feito em PHP e MySql, parou de funcionar após atualização da versão do PHP

carlos castillo
carcasa67

(usa Outra)

Enviado em 13/05/2016 - 16:12h

Meus caros, não sou programador. Portanto quero pedir ajuda de quem sabe de PHP e Mysql.

Estou com um problema, o meu hosting mudou a versão do PHP e o sistema de catalogo de produtos não mostra mais as imagens dos produtos: Ai não sei o que fazer agora!
Aparece a mensagem:

Erro no Banco (Sem Dados para Exibir)

O arquivo que exibe as categorias é este abaixo: categorias.php

<? include "config.php"; ?>
<?

if ($id_categoria != "") { $sqla = " AND p.id_categoria=$id_categoria"; }

if ($id_subcategoria != "") { $qsql = " AND id_subcategoria=$id_subcategoria "; $sqla.= " AND p.id_subcategoria=$id_subcategoria "; }

?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">

<head>

<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />

<title><? echo $NomeSite; ?></title>

<style type="text/css">

<!--

body {

margin-left: 0px;

margin-top: 0px;

margin-right: 0px;

margin-bottom: 0px;

scrollbar-face-color: #ffffff;

scrollbar-shadow-color: #008A5A;

scrollbar-highlight-color: #008A5A;

scrollbar-3dlight-color: #008A5A;

scrollbar-darkshadow-color: #008A5A;

scrollbar-track-color: #f3f3f3;

scrollbar-arrow-color: #008A5A;

background-image: url(bg-enquete2010.jpg);

}

-->

</style>

<link href="estilo.css" rel="stylesheet" type="text/css" />
<link href="estilocar.css" rel="stylesheet" type="text/css" />
<link href="css.css" rel="stylesheet" type="text/css" />
<link href="css_loja.css" rel="stylesheet" type="text/css" />
<style type="text/css">
<!--

.style1 {

font-size: 14;
font-weight: bold;

}

-->

</style>
</head>

<body>

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

<tr>

</tr>

</table>

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

<!--DWLayoutTable-->

<tr>

<td width="601" height="30" valign="top"><table width="100%" border="0" cellpadding="0" cellspacing="0" class="prod_cat">



<!--DWLayoutTable-->



<tr>



<td width="105" height="28" background="bg-enquete2010.jpg"><div align="center"><strong>Produtos em </strong></div></td>



<td width="375" background="bg-enquete2010.jpg"><span class="tx_verdana_10_preto"><? echo " <img src='images/ico_seta.gif' width='11' height='7' border='0' /> ".mysql_result(mysql_query("SELECT categoria FROM categorias WHERE id_categoria=$id_categoria"),0,categoria); ?>



<? if ($id_subcategoria != "") echo " <img src='images/seta.gif' width='11' height='7' border='0' /> ".mysql_result(mysql_query("SELECT subcategoria FROM subcategorias WHERE id_subcategoria=$id_subcategoria"),0,subcategoria); ?>



</span></td>



<td width="127" background="bg-enquete2010.jpg" class="tx_verdana_cat">Produtos Encontrados: </td>



<td width="180" align="center" class="tx_verdana_10_preto">



<?

// PAGINA??O IN?CIO
if ($pagina=="") $pagina=1;

$mensagens_por_pagina = 8; // Aqui diz qual a quantidade de registros por página você vai querer exibir //

$inicio = ($pagina-1)*$mensagens_por_pagina;

$sql = mysql_query("SELECT * FROM produtos WHERE id_categoria=$id_categoria $qsql ");

$id=$id;

$total = mysql_num_rows($sql);

$num_paginas = intval($total/$mensagens_por_pagina);



?>

<span class="tx_verdana_10_preto">

<? echo $total;?>
</span></td>
</tr>
</table></td>
</tr>
<tr>
<td height="111" valign="top">

<?
// PAGINAçaO FIM


$sql = mysql_query("SELECT * FROM produtos WHERE id_categoria=$id_categoria $qsql ORDER BY id_produto asc LIMIT $inicio,$mensagens_por_pagina") or die ("<span class=tx_verdana_branco_10>Erro no Banco (Sem Dados para Exibir)</span>");

if (mysql_num_rows($sql) > 0) {

while ($coluna = mysql_fetch_array($sql)) {

?>

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

<!--DWLayoutTable-->

<tr>

<?
while ($i < mysql_num_rows($sql))
{
?>

<td width="111" height="57" valign="top"><table width="100%" border="1" cellpadding="0" cellspacing="2" bordercolor="#999999" bgcolor="#FFFFFF">

<tr>

<td bordercolor="#FFFFFF"><table width="111" border="0" cellpadding="0" cellspacing="0">
<!--DWLayoutTable-->
<tr>

<td width="111" height="18" align="center"><a class="tx_verdana_10_pretosim" href="detalhe_prod.php?id=<? echo @mysql_result($sql,$i,id_produto); ?>">


<? if (@mysql_result($sql,$i,foto) != "") { echo "<img src=produtos/p_".@mysql_result($sql,$i,foto)." border=0 align='center' valign='top'>"; }
?>

</a></td>

</tr>
<tr>
<td height="21" align="center" valign="top" class="tx_verdana_10_pretosim"><a class="tx_verdana_10_pretosim" href="detalhe_prod.php?id=<? echo @mysql_result($sql,$i,id_produto); ?>"> <? echo "<br>".@mysql_result($sql,$i,produto); ?></a></td>

</tr>
<tr>
<td height="18" align="center" valign="top" class="tx_verdana_bordo">

<?
// Chamada para Pre&ccedil;o Antigo, se houver


if (@mysql_result($sql,$i,por)<="0" or @mysql_result($sql,$i,por) == @mysql_result($sql,$i,preco) ) {echo " ";}

else {echo "<span class='tx_verdana_vermelho_sem_risco'>De: R$&nbsp;</span><span class='tx_verdana_vermelho_riscada'>".@mysql_result($sql,$i,por)."</span><br>";}



// Chamada para o Pre&ccedil;o Final ou da Promo&ccedil;&atilde;o, Caso o valor do produto seja igual ou inferior a zero, mostrar&aacute; a mensagem: Consulte

if (@mysql_result($sql,$i,preco)<="0") {echo "Consulte";} else { echo "Por: R$&nbsp;".@mysql_result($sql,$i,preco);}
?>

</span> </td>
</tr>
</table></td>
</tr>
</table></td>
<td width="490">&nbsp;</td>

<?
$i++;

if ($i%4 == 0) echo "</tr>";

}
?>

</tr>

<? }

$i = 0;
?>

</table>

<div align="center" style="background:#EBEBEB" >

<?
if(($pagina-1)!=0) {
?>


<a href="?pagina=<? echo $pagina-1; ?>&id_categoria=<?=$id_categoria?>&id_subcategoria=<?=$id_subcategoria?>" class='tx_verdana_10_preto'>&lsaquo;&lsaquo;[ Anterior ]</a>


<? } if($pagina <= $num_paginas) { ?>



<a href="?pagina=<? echo $pagina+1; ?>&id_categoria=<?=$id_categoria?>&id_subcategoria=<?=$id_subcategoria?>" class='tx_verdana_10_preto'>[ Próxima ]&rsaquo;&rsaquo;</a></div>


<?

}

?>



<? // LISTA DAS P?GINAS INICIO

echo "<div align=center><span class='tx_verdana_bordo'>|</span> ";

for ($i = 1; $i <= ($num_paginas+1); $i++) {

if ($i == ($pagina)) { echo " <span class='tx_verdana_bordo'><b>$i</b> |</span> "; }

else { echo "<a class='tx_verdana_10_preto' href='?pagina=$i&id_categoria=$id_categoria&id_subcategoria=$id_subcategoria'>$i</a><span class='tx_verdana_bordo'> | </span>"; }

}

echo "</div>";

// LISTA DAS P?GINAS FIM

?>

<? } ?> </td>

</tr>
<tr>
<td height="59" align="center" valign="top">
</tr>
<tr><td height="12" valign="top">&nbsp;</td>
</tr>
</table>
</body>
</html>


VOCÊS PODEM ME AJUDAR POR FAVOR!!!


  


2. Aqui o arquivo erro_log de hoje!

carlos castillo
carcasa67

(usa Outra)

Enviado em 13/05/2016 - 16:15h

Pessoal, abri o arquivo de erro_log e achei isso aqui, por se adianta para vocÇes:

[13-May-2016 15:46:39] PHP Stack trace:
[13-May-2016 15:46:39] PHP 1. {main}() /home/wwwkeka/public_html/catalogo/categorias.php:0
[13-May-2016 15:47:34] PHP Notice: Undefined variable: id_categoria in /home/wwwkeka/public_html/catalogo/categorias.php on line 5
[13-May-2016 15:47:34] PHP Stack trace:
[13-May-2016 15:47:34] PHP 1. {main}() /home/wwwkeka/public_html/catalogo/categorias.php:0
[13-May-2016 15:47:34] PHP Notice: Undefined variable: id_subcategoria in /home/wwwkeka/public_html/catalogo/categorias.php on line 7
[13-May-2016 15:47:34] PHP Stack trace:
[13-May-2016 15:47:34] PHP 1. {main}() /home/wwwkeka/public_html/catalogo/categorias.php:0
[13-May-2016 15:47:34] PHP Notice: Undefined variable: id_categoria in /home/wwwkeka/public_html/catalogo/categorias.php on line 109
[13-May-2016 15:47:34] PHP Stack trace:
[13-May-2016 15:47:34] PHP 1. {main}() /home/wwwkeka/public_html/catalogo/categorias.php:0
[13-May-2016 15:47:34] PHP Notice: Use of undefined constant categoria - assumed 'categoria' in /home/wwwkeka/public_html/catalogo/categorias.php on line 109
[13-May-2016 15:47:34] PHP Stack trace:
[13-May-2016 15:47:34] PHP 1. {main}() /home/wwwkeka/public_html/catalogo/categorias.php:0
[13-May-2016 15:47:34] PHP Warning: mysql_result(): supplied argument is not a valid MySQL result resource in /home/wwwkeka/public_html/catalogo/categorias.php on line 109
[13-May-2016 15:47:34] PHP Stack trace:
[13-May-2016 15:47:34] PHP 1. {main}() /home/wwwkeka/public_html/catalogo/categorias.php:0
[13-May-2016 15:47:34] PHP 2. mysql_result() /home/wwwkeka/public_html/catalogo/categorias.php:109
[13-May-2016 15:47:34] PHP Notice: Undefined variable: id_subcategoria in /home/wwwkeka/public_html/catalogo/categorias.php on line 113
[13-May-2016 15:47:34] PHP Stack trace:
[13-May-2016 15:47:34] PHP 1. {main}() /home/wwwkeka/public_html/catalogo/categorias.php:0
[13-May-2016 15:47:34] PHP Notice: Undefined variable: pagina in /home/wwwkeka/public_html/catalogo/categorias.php on line 132
[13-May-2016 15:47:34] PHP Stack trace:
[13-May-2016 15:47:34] PHP 1. {main}() /home/wwwkeka/public_html/catalogo/categorias.php:0
[13-May-2016 15:47:34] PHP Notice: Undefined variable: id_categoria in /home/wwwkeka/public_html/catalogo/categorias.php on line 138
[13-May-2016 15:47:34] PHP Stack trace:
[13-May-2016 15:47:34] PHP 1. {main}() /home/wwwkeka/public_html/catalogo/categorias.php:0
[13-May-2016 15:47:34] PHP Notice: Undefined variable: qsql in /home/wwwkeka/public_html/catalogo/categorias.php on line 138
[13-May-2016 15:47:34] PHP Stack trace:
[13-May-2016 15:47:34] PHP 1. {main}() /home/wwwkeka/public_html/catalogo/categorias.php:0
[13-May-2016 15:47:34] PHP Notice: Undefined variable: id in /home/wwwkeka/public_html/catalogo/categorias.php on line 140
[13-May-2016 15:47:34] PHP Stack trace:
[13-May-2016 15:47:34] PHP 1. {main}() /home/wwwkeka/public_html/catalogo/categorias.php:0
[13-May-2016 15:47:34] PHP Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /home/wwwkeka/public_html/catalogo/categorias.php on line 142
[13-May-2016 15:47:34] PHP Stack trace:
[13-May-2016 15:47:34] PHP 1. {main}() /home/wwwkeka/public_html/catalogo/categorias.php:0
[13-May-2016 15:47:34] PHP 2. mysql_num_rows() /home/wwwkeka/public_html/catalogo/categorias.php:142
[13-May-2016 15:47:34] PHP Notice: Undefined variable: id_categoria in /home/wwwkeka/public_html/catalogo/categorias.php on line 164
[13-May-2016 15:47:34] PHP Stack trace:
[13-May-2016 15:47:34] PHP 1. {main}() /home/wwwkeka/public_html/catalogo/categorias.php:0
[13-May-2016 15:47:34] PHP Notice: Undefined variable: qsql in /home/wwwkeka/public_html/catalogo/categorias.php on line 164
[13-May-2016 15:47:34] PHP Stack trace:
[13-May-2016 15:47:34] PHP 1. {main}() /home/wwwkeka/public_html/catalogo/categorias.php:0
[13-May-2016 15:47:36] PHP Notice: Undefined variable: id_categoria in /home/wwwkeka/public_html/catalogo/categorias.php on line 5
[13-May-2016 15:47:36] PHP Stack trace:
[13-May-2016 15:47:36] PHP 1. {main}() /home/wwwkeka/public_html/catalogo/categorias.php:0
[13-May-2016 15:47:36] PHP Notice: Undefined variable: id_subcategoria in /home/wwwkeka/public_html/catalogo/categorias.php on line 7
[13-May-2016 15:47:36] PHP Stack trace:
[13-May-2016 15:47:36] PHP 1. {main}() /home/wwwkeka/public_html/catalogo/categorias.php:0
[13-May-2016 15:47:36] PHP Notice: Undefined variable: id_categoria in /home/wwwkeka/public_html/catalogo/categorias.php on line 109
[13-May-2016 15:47:36] PHP Stack trace:
[13-May-2016 15:47:36] PHP 1. {main}() /home/wwwkeka/public_html/catalogo/categorias.php:0
[13-May-2016 15:47:36] PHP Notice: Use of undefined constant categoria - assumed 'categoria' in /home/wwwkeka/public_html/catalogo/categorias.php on line 109
[13-May-2016 15:47:36] PHP Stack trace:
[13-May-2016 15:47:36] PHP 1. {main}() /home/wwwkeka/public_html/catalogo/categorias.php:0
[13-May-2016 15:47:36] PHP Warning: mysql_result(): supplied argument is not a valid MySQL result resource in /home/wwwkeka/public_html/catalogo/categorias.php on line 109
[13-May-2016 15:47:36] PHP Stack trace:
[13-May-2016 15:47:36] PHP 1. {main}() /home/wwwkeka/public_html/catalogo/categorias.php:0
[13-May-2016 15:47:36] PHP 2. mysql_result() /home/wwwkeka/public_html/catalogo/categorias.php:109
[13-May-2016 15:47:36] PHP Notice: Undefined variable: id_subcategoria in /home/wwwkeka/public_html/catalogo/categorias.php on line 113
[13-May-2016 15:47:36] PHP Stack trace:
[13-May-2016 15:47:36] PHP 1. {main}() /home/wwwkeka/public_html/catalogo/categorias.php:0
[13-May-2016 15:47:36] PHP Notice: Undefined variable: pagina in /home/wwwkeka/public_html/catalogo/categorias.php on line 132
[13-May-2016 15:47:36] PHP Stack trace:
[13-May-2016 15:47:36] PHP 1. {main}() /home/wwwkeka/public_html/catalogo/categorias.php:0
[13-May-2016 15:47:36] PHP Notice: Undefined variable: id_categoria in /home/wwwkeka/public_html/catalogo/categorias.php on line 138
[13-May-2016 15:47:36] PHP Stack trace:
[13-May-2016 15:47:36] PHP 1. {main}() /home/wwwkeka/public_html/catalogo/categorias.php:0
[13-May-2016 15:47:36] PHP Notice: Undefined variable: qsql in /home/wwwkeka/public_html/catalogo/categorias.php on line 138
[13-May-2016 15:47:36] PHP Stack trace:
[13-May-2016 15:47:36] PHP 1. {main}() /home/wwwkeka/public_html/catalogo/categorias.php:0
[13-May-2016 15:47:36] PHP Notice: Undefined variable: id in /home/wwwkeka/public_html/catalogo/categorias.php on line 140
[13-May-2016 15:47:36] PHP Stack trace:
[13-May-2016 15:47:36] PHP 1. {main}() /home/wwwkeka/public_html/catalogo/categorias.php:0
[13-May-2016 15:47:36] PHP Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /home/wwwkeka/public_html/catalogo/categorias.php on line 142
[13-May-2016 15:47:36] PHP Stack trace:
[13-May-2016 15:47:36] PHP 1. {main}() /home/wwwkeka/public_html/catalogo/categorias.php:0
[13-May-2016 15:47:36] PHP 2. mysql_num_rows() /home/wwwkeka/public_html/catalogo/categorias.php:142
[13-May-2016 15:47:36] PHP Notice: Undefined variable: id_categoria in /home/wwwkeka/public_html/catalogo/categorias.php on line 164
[13-May-2016 15:47:36] PHP Stack trace:
[13-May-2016 15:47:36] PHP 1. {main}() /home/wwwkeka/public_html/catalogo/categorias.php:0
[13-May-2016 15:47:36] PHP Notice: Undefined variable: qsql in /home/wwwkeka/public_html/catalogo/categorias.php on line 164
[13-May-2016 15:47:36] PHP Stack trace:
[13-May-2016 15:47:36] PHP 1. {main}() /home/wwwkeka/public_html/catalogo/categorias.php:0


3. Re: Sistema feito em PHP e MySql, parou de funcionar após atualização da versão do PHP

Paulo Dias
di4s

(usa XUbuntu)

Enviado em 13/05/2016 - 20:08h

Oi, tudo bem?

Se foi atualizado para php7, o problema eh devido ao uso das funções mysql_*

Essas funções finalmente foram retiradas...

Além disso, esse código eh vulnerável a sql injection.

Linux Professional Institute - LPIC-1
Novell Certified Linux Administrator - CLA

http://twitter.com/p4ulodi4s
http://www.prminformatica.com.br/


4. O que fazer para funcionar de novo?

carlos castillo
carcasa67

(usa Outra)

Enviado em 14/05/2016 - 08:58h

Olá, 1º muito grato pela generosa resposta.

A versão foi a 5,4, mas o banco se comunica ne? Somente nao aparecem as imagens.

Pergunto, e agora, como fazer para que volte a funcionar como estava??




5. Re: Sistema feito em PHP e MySql, parou de funcionar após atualização da versão do PHP

Paulo Dias
di4s

(usa XUbuntu)

Enviado em 14/05/2016 - 10:31h

Oi.

Bom, se não é PHP, as funções mysql deveriam funcionar, ainda que o seu uso não seja recomendado.

Vejo que algumas variáveis não foram inicializadas. Por exemplo, a variável id_categoria é testada no IF sem ter sido inicializada... Essa variável aparece na url quando você acessa a página?

Se sim, pode ser que o código faça uso de um recurso chamado register_globals( outra prática ruim), que foi retirado no php 5.4 . veja esse link para tentar arrumar:

http://php.net/manual/pt_BR/language.variables.external.php

Agora, se você realmente usa esse código no site da sua empresa, considere procurar um desenvolvedor para corrigir as falhas ou criar um novo.

Linux Professional Institute - LPIC-1
Novell Certified Linux Administrator - CLA

http://twitter.com/p4ulodi4s
http://www.prminformatica.com.br/


6. Obrigado!!

carlos castillo
carcasa67

(usa Outra)

Enviado em 14/05/2016 - 11:31h

Ok, muito obrigado, acho pertinente rever a segurança no sistema, vou viabilizar criar um novo sistema.

COnsegui sanar o problema.

No 'register globals' mudei para "ON" e voltou ao normal...

Mas, no admin, para inserir novos produtos já não está funcionando mais.. deve ser pelo que vc me avisou antes.

Valeu pela força!






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts