Solucionado (ver solução)

Importante

Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!

Solucionado
(ver solução)
11
respostas

Estou com dúvida no curso de PHP, MySQL e Fundamentos da Web, no exercício do capítulo Inserindo produtos no banco de dados.

<?php include ("cabecalho.php");?>

<?php $nome = $_GET["nome"]; $email = $_GET["email"]; $telefone = $_GET["telefone"];

======================CONEXAO NO BANCO DE DADOS==================================

$conexao = mysqli_connect('localhost', 'root', '', 'cadClientes');

$query = "INSERT INTO clientes(nome, email, telefone) values ('{$nome}', {$email}, {$telefone})";

if(mysqli_query($conexao, $query)){ ?>

<?php echo $nome; ?>, Cadastro realizado com sucesso! Para confirmação acesse seu e-mail <?php echo $email; ?>

<?php }else{ ?>

<?php echo $nome; ?>, Cadastro não realizado

<?php

} ?>

<?php include ("rodape.php");?>

11 respostas

Qual erro? A principio já vejo uma diferença no INSERT, values... tem chave simples apenas no $nome nos e-mail também deveria ter.

Pois bem, essa é minha dúvida se somente no nome tem as chaves simples ou se nas outra variáveis também?*#$%

solução!

Como $nome e $email são strings, tem que ter aspas simples nos dois.

A query ficaria assim:

$query = "INSERT INTO clientes(nome, email, telefone) values ('{$nome}', '{$email}', {$telefone})";

Valew então só coloco ''aspas simples em Strings? entendi.

Muito Grato

Sim, aspas são usadas só em Strings.

Só para ajudar a entender melhor sobre aspas simples e duplas, segue um exemplo, abç!

Primeiramente armazenar na variável "$valor" um número qualquer, no caso é 3 ''' <?php

$valor=3;

?> Bom, agora nos queremos mostrar o valor que esta dentro desta variável: <?php

echo '$valor';

?> Isso vai funcionar pessoal? …….Não, pois quando utilizamos aspas simples nosso php ele não interpreta o conteúdo de nosso texto, e simplesmente exibe como texto, então o resultado obtido acima sera:

$valor

Mas agora vamos exibir o conteúdo desta nossa variável, que no caso é 3, então vamos utilizar as aspas duplas para o php interpretar o conteúdo deste nosso texto e nos exibir o valor que esta na variável "$valor" como no exemplo: <?php

echo "$valor";

?> Então o resultado obtido será: 3 '''

Galera obrigado mesmo pela ajuda, agora tenho outro problema não sei se alguém consegue ajudar.

Pois bem, estou usando o método de envio _POST ao em vez de _GET mais nas duas formas o meu banco esta aceitando cadastrar sem preenchimento de dos dados HELP, MINHA CONDIÇÃO DE IF FICOU ASSIM:

<?php include ("cabecalho.php");?>

<?php $nome = $_POST["nome"]; $email = $_POST["email"]; $fone = $_POST["fone"];

$conexao = mysqli_connect('localhost', 'root', '', 'cadastro');

$query = "insert into cadastro(nome, email, fone) values ('{$nome}', '{$email}', '{$fone}')";

if(mysqli_query($conexao, $query)){ ?>

<?php echo $nome; ?>, Cadastro realizado com sucesso! Para confirmação acesse seu e-mail <?php echo $email; ?>

<?php }else{ ?>

<?php echo $nome; ?>, Cadastro não realizado

<?php

} ?>

[enter code here][1]

Da uma olhada no link aqui...

Jose, Acho interessante você rever a vídeo aula sobre o assunto. Eu também achei estranho como ele faz a condição para SE TIVER OS DADOS CADASTRA SE NÃO NÃO CADASTRA, até porque precisa de mais função e detalhes para tratar os campos vazios.

Obrigado Ph também acho estranho ta faltando algo mesmo