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!