Dificuldade

22 views
Skip to first unread message

Tresco

unread,
Sep 7, 2016, 6:36:47 PM9/7/16
to PHP MS
Olá boa noite, Comprei um curso de loja virtual e apesar de fazer tudo igual o que esta na vídeo aula uma linha de código esta apresentando o seguinte erro:
Notice: Undefined index: logado in C:\xampp\htdocs\confirmar_pedido.php on line 6

Segue codigo:

<?php
session_start();
$car_pedido = $_SESSION['pedido'];

  if(!isset($_SESSION['logado'])  and  $_SESSION['logado'] =='' ){
 
echo '<center>';
echo '<h2>Precisa estar logado</h2> <br><br>';
echo '<a href="index.php?pag=cadastrar"> Me Cadastrar</a> - <a href="index.php?pag=login"> Fazer Login</a>';
echo '</center>';
 
else
{



require_once('Connections/conn.php'); ?>
<?php


mysql_select_db($database_conn, $conn);
$query_rs = "SELECT * FROM carrinho c, produtos p where c.car_produto = p.pro_id AND c.car_pedido = '$car_pedido'";
$rs = mysql_query($query_rs, $conn) or die(mysql_error());
$row_rs = mysql_fetch_assoc($rs);
$totalRows_rs = mysql_num_rows($rs);
?>

<div>
<h2> Confirmar Pedido</h2>
<hr>
<?php
//com carrinho em produtos
if($totalRows_rs == 0) {
echo '<h2> O Carrinho está Vazio </h2>';
}
//caso exista produtos
else{
?>
<table width="532" border="0">
  <tr>
    <td width="63">&nbsp;</td>
    <td width="72">Produto</td>
    <td width="103">Unitário</td>
    <td width="83">x</td>
    <td width="24">Sub</td>
    <td width="9">&nbsp;</td>
    </tr>
  <?php
  $total = 0;
   do {
$sub = $row_rs['pro_preco'] * $row_rs['car_qtd'];
$total = $total + $sub;
 
  ?>
    <tr>
      <td><?php echo Imagem::MiniaturaPro($row_rs['pro_foto'], 50,50); ?></td>
      <td><?php echo utf8_encode ($row_rs['pro-nome']); ?></td>
      <td><?php echo Sistema::Real($row_rs['pro_preco']); ?></td>
      <td><?php echo $row_rs['car_qtd']; ?></td>
      <td><?php echo Sistema::Real($sub); ?></td>
      <td>&nbsp;</td>
    </tr>
    <?php } while ($row_rs = mysql_fetch_assoc($rs)); ?>
  <tr>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
    <td>&nbsp; </td>
    </tr>
</table>

<hr>
<?php
echo '<h2> Valor Total: R$ ' . Sistema::Real ($total) . '</h2>';
?>
<?php
mysql_free_result($rs);
?>
<hr>

<table width="400" border="0" align="center">
  <tr>
    <td width="153" align="center"><a href="index.php?pag=home_produtos">Continuar Comprando</a></td>
    <td width="137" align="center"><a href="#">Finalizar Pedido</a></td>
  </tr>
</table>
<hr>
</div>


<?php
//fim do else
}
}//fim da verificação do if isset LOGADO

?>
    

José Agripino Duarte

unread,
Sep 7, 2016, 6:56:20 PM9/7/16
to PHP MS
Boa noite. A mensagem de erro já diz tudo. No if da linha 6 O isset() testa se o índice 'logado' existe no array e a segunda condição acessa o índice 'logado' e compara com string vazia. Sugiro trocar as duas condições por empty($_SESSION['logado'])

--
--
Você recebeu esta mensagem porque está inscrito no Grupo "phpms" em Grupos do Google.
As regras de utilização deste grupo encontram-se em: http://www.phpms.org/regras-da-lista
Para postar neste grupo, envie um e-mail para ph...@googlegroups.com
Para cancelar a sua inscrição neste grupo, envie um e-mail para phpms-un...@googlegroups.com
Para ver mais opções, visite este grupo em http://groups.google.com/group/phpms?hl=pt-PT
Para acessar o site do grupo, visite: http://www.phpms.org/

---
Você recebeu essa mensagem porque está inscrito no grupo "PHP MS" dos Grupos do Google.
Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para phpms+un...@googlegroups.com.
Para mais opções, acesse https://groups.google.com/d/optout.
--
Agripino Duarte

Campo Grande - MS. brasil

Felipe Vargas

unread,
Sep 8, 2016, 9:54:38 AM9/8/16
to PHP MS & Cia
Oi,

Na verdade eu acho que o erro é de lógica.

O isset não emite esse tipo de erro, então o problema está na segunda proposição.

Acho que a linha era para ser:
if(!isset($_SESSION['logado'])  or $_SESSION['logado'] =='' ){


A sugestão do Agripino também é válida, iria parar de dar o erro, mas de todo modo acho q tem q arrumar a lógica.

Muda o "E" por "ou", pois acredito que ele quer q entre neste bloco caso não exista a variável de sessão "logado" ou caso ela esteja vazia.


Eu ainda recomendo o uso de "&&" e "||" no lugar de "and" e "or"...


Att.
Felipe V. Rigo

--
--
Você recebeu esta mensagem porque está inscrito no Grupo "phpms" em Grupos do Google.
As regras de utilização deste grupo encontram-se em: http://www.phpms.org/regras-da-lista
Para postar neste grupo, envie um e-mail para ph...@googlegroups.com
Para cancelar a sua inscrição neste grupo, envie um e-mail para phpms-unsubscribe@googlegroups.com

Para ver mais opções, visite este grupo em http://groups.google.com/group/phpms?hl=pt-PT
Para acessar o site do grupo, visite: http://www.phpms.org/

---
Você recebeu essa mensagem porque está inscrito no grupo "PHP MS" dos Grupos do Google.
Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para phpms+unsubscribe@googlegroups.com.
Reply all
Reply to author
Forward
0 new messages