2010-11-23 15 views
0

http://makeupbysherry.com/contact.phpPHPのお問い合わせフォーム

ネットワークソリューションに取り組んでいないお問い合わせフォームは、フォームからのE-メールが届か作業していないしていないようです。私はいくつかの電子メールを試みました、そして、ホストはNetwork Solutionsにあります。私はGoDaddy上のテストサーバー上にこのサイトを持っていましたが、今はNetsolで動作しません。

問題が何であるか分かりませんが、このサイトは今朝のWindowsからUNIXへの移行が行われており、これ以外は起動しているようです。何が起きているのか?ありがとう!

ブライアン

更新:あなたは通常、SMTP接続の詳細を使用してPHPのコンタクトフォームを設定する必要が

<?php 
/* Set e-mail recipient */ 
$myemail = "[email protected]"; 

/* Check all form inputs using check_input function */ 
$name = check_input($_POST['name'], "Enter your name"); 
$email = check_input($_POST['email']); 
$subject = check_input($_POST['subject'], "Write a subject"); 
$message = check_input($_POST['message'], "Write your message"); 
$check .= implode(', ', $_POST['check']); 



/* If e-mail is not valid show error message */ 
if (!preg_match("/([\w\-]+\@[\w\-]+\.[\w\-]+)/", $email)) 
{ 
    show_error("E-mail address not valid"); 
} 

/* If URL is not valid set $website to empty */ 
if (!preg_match("/^(https?:\/\/+[\w\-]+\.[\w\-]+)/i", $website)) 
{ 
    $website = ''; 
} 

/* Let's prepare the message for the e-mail */ 
$message = "Hello! 

Your contact form has been submitted by: 

Name: $name 
E-mail: $email 
Subject: $subject 

Message: $message 

Description: $check 

End of message 
"; 

/* Send the message using mail() function */ 
mail($myemail, $subject, $message); 

/* Redirect visitor to the thank you page */ 
header('Location: thanks.php'); 
exit(); 

/* Functions we used */ 
function check_input($data, $problem='') 
{ 
    $data = trim($data); 
    $data = stripslashes($data); 
    $data = htmlspecialchars($data); 
    if ($problem && strlen($data) == 0) 
    { 
     show_error($problem); 
    } 
    return $data; 
} 

function show_error($myError) 
{ 
?> 
    <html> 
    <body> 

    <b>Please correct the following error:</b><br /> 
    <?php echo $myError; ?> 

    </body> 
    </html> 
<?php 
exit(); 
} 
?> 
+0

ゴーserverfault.com – stillstanding

+0

へのコードを投稿してみてください、私たちはそう言うことができません。 – DampeS8N

+0

まだphp.iniのものが動いていないように見せてくれる人を手伝ってもらおうとしています。私はそれを試みたがまだメッセージを取得していない。ヘッダーを含めるとこれに何か影響がありますか? Netsolの男はそう思っていたようだ... – XXXSkaPunk

答えて

0

。通常、電子メールを送信する前にスクリプトが認証されるように、SMTPサーバー名とともにユーザー名とパスワードが必要です。これにより、スパマーがメールサーバーを利用できなくなります。

+0

私は持っている現在のコードでそれを修正する方法がわかりません。私は本当にPHPを知らない。 – XXXSkaPunk

1

Unixでは、PHPはsendmailを使用して電子メールを送信します。

Unixシステムを使用しているので、php.iniファイルにsendmail_pathを設定して、sendmailがインストールされていることを確認してください。

は1行でのphp.iniと呼ばれるのcgi-binディレクトリに新しいファイルを作成します。
sendmail path = /usr/sbin/sendmail

+0

どうすればいいですか?私はヒントを持っていない – XXXSkaPunk

関連する問題