# \[Livro PHP e MySQL\] Dúvidas em geral

**URL:** <https://forum.casadocodigo.com.br/t/livro-php-e-mysql-duvidas-em-geral/60>\
**Category:** Livros\
**Tags:** php-mysql\
**Created:** [Dezembro 26, 2015, 8:25am UTC](https://forum.casadocodigo.com.br/t/livro-php-e-mysql-duvidas-em-geral/60 "2015-12-26T08:25:50Z")\
**Posts on this page:** 20\
**Page:** 4

<div class="post-metadata">

**Author:** ![evaldojuniorbento](https://yyz1.discourse-cdn.com/flex029/user_avatar/forum.casadocodigo.com.br/evaldojuniorbento/32/2870_2.png) [@evaldojuniorbento](https://forum.casadocodigo.com.br/u/evaldojuniorbento)\
**Post date:** [Dezembro 29, 2016, 8:38pm UTC](https://forum.casadocodigo.com.br/t/livro-php-e-mysql-duvidas-em-geral/60/63 "2016-12-29T20:38:22Z")

</div>

Olá, @AVenciguerra,

Em uma aplicação em produção o servidor do banco de dados provavelmente vai estar separado do servidor da aplicação PHP. Um dos capítulos do livro é sobre come hospedar a aplicação online e esses assuntos são discutidos 🙂

Abraços

---

<div class="post-metadata">

**Author:** ![claudineyjr](https://avatars.discourse-cdn.com/v4/letter/c/9de0a6/32.png) [@claudineyjr](https://forum.casadocodigo.com.br/u/claudineyjr)\
**Post date:** [Maio 1, 2017, 3:07pm UTC](https://forum.casadocodigo.com.br/t/livro-php-e-mysql-duvidas-em-geral/60/64 "2017-05-01T15:07:00Z")

</div>

Tinha colocado uma dúvida aqui, mas era um erro de digitação meu. Apaguei pois não valia a pena, não é a dúvida de outros usuários. Obrigado a todos!

---

<div class="post-metadata">

**Author:** ![evaldojuniorbento](https://yyz1.discourse-cdn.com/flex029/user_avatar/forum.casadocodigo.com.br/evaldojuniorbento/32/2870_2.png) [@evaldojuniorbento](https://forum.casadocodigo.com.br/u/evaldojuniorbento)\
**Post date:** [Maio 4, 2017, 6:29pm UTC](https://forum.casadocodigo.com.br/t/livro-php-e-mysql-duvidas-em-geral/60/65 "2017-05-04T18:29:20Z")

</div>

Ok, legal que você encontrou o problema, @claudineyjr. Muitas vezes isso acontece. Um simples erro de digitação que nos tira do sério 🙂

---

<div class="post-metadata">

**Author:** ![mateuscaldas](https://avatars.discourse-cdn.com/v4/letter/m/7993a0/32.png) [@mateuscaldas](https://forum.casadocodigo.com.br/u/mateuscaldas)\
**Post date:** [Julho 12, 2017, 5:45pm UTC](https://forum.casadocodigo.com.br/t/livro-php-e-mysql-duvidas-em-geral/60/67 "2017-07-12T17:45:09Z")

</div>

boa tarde, gostaria de saber se a resposta para os desafios se encontra em algum lugar??

---

<div class="post-metadata">

**Author:** ![evaldojuniorbento](https://yyz1.discourse-cdn.com/flex029/user_avatar/forum.casadocodigo.com.br/evaldojuniorbento/32/2870_2.png) [@evaldojuniorbento](https://forum.casadocodigo.com.br/u/evaldojuniorbento)\
**Post date:** [Julho 12, 2017, 6:46pm UTC](https://forum.casadocodigo.com.br/t/livro-php-e-mysql-duvidas-em-geral/60/68 "2017-07-12T18:46:54Z")

</div>

Olá, @mateuscaldas. Não as respostas não estão publicadas. Pode ser que alguém tenha publicado, mas não tenho essa informação. Aqui no fórum tem algumas discussões sobre as soluções.

---

<div class="post-metadata">

**Author:** ![FernancoCendretti](https://avatars.discourse-cdn.com/v4/letter/f/7ab992/32.png) [@FernancoCendretti](https://forum.casadocodigo.com.br/u/FernancoCendretti)\
**Post date:** [Novembro 28, 2017, 1:19pm UTC](https://forum.casadocodigo.com.br/t/livro-php-e-mysql-duvidas-em-geral/60/69 "2017-11-28T13:19:45Z")

</div>

Bom dia @evaldojuniorbento , O meu código de conexão com o banco está igual o do livro, porém ao executar ele só está mostrando na tabela os dados numéricos, ou seja a prioridade e a coluna concluida, os que contém texto ele da o seguinte erro:  
Notice: Undefined index: txtNome in C:\xampp\htdocs\tarefas\template.php on line 66  
Como resolver?

---

<div class="post-metadata">

**Author:** ![evaldojuniorbento](https://yyz1.discourse-cdn.com/flex029/user_avatar/forum.casadocodigo.com.br/evaldojuniorbento/32/2870_2.png) [@evaldojuniorbento](https://forum.casadocodigo.com.br/u/evaldojuniorbento)\
**Post date:** [Novembro 28, 2017, 9:03pm UTC](https://forum.casadocodigo.com.br/t/livro-php-e-mysql-duvidas-em-geral/60/70 "2017-11-28T21:03:53Z")

</div>

Verifique se os campos no banco são os mesmos que você está acessando no código.

Você consegue ver os dados direto no PHPMyAdmin?

---

<div class="post-metadata">

**Author:** ![FernancoCendretti](https://avatars.discourse-cdn.com/v4/letter/f/7ab992/32.png) [@FernancoCendretti](https://forum.casadocodigo.com.br/u/FernancoCendretti)\
**Post date:** [Dezembro 12, 2017, 7:34pm UTC](https://forum.casadocodigo.com.br/t/livro-php-e-mysql-duvidas-em-geral/60/71 "2017-12-12T19:34:50Z")

</div>

Era isso mesmo… Eu havia mantido o igual ao name, dos inputs… Obrigado pela ajuda 😊

---

<div class="post-metadata">

**Author:** ![FernancoCendretti](https://avatars.discourse-cdn.com/v4/letter/f/7ab992/32.png) [@FernancoCendretti](https://forum.casadocodigo.com.br/u/FernancoCendretti)\
**Post date:** [Dezembro 12, 2017, 7:37pm UTC](https://forum.casadocodigo.com.br/t/livro-php-e-mysql-duvidas-em-geral/60/72 "2017-12-12T19:37:58Z")

</div>

Boa Tarde @evaldojuniorbento, Apereceu o seguinte erro no meu arquivo template\_tarefa, estou no final do capítulo 10.  
Warning: Illegal string offset ‘nome’

O que poderia ser isso?

---

<div class="post-metadata">

**Author:** ![evaldojuniorbento](https://yyz1.discourse-cdn.com/flex029/user_avatar/forum.casadocodigo.com.br/evaldojuniorbento/32/2870_2.png) [@evaldojuniorbento](https://forum.casadocodigo.com.br/u/evaldojuniorbento)\
**Post date:** [Dezembro 16, 2017, 12:34pm UTC](https://forum.casadocodigo.com.br/t/livro-php-e-mysql-duvidas-em-geral/60/73 "2017-12-16T12:34:14Z")

</div>

Oi, @FernancoCendretti. Parece que você está tentando acessar uma string como se fosse um array. Confere a variável.

---

<div class="post-metadata">

**Author:** ![PhorT](https://avatars.discourse-cdn.com/v4/letter/p/7ba0ec/32.png) [@PhorT](https://forum.casadocodigo.com.br/u/PhorT)\
**Post date:** [Dezembro 27, 2017, 11:15am UTC](https://forum.casadocodigo.com.br/t/livro-php-e-mysql-duvidas-em-geral/60/74 "2017-12-27T11:15:13Z")

</div>

Problemas com FOREACH  
Citar  
**Notice:** Undefined variable: lista\_tarefas in C:\xampp\htdocs\tarefas\template.php on line 25  
**Warning:** Invalid argument supplied for foreach() in C:\xampp\htdocs\tarefas\template.php on line 25  
  
\<?php

```
session_start();
if(isset($_GET['nome'])){
	$_SESSION['lista_tarefas'][]=$_GET['nome'];
}
$lista_tarefas = array();
if(isset($_SESSION['lista_tarefas'])){
	$lista_tarefas = $_SESSION['lista_tarefas']; 
	 //<!-- echo "Nome informado: ". $_GET['nome']; -->
} else{
	$lista_tarefas = array();
}
 include "template.php";

```

?\>

------------ TEMPLATE

 Gerenciador de Tarefas 
# Gerenciador de Tarefas
 Nova Tarefa Tarefa: \<?php foreach ( $lista\_tarefas as $tarefa): ?\> \<?php endforeach; ?\> 

| Tarefas: |
| --- |
| \<?php echo $tarefa; ?\> |

 Descrição (Opcional) Prazo (Opicional) Prioridade: Baixa Média Alta

---

<div class="post-metadata">

**Author:** ![FernancoCendretti](https://avatars.discourse-cdn.com/v4/letter/f/7ab992/32.png) [@FernancoCendretti](https://forum.casadocodigo.com.br/u/FernancoCendretti)\
**Post date:** [Janeiro 2, 2018, 5:43pm UTC](https://forum.casadocodigo.com.br/t/livro-php-e-mysql-duvidas-em-geral/60/76 "2018-01-02T17:43:59Z")

</div>

@evaldojuniorbento, o que na realidade faltava era a colchetes na função de buscar os anexos, Obrigado pela ajuda

---

<div class="post-metadata">

**Author:** ![maraiva](https://avatars.discourse-cdn.com/v4/letter/m/35a633/32.png) [@maraiva](https://forum.casadocodigo.com.br/u/maraiva)\
**Post date:** [Janeiro 10, 2018, 12:14am UTC](https://forum.casadocodigo.com.br/t/livro-php-e-mysql-duvidas-em-geral/60/77 "2018-01-10T00:14:07Z")

</div>

Como faço para acrescentar a porta do servidor do banco de dados??  
Assim:

$bdServidor = ‘localhost’;  
$bdPorta = 8889;  
$bdUsuario = ‘sistematerefas’;  
$bdSenha = ‘sistema’;  
$bdBanco = ‘tarefas’;

$conexao = mysqli\_real\_connect($link, $bdServidor, $bdPorta, $bdUsuario, $bdSenha, $bdBanco);

---

<div class="post-metadata">

**Author:** ![evaldojuniorbento](https://yyz1.discourse-cdn.com/flex029/user_avatar/forum.casadocodigo.com.br/evaldojuniorbento/32/2870_2.png) [@evaldojuniorbento](https://forum.casadocodigo.com.br/u/evaldojuniorbento)\
**Post date:** [Janeiro 10, 2018, 12:12pm UTC](https://forum.casadocodigo.com.br/t/livro-php-e-mysql-duvidas-em-geral/60/78 "2018-01-10T12:12:16Z")

</div>

Olá, @maraiva.

Veja a sequencia dos parametros em [http://php.net/manual/pt\_BR/mysqli.real-connect.php](http://php.net/manual/pt_BR/mysqli.real-connect.php) 🙂

---

<div class="post-metadata">

**Author:** ![maraiva](https://avatars.discourse-cdn.com/v4/letter/m/35a633/32.png) [@maraiva](https://forum.casadocodigo.com.br/u/maraiva)\
**Post date:** [Janeiro 10, 2018, 12:23pm UTC](https://forum.casadocodigo.com.br/t/livro-php-e-mysql-duvidas-em-geral/60/79 "2018-01-10T12:23:26Z")

</div>

Olá, @evaldojuniorbento,

Esse problema eu consegui resolver. Agora estou com outro problema.  
Não estou conseguindo trazer os dados do banco. Já estou com a função buscar\_tarefas pronta e parece q a variável $lista\_tarefas não está recebendo os dados do banco. Já tentei de tudo para tentar resolver e não consegui solucionar. Pode me ajudar??

Códigos: [https://github.com/InFog/phpmysql/issues/2](https://github.com/InFog/phpmysql/issues/2)

---

<div class="post-metadata">

**Author:** ![ricardo.m](https://avatars.discourse-cdn.com/v4/letter/r/bc8723/32.png) [@ricardo.m](https://forum.casadocodigo.com.br/u/ricardo.m)\
**Post date:** [Janeiro 15, 2018, 2:45pm UTC](https://forum.casadocodigo.com.br/t/livro-php-e-mysql-duvidas-em-geral/60/80 "2018-01-15T14:45:44Z")

</div>

Olá @evaldojuniorbento, estou com problemas no capítulo 6, o foreach dentro do arquivo tamplate.php  
não está reconhecendo a variável $lista\_tarefas que está no arquivo tarefas.php.

Na página HTML aparece a seguinte mensagem de erro:

Undefined variable: lista\_tarefas in C:\wamp\www\DesenvolvimentoWebComPHPeMySQL\capitulo5\template.php on line 63

Warning: Invalid argument supplied for foreach() in C:\wamp\www\DesenvolvimentoWebComPHPeMySQL\capitulo5\template.php on line 63

Vi que algumas pessoas do fórum também passaram por isso e resolveram com a dica que você deu.  
Que seria adicionar o código:

if (isset($\_SESSION[‘lista\_tarefas’])) {  
$lista\_tarefas = $\_SESSION[‘lista\_tarefas’];  
} else {  
$lista\_tarefas = array();  
}

No meu caso mesmo fazendo isso não resolve.

* * *

Segue o código de tarefas.php

```
<?php
session_start();
		
if (array_key_exists('nome', $_GET) && $_GET['nome'] != '') {
	$tarefa = [];

	$tarefa['nome'] = $_GET['nome'];

	if (array_key_exists('descricao', $_GET)) {
		$tarefa['descricao'] = $_GET['descricao'];
	} else {
		$tarefa['descricao'] = '';
	}

	if (array_key_exists('prazo', $_GET)) {
		$tarefa['prazo'] = $_GET['prazo'];
	} else {
		$tarefa['prazo'] = '';
	}

	$tarefa['prioridade'] = $_GET['prioridade'];

	if (array_key_exists('concluida', $_GET)) {
		$tarefa['concluida'] = $_GET['concluida'];
	} else {
		$tarefa['concluida'] = '';
	}

	$_SESSION['lista_tarefas'][] = $tarefa;
}

if (isset($_SESSION['lista_tarefas'])) {
	$lista_tarefas = $_SESSION['lista_tarefas'];
} else {
	$lista_tarefas = array();
}

include "template.php";
?>

```

Obs.: Já testei declarando $lista\_tarefas antes do primeiro e o último if, mas não funcionou.

* * *

Segue o código de template.php

```
<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<link rel="stylesheet" type="text/css" href="./CSS/tarefas.css">
		<title>Gerenciador de Tarefas - Capítulo 5</title>
	</head>
	<body>
	<h1>Gerenciador de Tarefas</h1>

	<form>
		<fieldset>
			<legend>Nova Tarefa</legend>
			<label>
				Tarefa: <input type="text" name="nome" />
			</label>

			<label>
				Descrição (opcional): <textarea name="descricao"></textarea>
			</label>

			<label>
				Prazo (opcional):
				<input type="text" name="prazo" />
			</label>

			<fieldset>
				<legend>Prioridade:</legend>
				<label>
					<input type="radio" name="prioridade" value="baixa" checked /> Baixa
					<input type="radio" name="prioridade" value="media" /> Média
					<input type="radio" name="prioridade" value="alta" /> Alta
				</label>
			</fieldset>

			<label>
				Tarefa concluída:
				<input type="checkbox" name="concluida" value="sim" />
			</label>

			<input type="submit" value="Cadastrar" />
		</fieldset>
	</form>

	<table>
		<tr>
			<th>Tarefas</th>
			<th>Descrição</th>
			<th>Prazo</th>
			<th>Prioridade</th>
		</tr>
		<?php foreach ($lista_tarefas as $tarefa) : ?>
			<tr>
				<td><?php echo $tarefa['nome']; ?></td>
				<td><?php echo $tarefa['descricao']; ?></td>
				<td><?php echo $tarefa['prazo']; ?></td>
				<td><?php echo $tarefa['prioridade']; ?></td>
				<td><?php echo $tarefa['concluida']; ?></td>
			</tr>
		<?php endforeach; ?>
	</table>
	</body>
</html>

```

Desde já agraço a ajuda.  
Abraço.

---

<div class="post-metadata">

**Author:** ![evaldojuniorbento](https://yyz1.discourse-cdn.com/flex029/user_avatar/forum.casadocodigo.com.br/evaldojuniorbento/32/2870_2.png) [@evaldojuniorbento](https://forum.casadocodigo.com.br/u/evaldojuniorbento)\
**Post date:** [Janeiro 19, 2018, 8:27pm UTC](https://forum.casadocodigo.com.br/t/livro-php-e-mysql-duvidas-em-geral/60/81 "2018-01-19T20:27:24Z")

</div>

O que acontece se você simplesmente declarar `$lista_tarefas` antes do `include "template.php"`?

---

<div class="post-metadata">

**Author:** ![ricardo.m](https://avatars.discourse-cdn.com/v4/letter/r/bc8723/32.png) [@ricardo.m](https://forum.casadocodigo.com.br/u/ricardo.m)\
**Post date:** [Janeiro 22, 2018, 5:57pm UTC](https://forum.casadocodigo.com.br/t/livro-php-e-mysql-duvidas-em-geral/60/82 "2018-01-22T17:57:53Z")

</div>

Olá @evaldojuniorbento pelo retorno, teste da seguinte maneira.

$lista\_tarefas = $\_SESSION['lista\_tarefas];  
include “template.php”;

e

$lista\_tarefas = [];  
$lista\_tarefas = $\_SESSION['lista\_tarefas];

E o erro persistiu, detalhe os dois arquivos estão no mesmo diretório.  
Não sei se o erro tem alguma relação com o ambiente de desenvolvimento também.  
Estou usando XAMPP com PHP 7 e como editor o Sublime Text 3.

---

<div class="post-metadata">

**Author:** ![evaldojuniorbento](https://yyz1.discourse-cdn.com/flex029/user_avatar/forum.casadocodigo.com.br/evaldojuniorbento/32/2870_2.png) [@evaldojuniorbento](https://forum.casadocodigo.com.br/u/evaldojuniorbento)\
**Post date:** [Janeiro 22, 2018, 6:58pm UTC](https://forum.casadocodigo.com.br/t/livro-php-e-mysql-duvidas-em-geral/60/83 "2018-01-22T18:58:03Z")

</div>

O que acontece se você colocar apenas a linha `$lista_tarefas = []` antes do include template?

---

<div class="post-metadata">

**Author:** ![ricardo.m](https://avatars.discourse-cdn.com/v4/letter/r/bc8723/32.png) [@ricardo.m](https://forum.casadocodigo.com.br/u/ricardo.m)\
**Post date:** [Janeiro 23, 2018, 3:56pm UTC](https://forum.casadocodigo.com.br/t/livro-php-e-mysql-duvidas-em-geral/60/84 "2018-01-23T15:56:21Z")

</div>

Testei da maneira como você exemplificou e continuou com a mesma mensagem.

[Página anterior](https://forum.casadocodigo.com.br/t/livro-php-e-mysql-duvidas-em-geral/60.md?page=3)

[Próxima página](https://forum.casadocodigo.com.br/t/livro-php-e-mysql-duvidas-em-geral/60.md?page=5)
