DGP_Maluco Posted June 6, 2012 at 01:27 PM Report #460859 Posted June 6, 2012 at 01:27 PM (edited) Boa tarde pessoal, Ando me a iniciar aqui no PHP para fazer um formulário, que servirá para fazer encomendas! Depois de submetido esse formulário inteiro deveria ser enviado para X email fixo, e é essa parte que não estou a conseguir fazer. Vou deixar aqui o código do formulário até agora feito (Nada de mais, repito sou novo nisto) e já andei a procura de tudo e mais alguma coisa mas não encontrei como enviar a form completa. <html> <body> <center><img src="inforlaser.jpg" alt="InforLaser, Lda" width="500" height="250" /> <h2>Código - Descrição - Unidade</h2> <form action="encomenda.php" method="post"> <input type="text" name="codigo" /> <input type="text" name="desc" /> <input type="text" name="unid" /><p> <input type="text" name="codigo" /> <input type="text" name="desc" /> <input type="text" name="unid" /><p> <input type="text" name="codigo" /> <input type="text" name="desc" /> <input type="text" name="unid" /><p> <input type="text" name="codigo" /> <input type="text" name="desc" /> <input type="text" name="unid" /><p> <input type="text" name="codigo" /> <input type="text" name="desc" /> <input type="text" name="unid" /><p> <input type="text" name="codigo" /> <input type="text" name="desc" /> <input type="text" name="unid" /><p> <input type="text" name="codigo" /> <input type="text" name="desc" /> <input type="text" name="unid" /><p> <input type="text" name="codigo" /> <input type="text" name="desc" /> <input type="text" name="unid" /><p> <input type="text" name="codigo" /> <input type="text" name="desc" /> <input type="text" name="unid" /><p> <input type="text" name="codigo" /> <input type="text" name="desc" /> <input type="text" name="unid" /><p> <input type="text" name="codigo" /> <input type="text" name="desc" /> <input type="text" name="unid" /><p> <input type="text" name="codigo" /> <input type="text" name="desc" /> <input type="text" name="unid" /><p> <input type="text" name="codigo" /> <input type="text" name="desc" /> <input type="text" name="unid" /><p> <input type="text" name="codigo" /> <input type="text" name="desc" /> <input type="text" name="unid" /><p> <input type="text" name="codigo" /> <input type="text" name="desc" /> <input type="text" name="unid" /><p> <input type="text" name="codigo" /> <input type="text" name="desc" /> <input type="text" name="unid" /><p> <input type="text" name="codigo" /> <input type="text" name="desc" /> <input type="text" name="unid" /><p> Nome: <input type="text" name="Nome"/><br> Email: <input type="text" name="Email"/><br> Contacto: <input type="text" name="Contacto"/><br> Observações: <input type="text" name="obs"/><br><p> <input type="submit"/> </form></center> </body> </html> Cumps e obrigado desde já pela ajuda! Edited June 6, 2012 at 05:34 PM by brunoais geshi
HappyHippyHippo Posted June 6, 2012 at 02:29 PM Report #460895 Posted June 6, 2012 at 02:29 PM antes do mais, só uma pequena questão ... porque raio tens linhas e linhas de inputs com o mesmo atributo "name" ??? depois de me tirares essa dúvida podes dar uma vista de olhos por esta página: http://www.php.net/manual/en/function.mail.php IRC : sim, é algo que ainda existe >> #p@p Portugol Plus
DGP_Maluco Posted June 6, 2012 at 02:47 PM Author Report #460907 Posted June 6, 2012 at 02:47 PM O atributo pensava que tinha que ser inserido para cada campo? Posso eleminar todos os atributos? Visto serem vários campos! Eu isso já vi noutros lados, mas em vez de uma mensagem como está ai presente nos exemplos queria enviar tudo o que esta dentro da form! Isso é que não sei como fazer, será só $form ?!
HappyHippyHippo Posted June 6, 2012 at 03:53 PM Report #460947 Posted June 6, 2012 at 03:53 PM já tentaste ver o que o script recebe do form ?? abre a página com o formulário, preenche todos os campos de uma forma identificativa (tipo 1, 2, 3, 4, 5 ...) envia o formulário para o servidor e depois apresenta o que recebeste : print_r($_GET); // caso estejas a enviar por get print_r($_POST); // caso estejas a enviar por post depois disso a gente fala IRC : sim, é algo que ainda existe >> #p@p Portugol Plus
DGP_Maluco Posted June 6, 2012 at 05:04 PM Author Report #460996 Posted June 6, 2012 at 05:04 PM (edited) Mudei o código para isto e preenchi as 4 primeiras barras mais o nome email contacto observacoes! <html> <body> <center><img src="inforlaser.jpg" alt="InforLaser, Lda" width="500" height="250" /> <h2>Código - Descrição - Unidade</h2> <form action="lista.php" method="post"> <input type="text" name="codigo" /> <input type="text" name="desc" /> <input type="text" name="unid" /><p> <input type="text" /> <input type="text" /> <input type="text" /><p> <input type="text" /> <input type="text"/> <input type="text" /><p> <input type="text" /> <input type="text"/> <input type="text" /><p> <input type="text" /> <input type="text"/> <input type="text" /><p> <input type="text" /> <input type="text" /> <input type="text" /><p> <input type="text" /> <input type="text" /> <input type="text" /><p> <input type="text" /> <input type="text" /> <input type="text" /><p> <input type="text" /> <input type="text" /> <input type="text" /><p> <input type="text" /> <input type="text" /> <input type="text" /><p> <input type="text" /> <input type="text" /> <input type="text" /><p> <input type="text" /> <input type="text" /> <input type="text" /><p> <input type="text" /> <input type="text" /> <input type="text"/><p> <input type="text" /> <input type="text"/> <input type="text" /><p> <input type="text" /> <input type="text" /> <input type="text" /><p> <input type="text" /> <input type="text" /> <input type="text" /><p> <input type="text" /> <input type="text" /> <input type="text" /><p> Nome: <input type="text" name="Nome"/><br> Email: <input type="text" name="Email"/><br> Contacto: <input type="text" name="Contacto"/><br> Observações: <input type="text" name="obs"/><br><p> <input type="submit"/> </form></center> </body> </html> Só me apareceu isto Array ( [codigo] => 1 [desc] => 2 [unid] => 3 [Nome] => 7 => 8 [Contacto] => 9 [obs] => 10 ) Falta o 4 5 6 que é da segunda linha que inputs! Então o que esta a faltar? Tirei a name das outras, fiz mal nesse ponto? É que como mais acima me disses-te para que tantos "name" Cumps e obrigado mais uma vez Edited June 6, 2012 at 05:35 PM by brunoais geshi
MASNathan Posted June 6, 2012 at 05:14 PM Report #460998 Posted June 6, 2012 at 05:14 PM (edited) É que como mais acima me disses-te para que tantos "name" O que o Happy queria dizer com: porque raio tens linhas e linhas de inputs com o mesmo atributo "name" ??? é : Porque é que tens tantos <input type="text" name="codigo" /> repetidos Edited June 6, 2012 at 05:35 PM by brunoais geshi
DGP_Maluco Posted June 6, 2012 at 05:30 PM Author Report #461001 Posted June 6, 2012 at 05:30 PM Já eliminei e deixei só na primeira linha, podes verificar mais acima! Mas agora a ir buscar os dados não me dá o resto porque ? Hmm
HappyHippyHippo Posted June 6, 2012 at 05:37 PM Report #461003 Posted June 6, 2012 at 05:37 PM porque tens de ter os atributos "name" ... IRC : sim, é algo que ainda existe >> #p@p Portugol Plus
brunoais Posted June 6, 2012 at 05:40 PM Report #461004 Posted June 6, 2012 at 05:40 PM Para cada formulário, os nomes têm que ser únicos ou terminarem em "[]" para poderes ver todos no script no servidor. O que não tiver nome, não é enviado. "[Os jovens da actual geração]não lêem porque não envolve um telecomando que dê para mirar e atirar, não falam porque a trapalhice é rainha e o calão é rei" autor: thoga31 Life is a genetically transmitted disease, induced by sex, with death rate of 100%.
DGP_Maluco Posted June 6, 2012 at 05:58 PM Author Report #461010 Posted June 6, 2012 at 05:58 PM Ok está tudo a funcionar! Array ( [cod1] => 1 [desc1] => 2 [unid1] => 3 [cod2] => 4 [desc2] => 5 [unid2] => 6 [cod3] => [desc3] => [unid3] => [cod4] => [desc4] => [unid4] => [cod5] => [desc5] => [unid5] => [cod6] => [desc6] => [unid6] => [cod7] => [desc7] => [unid7] => [cod8] => [desc8] => [unid8] => [cod9] => [desc9] => [unid9] => [cod10] => [desc10] => [unid10] => [cod11] => [desc11] => [unid11] => [cod12] => [desc12] => [unid12] => [Nome] => 7 => 8 [Contacto] => 9 [Obs] => 10 ) E agora a parte do email? para enviar para X email sem outlook sem nada directamente isso era a minha maior dúvida a qual não encontrei resposta! Vi várias maneiras mas acho que, ou entendi mal, nenhum como eu queria
brunoais Posted June 6, 2012 at 06:12 PM Report #461012 Posted June 6, 2012 at 06:12 PM Eh... "[Os jovens da actual geração]não lêem porque não envolve um telecomando que dê para mirar e atirar, não falam porque a trapalhice é rainha e o calão é rei" autor: thoga31 Life is a genetically transmitted disease, induced by sex, with death rate of 100%.
HappyHippyHippo Posted June 6, 2012 at 06:19 PM Report #461015 Posted June 6, 2012 at 06:19 PM viste o link que te dei no meu primeiro post ???? IRC : sim, é algo que ainda existe >> #p@p Portugol Plus
DGP_Maluco Posted June 6, 2012 at 06:59 PM Author Report #461026 Posted June 6, 2012 at 06:59 PM Sexta vou dar uma vista de olhos nisso outra vez, já dei e ja googlei, eu é que posso estar a perceber mal a forma de actuação também. Obrigado pela ajuda a todos!
DGP_Maluco Posted June 8, 2012 at 08:55 AM Author Report #461300 Posted June 8, 2012 at 08:55 AM (edited) Ok pelo que vi é esta a estrutura correcto? $to = 'dgpmaluco@gmail.com' $Subject = "Novo Formulário Preenchido" $Message = 'GET($_POST)' $Headers = 'From: $Nome $Email' mail($to, $Subject, $Message, $Headers); Agora como associo isso para ser executado depois de clicar em submeter? Cumprimentos e obrigado mais uma vez Edited June 8, 2012 at 09:10 AM by brunoais geshi!!!
HappyHippyHippo Posted June 8, 2012 at 09:02 AM Report #461302 Posted June 8, 2012 at 09:02 AM 1º - onde viste esse código ? vai ser engraçado quando receberes o email .. não vou dizer nada porque necessitas de recebe-lo para perceber 2º - o que acontece quando carregas no botão submeter ? (eu não estou a perguntar porque não sei ... estou a perguntar para te por a pensar) IRC : sim, é algo que ainda existe >> #p@p Portugol Plus
DGP_Maluco Posted June 8, 2012 at 09:26 AM Author Report #461311 Posted June 8, 2012 at 09:26 AM O código foi no site que me deste mais acima, pois eu acho que isto não está nada associado ao botão até porque não sei onde colocar isto correctamente! Neste momento está-me a aparecer o código no formulário. :S
HappyHippyHippo Posted June 8, 2012 at 09:32 AM Report #461313 Posted June 8, 2012 at 09:32 AM O código foi no site que me deste mais acima, pois eu acho que isto não está nada associado ao botão até porque não sei onde colocar isto correctamente! Neste momento está-me a aparecer o código no formulário. :S podes-me dizer exactamente onde viste o código que fizeste post ? $to = 'dgpmaluco@gmail.com' $Subject = "Novo Formulário Preenchido" $Message = 'GET($_POST)' $Headers = 'From: $Nome $Email' mail($to, $Subject, $Message, $Headers); eu fiz scroll na página e não encontrei isso lá ... não chegaste a responder à segunda pergunta 2º - o que acontece quando carregas no botão submeter ? (eu não estou a perguntar porque não sei ... estou a perguntar para te por a pensar) IRC : sim, é algo que ainda existe >> #p@p Portugol Plus
DGP_Maluco Posted June 8, 2012 at 09:39 AM Author Report #461318 Posted June 8, 2012 at 09:39 AM (edited) Quando faço submeter ainda aparece o que defeni para print. Vi este "Example #4 Sending HTML email" e "Example #2 Sending mail with extra headers." Deveria fazer assim: <?php $message = "GET($_POST)"; mail('dgpmaluco@gmail.com', 'Novo Formulário Preenchido', $message); ?> e meter esse código onde tenho o outro ficheiro PHP que está a fazer o print neste momento? EDIT: Dá-me este erro "( ! ) Parse error: syntax error, unexpected T_VARIABLE in C:\wamp\www\lista.php on line 4 Line 4 é dos Headers então Edited June 8, 2012 at 09:46 AM by DGP_Maluco
pikax Posted June 8, 2012 at 09:42 AM Report #461320 Posted June 8, 2012 at 09:42 AM eu fiz scroll na página e não encontrei isso lá ... acho que ele viu este codigo $to = 'nobody@example.com'; $subject = 'the subject'; $message = 'hello'; $headers = 'From: webmaster@example.com' . "\r\n" . 'Reply-To: webmaster@example.com' . "\r\n" . 'X-Mailer: PHP/' . phpversion(); mail($to, $subject, $message, $headers); so' deve nao ter percebido o que faz as headers entao apagou o que nao sabia Por muito mais que que estude só aprendo uma coisa, que ainda tenho muita coisa para aprender. A beleza de um código está em decompor problemas complexos em pequenos blocos simples. "learn how to do it manually first, then use the wizzy tool to save time." "Kill the baby, don't be afraid of starting all over again. Fail soon, learn fast."
HappyHippyHippo Posted June 8, 2012 at 09:46 AM Report #461322 Posted June 8, 2012 at 09:46 AM Deveria fazer assim: <?php $message = "GET($_POST)"; mail('dgpmaluco@gmail.com', 'Novo Formulário Preenchido', $message); ?> e meter esse código onde tenho o outro ficheiro PHP que está a fazer o print neste momento? exactamente !!! vês ... só tens a informação no servidor depois de fazer submit. só aí é que podes enviar o email com a informação do post. no que toca à mensagem, depois de receberes vais ver o que tens mal 😉 IRC : sim, é algo que ainda existe >> #p@p Portugol Plus
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now