2016-03-29 4 views
-1

私はいくつかのエラーメッセージを含む簡単なコンタクトフォームのためにindex.phpを作っています。スクリプトとフォームは同じindex.phpにあります(外部のtryedも動作しませんでした)。なぜこのスクリプトがメールを受け取らないのか、私は何もエラーメッセージを表示せず、サーバサイドから適切なエラーも出ません。私は変数でいくつかの間違いを犯しましたが、誰も見つけることができません。ここで助けてくれることを願っています。 PHPスクリプトphpエラーメッセージのあるコンタクトフォームは、PHPスクリプトをトリガーしません

if (isset($_POST['submit'])) { 
$name = $_POST['name']; 
$prename = $_POST['prename']; 
$sex = $_POST['sex']; 
$company = $_POST['company']; 
$email = $_POST['email']; 
$mobile = $_POST['mobile']; 
$message = $_POST['message']; 
$from = 'Demo Contact Form'; 
$to = '[email protected]'; 
$subject = 'Message from Contact form'; 

$body = 'From: $sex $prename $name\n Company: $company\n E-Mail: $email\n Mobile: $mobile\n Message:\n $message'; 

// Check if name has been entered 
if (!$_POST['name']) { 
    $errName = 'Please enter your name'; 
} 

// Check if prename has been entered 
if (!$_POST['prename']) { 
    $errPrename = 'Please enter your prename'; 
} 

// Check if sex has been entered 
if (!$_POST['sex']) { 
    $errSex = 'Please choose your sex'; 
} 

// Check if Companyname has been entered 
if (!$_POST['company']) { 
    $errCompany = 'Please enter your Companis name'; 
} 


// Check if email has been entered and is valid 
if (!$_POST['email'] || !filter_var($_POST['email'], FILTER_VALIDATE_EMAIL)) { 
    $errEmail = 'Please enter a valid email address'; 
} 

// Check if mobilenumber has been entered 
if (!$_POST['mobile']) { 
    $errMobile = 'Please enter your mobilenumber'; 
} 

// Check if prename has been entered 
if (!$_POST['prename']) { 
    $errPrename = 'Please enter your prename'; 
} 

//Check if message has been entered 
if (!$_POST['message']) { 
    $errMessage = 'Please enter your message'; 
} 

// If there are no errors, send the email 
if (!$errName && !$errPrename && !$errSex && !$errCompany && !$errEmail && !$errMessage && !$errMobile) { 
    if (mail($to, $subject, $body, $from)) { 
     $result = '<div class="alert alert-success">Thank You! I will be in touch</div>'; 
    } else { 
     $result = '<div class="alert alert-danger">Sorry there was an error sending your message. Please try again later</div>'; 
    } 
} 
} 

相続人のstackoverflow上

最初の試み:)

(それはindex.phpファイル内の実際のフォームの前にある)PHPスクリプトを起動しますdosnt多分その可能そして助けをHTMLスクリプト

<div class="form-holder mg-bottom-50"> 
       <form accept-charset="UTF-8" action="index.php" method="post"> 
       <div class="col-md-6"> 
        <label for="name">Name*</label> 
        <input id="name" name="name" type="text" value="<?php echo htmlspecialchars($_POST['name']); ?>"/> 
     <?php echo "<p class='text-danger'>$errName</p>";?> 
       </div> 
       <div class="col-md-6"> 
        <label for="prename">Prename*</label> 
        <input id="prename" name="prename" type="text" value="<?php echo htmlspecialchars($_POST['prename']); ?>"/> 
     <?php echo "<p class='text-danger'>$errPrename</p>";?> 
       </div> 
       <div class="col-md-6"> 
        <label>Sex*</label> 
        <div class="form-choose-type choose-type"> 
         <span> 
         <input type="radio" checked="checked" id="male" name="sex" rel="Mr" value="Mr" /> 
         <label class="active Mr" for="male">Mr.</label> 
         </span> 
         <span> 
         <input type="radio" id="female" name="sex" rel="Mr" value="Mrs" /> 
         <label class="Mrs" for="female">Mrs.</label> 
         </span> 
         <div class="clear"></div> 
        </div> 
       </div> 
       <div class="col-md-6"> 
        <label for="company">Company*</label> 
        <input id="company" name="company" type="text" value="<?php echo htmlspecialchars($_POST['name']); ?>"/> 
     <?php echo "<p class='text-danger'>$errName</p>";?> 
       </div> 
       <div class="col-md-6"> 
        <label for="email">E-mail*</label> 
        <input id="email" name="email" type="text" value="<?php echo htmlspecialchars($_POST['name']); ?>"/> 
     <?php echo "<p class='text-danger'>$errName</p>";?> 
       </div> 
       <div class="col-md-6"> 
        <label for="mobile">Mobile*</label> 
        <input id="mobile" name="mobile" type="text" value="<?php echo htmlspecialchars($_POST['name']); ?>"/> 
     <?php echo "<p class='text-danger'>$errName</p>";?> 
       </div> 
       <div class="clear"></div> 
       <div class="col-md-12 mg-bottom-50"> 
        <label for="message">Message*</label> 
        <textarea id="message" name="message"> 
        <?php echo htmlspecialchars($_POST['message']);?> 
        </textarea> 
       </div> 
       <div class="col-md-12 actions"> 
        <input class="black-button" name="commit" type="submit" value="Senden" /> 
       </div> 
       </form> 
       <?php echo $result; ?> 

       <div class="clear"></div> 
      </div> 
     </div> 
    </div> 
    </div> 

感謝:)

+0

あなたはあなたの "submit"ボタンを呼び出しますが、あなたはあなたの "submit"ボタンを呼び出します。 submit "value =" Senden "/>'最初のif節を送信ボタンの名前と一致するように変更します。 – Epodax

+0

ありがとう、それは間違いでしたが、それでもまだ他のアイデアはありませんでしたか? –

+0

'error_reporting(E_ALL);を配置します。ini_set( "display_errors"、1); 'あなたのページの一番上に、デバッグを開始します。「動作しません」と表示されません。 – Epodax

答えて

0

問題: 間違った電子メールの形式が、メッセージは文句を言わないbcaz

<?php echo "<p class='text-danger'>$errName</p>";?> 

代わりの

<?php echo "<p class='text-danger'>$errEmail</p>";?> 

PHP以下

修正スクリプト

を表示
<?php 
if (isset($_POST['name'])) { 

$name = $_POST['name']; 
$prename = $_POST['prename']; 
$sex  = $_POST['sex']; 
$company = $_POST['company']; 
$email = $_POST['email']; 
$mobile = $_POST['mobile']; 
$message = $_POST['message']; 
$from = 'Demo Contact Form'; 
$to  = '[email protected]'; 
$subject = 'Message from Contact form'; 

$body = 'From: $sex $prename $name\n Company: $company\n E-Mail: $email\n Mobile: $mobile\n Message:\n $message'; 

// Check if name has been entered 
if (!$_POST['name']) { 
    $errName = 'Please enter your name'; 
} 

// Check if prename has been entered 
if (!$_POST['prename']) { 
    $errPrename = 'Please enter your prename'; 
} 

// Check if sex has been entered 
if (!$_POST['sex']) { 
    $errSex = 'Please choose your sex'; 
} 

// Check if Companyname has been entered 
if (!$_POST['company']) { 
    $errCompany = 'Please enter your Companis name'; 
} 

// Check if email has been entered and is valid 
if (!$_POST['email'] || !filter_var($_POST['email'], FILTER_VALIDATE_EMAIL)) { 
    $errEmail = 'Please enter a valid email address'; 
} 

// Check if mobilenumber has been entered 
if (!$_POST['mobile']) { 
    $errMobile = 'Please enter your mobilenumber'; 
} 

//Check if message has been entered 
if (!$_POST['message']) { 
    $errMessage = 'Please enter your message'; 
} 

// If there are no errors, send the email 
if (!isset($errName) && !isset($errPrename) && !isset($errSex) && !isset($errCompany) && !isset($errEmail) && !isset($errMessage) && !isset($errMobile)) { 

    if (mail($to, $subject, $body, $from)) { 
     $result = '<div class="alert alert-success">Thank You! I will be in touch</div>'; 
    } else { 
     $result = '<div class="alert alert-danger">Sorry there was an error sending your message. Please try again later</div>'; 
    } 
} 

} 
?> 

HTML

<div class="form-holder mg-bottom-50"> 
      <form accept-charset="UTF-8" action="index.php" method="post"> 
      <div class="col-md-6"> 
       <label for="name">Name*</label> 
       <input id="name" name="name" type="text" value="<?php echo htmlspecialchars($_POST['name']); ?>"/> 
    <?php echo "<p class='text-danger'>$errName</p>";?> 
      </div> 
      <div class="col-md-6"> 
       <label for="prename">Prename*</label> 
       <input id="prename" name="prename" type="text" value="<?php echo htmlspecialchars($_POST['prename']); ?>"/> 
    <?php echo "<p class='text-danger'>$errPrename</p>";?> 
      </div> 
      <div class="col-md-6"> 
       <label>Sex*</label> 
       <div class="form-choose-type choose-type"> 
        <span> 
        <input type="radio" checked="checked" id="male" name="sex" rel="Mr" value="Mr" /> 
        <label class="active Mr" for="male">Mr.</label> 
        </span> 
        <span> 
        <input type="radio" id="female" name="sex" rel="Mr" value="Mrs" /> 
        <label class="Mrs" for="female">Mrs.</label> 
        </span> 
        <div class="clear"></div> 
       </div> 
      </div> 
      <div class="col-md-6"> 
       <label for="company">Company*</label> 
       <input id="company" name="company" type="text" value="<?php echo htmlspecialchars($_POST['name']); ?>"/> 
    <?php echo "<p class='text-danger'>$errName</p>";?> 
      </div> 
      <div class="col-md-6"> 
       <label for="email">E-mail*</label> 
       <input id="email" name="email" type="text" value="<?php echo htmlspecialchars($_POST['name']); ?>"/> 
    <?php echo "<p class='text-danger'>$errEmail</p>";?> 
      </div> 
      <div class="col-md-6"> 
       <label for="mobile">Mobile*</label> 
       <input id="mobile" name="mobile" type="text" value="<?php echo htmlspecialchars($_POST['name']); ?>"/> 
    <?php echo "<p class='text-danger'>$errName</p>";?> 
      </div> 
      <div class="clear"></div> 
      <div class="col-md-12 mg-bottom-50"> 
       <label for="message">Message*</label> 
       <textarea id="message" name="message"> 
       <?php echo htmlspecialchars($_POST['message']);?> 
       </textarea> 
      </div> 
      <div class="col-md-12 actions"> 
       <input class="black-button" name="commit" type="submit" value="Senden" /> 
      </div> 
      </form> 
      <?php echo $result; ?> 

      <div class="clear"></div> 
     </div> 
    </div> 
</div> 
</div> 

小型ノートあなたがエラーの改善が一部を表示し、入力内のPOST変数を取得するようにする必要があり

+1

ありがとう私は間違いを犯した場所を見ます:)将来の質問のヒントは?だから私はdownvotesを得ることはありません;) –

+0

http://stackoverflow.com/help/how-to-ask –

+0

答えを持っているかどうか検索するhttp://stackoverflow.com/search –

関連する問題