5.2 Adicionando mais informações às tarefas

222 views
Skip to first unread message

JOAQUIM FERREIRA

unread,
Apr 16, 2014, 9:16:16 AM4/16/14
to phpemysqlc...@googlegroups.com
Pessoal, bom dia!
O meu código está dando um erro no foreach:

Warning: Invalid argument supplied for foreach() in C:\xampp\htdocs\casadocodigophp\template.php on line 55

Será que alguém pode me dá uma ajuda, pois não consigo identificar o motivo do erro. 

Meu código template.php:


Meu código tarefa.php:





Evaldo Junior

unread,
Apr 16, 2014, 12:44:05 PM4/16/14
to phpemysqlc...@googlegroups.com
Joaquim.

Você está tentando usar a variável $lista_tarefas, mas esta variável está em $_SESSION['lista_tarefas'].

Evaldo Junior
Site: http://evaldojunior.com.br
Twitter: @InFog9


--
Você recebeu essa mensagem porque está inscrito no grupo quot;Livro PHP e MySQL - Casa do Código" dos Grupos do Google.
Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para phpemysqlcasadoc...@googlegroups.com.
Para mais opções, acesse https://groups.google.com/d/optout.

JOAQUIM FERREIRA

unread,
Apr 16, 2014, 12:53:00 PM4/16/14
to phpemysqlc...@googlegroups.com

Sim, Evaldo. Mas não é assim que está no livro (páginas 48 e 49)?
Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para phpemysqlcasadocodigo+unsub...@googlegroups.com.

Evaldo Junior

unread,
Apr 16, 2014, 12:56:58 PM4/16/14
to phpemysqlc...@googlegroups.com
Estou sem o livro comigo agora =(

Vou verificar e aviso =)

Evaldo Junior
Site: http://evaldojunior.com.br
Twitter: @InFog9


Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para phpemysqlcasadoc...@googlegroups.com.

JOAQUIM FERREIRA

unread,
Apr 16, 2014, 2:23:12 PM4/16/14
to phpemysqlc...@googlegroups.com
Pô Evaldo lá no livro está está um pouco confuso. 

Mas eu descobri o que estava faltando, conforme você falou anteriormente eu estava tentando usar a variável $lista_tarefas, mas esta variável está em $_SESSION['lista_tarefas'].

Então o que eu fiz foi acrescentar o trecho do código abaixo em tarefas.php:

$lista_tarefas = $_SESSION['lista_tarefas'];

E ai funcionou.

Vou Seguir em Frente...kkkk



Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para phpemysqlcasadocodigo+unsubscri...@googlegroups.com.

Para mais opções, acesse https://groups.google.com/d/optout.

Evaldo Junior

unread,
Apr 16, 2014, 2:27:53 PM4/16/14
to phpemysqlc...@googlegroups.com
Legal!

manda ver =)

Evaldo Junior
Site: http://evaldojunior.com.br
Twitter: @InFog9


Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para phpemysqlcasadoc...@googlegroups.com.

Kelvis Rodrigues

unread,
Apr 24, 2014, 6:55:22 PM4/24/14
to phpemysqlc...@googlegroups.com
 Olá, galera, boa noite!
Estou precisando de uma ajuda para resolver o erro que está dando aqui no código,
em princípio deu o mesmo erro que do Joaquim, mas a variavel $lista_tarefas está 
recebendo a variável global $_SESSION['lista_tarefas'], e continua o erro.

1º Variavel não definida: 
Notice: Undefined variable: lista_tarefas in C:\wamp\www\Casa_do_codigo\php\Capitulo 5\5.2\template.php on line 48
2º Argumento invalido para o FOREACH
Warning: Invalid argument supplied for foreach() in C:\wamp\www\Casa_do_codigo\php\Capitulo 5\5.2\template.php on line 48

Evaldo Junior

unread,
Apr 24, 2014, 9:38:53 PM4/24/14
to phpemysqlc...@googlegroups.com
Kelvis,

Você pode colocar seus scripts no pastebin.com? Assim podemos ajudar.

Abraços

Evaldo Junior
Site: http://evaldojunior.com.br
Twitter: @InFog9


--

Kelvis Rodrigues

unread,
Apr 24, 2014, 9:44:28 PM4/24/14
to phpemysqlc...@googlegroups.com
Valeu Evaldo Junior, 
Consegui identificar o erro.
Quero te parabenizar por esse livro, nota 10. 
Muito bem explicado, estou conseguindo acompanhar tranquilo.
                                       Abraços!
 
Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para phpemysqlcasadocodigo+unsub...@googlegroups.com.

Evaldo Junior

unread,
Apr 24, 2014, 9:47:23 PM4/24/14
to phpemysqlc...@googlegroups.com
Legal!

Obrigado :)

Bons estudos!

Evaldo Junior
Site: http://evaldojunior.com.br
Twitter: @InFog9


Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para phpemysqlcasadoc...@googlegroups.com.

Kelvis Rodrigues

unread,
Apr 24, 2014, 10:10:46 PM4/24/14
to phpemysqlc...@googlegroups.com
Olá pessoal,
Depois de quebrar a cabeça para saber o que estava errado no código, em baixo está a forma que fiz,deu certo. 
No livro faltam duas linhas de código:
1->Uma que seria a declaração da array:
 $lista_tarefas = array(); 
2->E a outra que seria a array recebendo os valores:
$lista_tarefas = $_SESSION['lista_tarefas'];
 
Em baixo está meu código: 
    Código tarefas.php:
   Código template.php

Ícaro Pinto

unread,
Sep 10, 2014, 4:31:16 PM9/10/14
to phpemysqlc...@googlegroups.com
Olá Kelvis!

Não está faltando código (pelo menos nesta parte) no livro.
Perceba que na página 44 há esta parte do código (ainda não alterado).
Na página 48 há a continuação desta etapa, onde se lê: "Para isso, vamos alterar aquele if logo após o session_start() e também
seu conteúdo." O que pode ter acontecido (e aconteceu comigo na primeira vez) é ter apagado todo o script abaixo do session_start() e por isso "perdeu" essa parte do código:
if (isset($_SESSION['lista_tarefas'])) {
$lista_tarefas = $_SESSION['lista_tarefas'];
}
else{
$lista_tarefas = array();
}

Bom, o que deveria ser apagado (ou reconstruído) era somente o primeiro IF, por isso a importância de acompanhar as reticências que o autor utilizou.

Espero ter ajudado. 

samuel da silva

unread,
Nov 10, 2018, 5:16:22 PM11/10/18
to Livro PHP e MySQL - Casa do Código
alguem ai pode me ajudar

Genivaldo Santos

unread,
Nov 11, 2018, 1:38:55 PM11/11/18
to samuel...@gmail.com, phpemysqlc...@googlegroups.com
Olá Samuel,

Isso está acontecendo porque vc não tem a variável $lista_tarefas definida.

No arquivo tarefas, depois do fechamento do if, vc pode usar algo como,

$lista_tarefas = []; (isso faz com que vc inicialize a variavel);

Depois...

Vc deve verificar se na seção existe o valor, seria algo assim, 

if (array_key_exists('lista_tarefas', $_SESSION)) {
$lista_tarefas = $_SESSION['lista_tarefas'];
}

Caso retorne true, vc define a variavel $lista_tarefas para o valor que existe na sessão.

Atenciosamente,

Genivaldo Silva

--
Você recebeu essa mensagem porque está inscrito no grupo "Livro PHP e MySQL - Casa do Código" dos Grupos do Google.
Reply all
Reply to author
Forward
0 new messages