2016-03-29 4 views
-1

Я создал index.php для простой формы контакта с некоторыми сообщениями об ошибках. Сценарий и форма находятся в том же index.php (попробовал также внешний, не работал) теперь я задаюсь вопросом, почему этот скрипт dosnt worsks я не получаю почту, я не получаю сообщений об ошибках и никаких правильных ошибок с serveride я проверил несколько раз, если Я сделал некоторые ошибки в переменных, но я не могу найти кого-либо. Надеюсь на помощь здесь, любая идея, почему это не работает? может быть, его возможно PHP скрипт dosnt активизироваться (это до фактической формы в файле index.php)Php Contactform с сообщениями об ошибках dont trigger php script

первый попробовать на StackOverflow :)

Херес 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>'; 
    } 
} 
} 

и 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

Вы начинаете с 'if (isset ($ _ POST ['submit'])) {', но вы вызываете кнопку «отправить» _commit_ '' Измените свой первый аргумент 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://www.stackoverflow.com/search –

Смежные вопросы