2013-02-13 5 views
1

Это сводит меня с ума, потому что раньше у меня была эта форма, и она работала, и теперь я не могу заставить ее работать.контактная форма php

Проблема заключается в том, что когда я нажимаю кнопку «Отправить» вместо отправки формы, файл «ReportIssueForm.php» открывается как текстовый файл в браузере, и я вижу весь код.

Любая помощь будет высоко оценена.

Вот HTML код для вызова PHP файл:

<form name="htmlform" method="post" action="ReportIssueForm.php"> 
<table width="450px"> 
</tr> 
<tr> 
    <td valign="top"> 
    <label for="first_name"><b>First Name *</b></label> 
</td> 
<td valign="top"> 
    <input type="text" name="first_name" maxlength="50" size="30"> 
</td> 
</tr> 

<tr> 
<td valign="top""> 
    <label for="last_name"><b>Last Name *</b></label> 
</td> 
<td valign="top"> 
    <input type="text" name="last_name" maxlength="50" size="30"> 
</td> 
</tr> 
<tr> 
<td valign="top"> 
    <label for="email"><b>Email *<font size='2'></b></label> 
</td> 
<td valign="top"> 
    <input type="text" name="email" maxlength="80" size="30"> 
</td> 

</tr> 
<tr> 
<td valign="top"> 
    <label for="comments"><b>Comments*</b></label> 
</td> 
<td valign="top"> 
    <textarea name="comments" maxlength="1000" cols="25" rows="6"></textarea> 
</td> 

</tr> 
<tr> 
<td colspan="4" style="text-align:center"> 
<br><br> 
<input type="submit" value="Submit"> 
</td> 
</tr> 
</table> 
</form> 

А вот код из файла PHP:

<?php 
if(isset($_POST['email'])) { 

// CHANGE THE TWO LINES BELOW 
$email_to = "myemail";  
$email_subject = "Reporting and issue"; 


function died($error) { 
    // your error code can go here 
    echo "We are very sorry, but there were error(s) found with the form you submitted. "; 
    echo "These errors appear below.<br /><br />"; 
    echo $error."<br /><br />"; 
    echo "Please go back and fix these errors.<br /><br />"; 
    die(); 
} 

// validation expected data exists 
if(!isset($_POST['first_name']) || 
    !isset($_POST['last_name']) || 
    !isset($_POST['email']) || 
    !isset($_POST['comments'])) { 
    died('We are sorry, but there appears to be a problem with the form you submitted.');  
} 

$first_name = $_POST['first_name']; // required 
$last_name = $_POST['last_name']; // required 
$email_from = $_POST['email']; // required 
$comments = $_POST['comments']; // required 

$error_message = ""; 

$email_exp = '/^[A-Za-z0-9._%-][email protected][A-Za-z0-9.-]+\.[A-Za-z]{2,4}$/'; 
    if(!preg_match($email_exp,$email_from)) { 
$error_message .= 'The Email Address you entered does not appear to be valid.<br />'; 
    } 
    $string_exp = "/^[A-Za-z .'-]+$/"; 
    if(!preg_match($string_exp,$first_name)) { 
    $error_message .= 'The First Name you entered does not appear to be valid.<br />'; 
    } 
    if(!preg_match($string_exp,$last_name)) { 
$error_message .= 'The Last Name you entered does not appear to be valid.<br />'; 
    } 
    if(strlen($comments) < 2) { 
$error_message .= 'The Comments you entered do not appear to be valid.<br />'; 
} 
    if(strlen($error_message) > 0) { 
    died($error_message); 
    } 
    $email_message = "Form details below.\n\n"; 

function clean_string($string) { 
    $bad = array("content-type","bcc:","to:","cc:","href"); 
    return str_replace($bad,"",$string); 
} 

$email_message .= "First Name: ".clean_string($first_name)."\n"; 
$email_message .= "Last Name: ".clean_string($last_name)."\n"; 
$email_message .= "Email: ".clean_string($email_from)."\n"; 
$email_message .= "Comments: ".clean_string($comments)."\n"; 


// create email headers 
$headers = 'From: '.$email_from."\r\n". 
'Reply-To: '.$email_from."\r\n" . 
'X-Mailer: PHP/' . phpversion(); 
@mail($email_to, $email_subject, $email_message, $headers); 
?> 

<!-- place your own success html below --> 

Thank you for Reporting an issue. We will look into it and try to solve it as soon as possible.<br><br> 


<?php 
} 
die(); 
?> 
+0

Во-первых, у вас установлен php в системе? Во-вторых, PHP настроен с вашим веб-сервером для интерпретации страниц? – Jon

+0

Вы уверены, что используете код на сервере ...? Вам нужно установить такой сервер, как WAMP, в окнах ..... –

ответ

0

Вы должны проверить конфигурацию, если ваш веб-сервер правильно настроен для маршрутизации .php-файлов запроса на PHP-движок.

В этом случае кажется, что веб-сервер может быть настроен неправильно.

Если вы используете Apache в качестве веб-сервера, убедитесь ниже 2 линий ООН комментируются в httpd.conf (апач конфигурации FLE)

LoadModule phpX_module "d:/wamp/bin/php/phpXXX/php5apacheXX.dll" 
AddType application/x-httpd-php .php 

Где X означает PHP версии

+0

Я просто пытаюсь запустить его на своем компьютере, чтобы проверить, работает ли он, но вместо запуска php-файл открывает файл в виде кода или тестового файла, где Я вижу код. – user1908030

+0

Вы пытаетесь запустить его через веб-сервер, означает, что URL-адрес имеет http: // localhost/... или просто открывает файл HTML в пути браузера браузера thorugh. Убедитесь, что у вас установлен PHP, а также установлен веб-сервер (apache), и вы запускаете скрипт через веб-сервер. – Minesh

+0

Я просто пытаюсь открыть файлы HTML и нажать кнопку отправки на своем компьютере. У меня нет установки apache. php-файл находится в том же каталоге, что и мой HTML-файл. – user1908030

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