2016-07-04 3 views
-2

人。私はコーディングにかなり新しいです。私はチュートリアルを見て、それについて約2ヶ月間読んできました。それを学ぶための私の動機は、とても親愛なる人のためのウェブサイトを作ることです。しかし、現時点で誰にも彼のためにそれをするためのお金を払うことも、学ぶ時間もマインドスペースもありません。

しかし、私はそうです!だから、私はここにいる。私は彼のためにウェブサイトを作るためのコードを学んでいます。私はそれが私のプロジェクトのいくつかで私を助けることができるとも信じていますが、私の本当の動機はそれです。

私は電子メールフォームの2つの側面に苦労しています.1つはこれです。[3つのコールスタックエラーはフォーム名を定義していないと言っていますが、

[削除いくつかのもの]

EDIT

私は現在、Googleのsmtp.gmailサーバーを使用してい

、ない成功へ。私は自分の知識で自分のコードを修正しましたが、電子メールフォームの作成にはまだ成功していません。 (https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#attr-formを参照)

<?php 
 
if(isset($_POST['enviar'])): 
 
\t $from=isset($_POST['nome']) ? $_POST['nome'] : ''; 
 
\t $to='[email protected]'; 
 
\t $subject= isset($_POST['assunto']) ? $_POST['assunto'] : ''; 
 
\t $message=$_POST['mensagem']; 
 
\t $email=isset($_POST['email']) ? $_POST['email'] : ''; 
 
\t if (mail($to, $subject, $message, 'from'.$email): 
 
\t \t $aviso= 'email enviado'; 
 
\t else: 
 
\t \t $aviso='falha ao enviar email'; 
 
\t endif; 
 
endif; 
 

 
?> 
 
<div class="first"> 
 
\t <form action="" method="post"> 
 

 
\t \t <label for="name">Nome:</label> <br> 
 
\t \t <input id="name" type="text" class="inserir" name="nome" /> <br/> 
 

 
\t \t <label for="mailfrom">E-mail:</label> <br> 
 
\t \t <input id="mailfrom" type="text" class="inserir" name="email" /> <br /> 
 

 
\t \t <label for="topic">Assunto:</label> <br> 
 
\t \t <input id="topic" type="text" name="assunto" class="inserir" /> <br /></div> 
 

 
\t \t <textarea name="mensagem" id="inserirmensagem" placeholder="Digite sua mensagem..." class="inserir"></textarea><br /> 
 

 
\t \t <input type="submit" class="enviar" name="enviar" value="Enviar mensagem &raquo;"></input> 
 

 
\t \t <?php if(isset($aviso)) echo $aviso; ?> 
 
\t </form> 
 
</div>

+1

実際のコードを質問に追加してください。コードのスクリーンショットは適切ではありません。 FYI、 ''タグは自己閉鎖です(つまり、 ''はありません)。また、 'form'属性は'

'のIDでなければなりません。私はこれがあなたの問題の原因だと信じています – Phil

+0

また、ウェブ開発を学ぶためのあなたの努力を損なうことはありませんが、あなたのいとこはたぶんWordpressサイトに行くべきです。あなたは間違いなく勉強し続けるべきです。 – Phil

答えて

0

私は問題がform属性のあなたの間違った使用であると考えている:ここではコードです。

ID nomeemailなどの<form>がないため、入力は有効なフォームに関連付けられていません。

あなたの入力を簡素化

<label for="nome">Nome:</label><br> 
<input type="text" id="nome" name="nome" class="inserir"><br> 

mailのご利用も間違って表示されます。 Swift MailerなどのライブラリとGoogleなどの外部SMTPサーバーを使用することをおすすめします。独自のSMTPホストを設定することは非常に困難です。

+0

ありがとうございます。あなたの助けを借りて、コールスタックエラーを取り除くことができました。私は自分のコードでいくつかのdefecsを見たことがあります。また、

+0

@PauloSoaresの 'from'ヘッダが間違っています。私は** Swift Mailerのようなメールライブラリを使用することを強くお勧めします**。 – Phil

関連する問題