Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Olá pessoal;
Bem estava eu, aqui na minha santa ignorância estudando o formulário o qual já enchi muita gente (desculpem o palavriado, mas é uma realidade) e, notei uma coisa.
Quando se abre qualquer que seja string, tag, etc. tem de se fechar... estou certo, a menos que ela por si só se abra e feche sozinha, como por exemplo uma variável, que se faz presente por si mesma, fazendo parte de um todo o qual entra na regra anterior.
Pois bem, eu achei o seguinte no meu form
O postarei todo para seguirmos o pensaento.
<?php
if ($_POST) {
*/
var_dump($a); */// apenas debug para ver se está recuperando todos os campos.
$Mensagem = "
O cliente: $nome \n /com os seguintes dados pessoais:/
Tipo de Cliente: $tipo_cliente \n
Email: $e_mail \n
Telefone: $telefone \n
Celular: $celular\n
Cidade: $cidade - Estado: $uf_pessoal\n
Mensagem: $mensagem\n\n
Mucancas:\n
Porte: $mudanca_tipo\n
Mudanca Tipo: $mudanca_local\n
Data Aproximada: $mudanca_dia - de $mudanca_mes de $mudanca_ano\n
Origem da Mudança: $mudanca_origem_cidade - Estado: $mudanca_uf_origem\n
Destino da Mudança: $mudanca_destino_cidade - Estado: $mudanca_uf_destino\n\n
Midia: $midia\n
Para: $emails
Data: $data = $_date(d/m/Y H:i:s)
IP: $ip = '" . $_SERVER['REMOTE_ADDR'] . "'";
$headers = "From: '" . $_POST['$emails'] . "' . '\r\n' .
Reply-To: '" . $_POST['$emails'] . "' . '\r\n' .
'X-Mailer: PHP/' . phpversion();
mail($emails, $Assunto, $Mensagem, $headers)";
}
?>
Observem isso:
var_dump($a); */// apenas debug para ver se está recuperando todos os campos.
$Mensagem = "
Onde esta o final da Mensagem= "
Ela não está fechada.. Então quando envio pro servidor ele retorna erro nessa mesma linha.
Estarei eu correto:?
Grato desde já;
DPLF
Então, vejamos se estou certo, nesse caso estou utilizando uma STRING onde a mesma abriu aspas duplas significando que os dados contidos no campo deveriam prosseguir como constam no script, o qual pega as variáveis.
Tudo bem, se a minha lógica estiver certa é por isso que está dando problema, não existe um scape, ao menos não o vi no script...
Vou estudar para saber onde por agora a scape para fechar informações e passar adiante.
Obrigadão pela explicação e, espero ter entendido certo.
Abçs;
DPLF
vamos analisar sua variável.
$Mensagem = "
O cliente: $nome \n /com os seguintes dados pessoais:/
Tipo de Cliente: $tipo_cliente \n
Email: $e_mail \n
Telefone: $telefone \n
Celular: $celular\n
Cidade: $cidade - Estado: $uf_pessoal\n
Mensagem: $mensagem\n\n
Mucancas:\n
Porte: $mudanca_tipo\n
Mudanca Tipo: $mudanca_local\n
Data Aproximada: $mudanca_dia - de $mudanca_mes de $mudanca_ano\n
Origem da Mudança: $mudanca_origem_cidade - Estado: $mudanca_uf_origem\n
Destino da Mudança: $mudanca_destino_cidade - Estado: $mudanca_uf_destino\n\n
Midia: $midia\n
Para: $emails
Data: $data = $_date(d/m/Y H:i:s)
IP: $ip = '" . $_SERVER['REMOTE_ADDR'] . "'";
parece que não indica um fim.
o correto seria.
$Mensagem = "
O cliente: $nome \n /com os seguintes dados pessoais:/
Tipo de Cliente: $tipo_cliente \n
Email: $e_mail \n
Telefone: $telefone \n
Celular: $celular\n
Cidade: $cidade - Estado: $uf_pessoal\n
Mensagem: $mensagem\n\n
Mucancas:\n
Porte: $mudanca_tipo\n
Mudanca Tipo: $mudanca_local\n
Data Aproximada: $mudanca_dia - de $mudanca_mes de $mudanca_ano\n
Origem da Mudança: $mudanca_origem_cidade - Estado: $mudanca_uf_origem\n
Destino da Mudança: $mudanca_destino_cidade - Estado: $mudanca_uf_destino\n\n
Midia: $midia\n
Para: $emails\n
Data: $data = $_date(d/m/Y H:i:s)\n
IP: {$_SERVER['REMOTE_ADDR']}";
e mais correto ainda podemos fazer assim
$Mensagem = <<<HTML
O cliente: $nome \n /com os seguintes dados pessoais:/
Tipo de Cliente: $tipo_cliente \n
Email: $e_mail \n
Telefone: $telefone \n
Celular: $celular\n
Cidade: $cidade - Estado: $uf_pessoal\n
Mensagem: $mensagem\n\n
Mucancas:\n
Porte: $mudanca_tipo\n
Mudanca Tipo: $mudanca_local\n
Data Aproximada: $mudanca_dia - de $mudanca_mes de $mudanca_ano\n
Origem da Mudança: $mudanca_origem_cidade - Estado: $mudanca_uf_origem\n
Destino da Mudança: $mudanca_destino_cidade - Estado: $mudanca_uf_destino\n\n
Midia: $midia\n
Para: $emails\n
Data: $data = $_date(d/m/Y H:i:s) \n
IP: {$_SERVER['REMOTE_ADDR']}
HTML;Olá Vinicicus Rangel;
Era isso talvez que eu queria expressar em minha resposta anterior, o que notei foi que a scape não tinha uma razão de ser se não fosse completada no final, achei que como a String pucha às variáveis, deveria haver um espaço entre as linhas finais do php e os dados que se seguiriam dentro da msg. Você fez isso, notou que ela deveria estar separada dessas linhas e, em sua análise não somente mostrou-me onde estava o erro, mas me ensinou como fazer algo limpo e decente.
Estou iniciando no PHP, sei que nadica de nada entendo, a não ser o que tenho fuçado e procurado, gostaria de registrar também que esse tópico não era para que eu viesse a saber o porque não estava funcionando direito e, observando a string notei que não havia fechamento no corpo de envio, mas também não sabia como e onde fechá-lo.
Apenas para mostrar o que aprendi. Eu notei que após todo o corpo de envio, lá na parte do IP, você pegou o final, antes do ";" e fechou com uma aspa... Agora não tem como não dar certo, pois o que vem abaixo é para onde vai e como vai.
Agradeço em muito e, caso eu esteja errado em algum ponto, favror corrigir para que eu posa "entender" o que faço e não mais como muitos fazem, copiar e colar. Creia, já postei muito sobre esse assunto, sei que o mesmo agora está na página 2 do PHP pois são muitos os posts... Mas sinto que com esse fui feliz, visto que sanei minha dúvida.
Obrigado novamente;
DPLF
esta correto, e o jeito que você esta conduzindo o aprendizado é muito bom.
qualquer dúvida estou a disposição por MP é só mandar.
fico feliz em ajudar também.
>
esta correto, e o jeito que você esta conduzindo o aprendizado é muito bom.
qualquer dúvida estou a disposição por MP é só mandar.
fico feliz em ajudar também.
Boa Vinicius, vamos incentivar essa galera que está começando, daqui a pouco será um de nós. ahhahah
e é um ciclo enquanto eles tentam chegar até onde estamos nós estamos tentando chegar ao Prog, Willians que são mods bem renomados e não vou falar todos por que é tenso e eles tentam chegar a outras pessoas e assim vai.
Olá pessoal...
Não tenho como agradecer, o que eu quero é somente aprender, somente isso, eu criei um post exatamente falando sobre a falta de didática existente nos tutoriais, apostilas e livros.
Onde digo que o PHPês deve existir sim mas junto com uma aprendizagem constante, não adianta "dizer que sabe" e como li em um tópico aqui ... a pessoa chega e fala "comandos". Mas como iniciante, eu vejo assim. As formas de expressar-mo-nos são diferentes e, variam até dentro desse Brasil onde estão contidos vários Brasils, cada um com sua maneira de entender. Vou citar um exemplo não nacional, mas trazendo para o português... Em Portugal se fala o português, aqui também. Mas se um brasileiro vai pra lá e mandam ele entrar naquela "bicha" lógico que ele irá estranhar, pois bicha aqui tem outra conotação, significa algo completamente diferente, agora se explicado ao mesmo que bicha em Portugal nada mais é do que uma fila, aí dá para entender.
A mesma coisa acontece com as linguagens (em específico o PHP), se começamos a falar logo de início de Strings, valores bolenos, escapes, array e etc. Nós iniciantes nunca iremos encontrar uma string perdida no meio de uma array a qual não fora fechada por uma escape... Creio eu que a didática deve sim ser mais do que importante nesse caso. Explicar como acima fora dito o que é uma STRING, que os valores dela variam conforme se a constrói, podendo ou não ser booleanos. Isso sim é importante e, não se encontram em livros
Agora, quando encontramos gente como vocês, que explicam mesmo que nos expressemos mau, mas tentam explicar mesmo o que é que é o que, a coisa fica mais fácil.
Grato por tudo;
DPLF
primeiro passo é saber separar o que é HTML e o que é PHP.
o HTML é linguagem de marcação e nele não existe String e variáveis.
o PHP é uma linguagem server-side, ou seja, funciona do lado do servidor com as informações que o propio fornece não existindo TAG'S
a regra é bem clara para ambos, no HTML todas as tag's se fecham.
Tudo isso é independente de como mais todas se fecham.
tudo isso é igual a qualquer aspas, ela vai identificar alguma marcação especial no seu bloco no caso da imagem o SRC
que define o caminho da imagem.
o PHP recebe tipo de dados diferentes, pode ser boolean (true or false), String e inteiro.
acontece que quando se trabalha com String é necessário fechar e abrir aspas, seja dupla ou simples.
a diferença entra as duas é que a aspas duplas pode receber uma variável e a simples não
Exemplo:
Saída: Meu nome é $nome
___________________________
Saída: Meu nome é Vinicius
perceba que em ambos exemplos eu abri e fechei as aspas de forma que identifiquei o termino da String pois na mesma variável eu posso juntar uma String com inteiro e o ponto e virgula para finalizar a variável.
no seu exemplo mais especifico é necessário identificar o término da variável mensagem.
quando se há aspas dentro de uma string é necessário usar a barra invertida(escape) para que ela possa aparecer de forma natural sem interpretar aquilo como uma String.
espero ter ajudado