php include не будет показывать мой контент в php файле - PullRequest
0 голосов
/ 29 марта 2012

Итак, у меня есть эта форма в файле php, и я хочу, чтобы она отображалась в этом скользящем элементе div, но она не показывает файл php с моим включаемым файлом.Любые предложения?

Я думаю, что я пытаюсь ввести файл php неправильно

Вот документ:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
    <head>
        <title></title>
        <script src="js/jquery-1.7.1.js" type="text/javascript"></script>
        <style type="text/css">
            #wrap {

            }
            #box1 {
                background: red;
                width: 800px;
                height: 100px;
            }
            #box2 {
                background: blue;
                width: 800px;
                height: 200px;
                display: none;
            }
            #box3 {
                background: green;
                width: 800px;
                height: 100px;
            }
            .expand {

            }

        </style>
        <script type="text/javascript">
            $(function() {

                $("#wrap a.expand").click(function() {
                    $('#box2').slideToggle('900');

                });
            });

        </script>
    </head>

    <body>
        <div id="wrap">
            <p>
                <a href="#" class="expand">Expanding/Collapse</a>
            </p>
            <p>
                <a href="www.google.com">Google</a>
            </p>

            <div id="box1" alt="box"></div>
            <div id="box2" alt="box">
                <?php include("test.php"); ?>
            </div>
            <div id="box3" alt="box"></div>
        </div>
    </body>
</html>

А вот файл php

<?php 
if ($_POST["email"]<>'') { 
    $ToEmail = 'email@email.site'; 
    $EmailSubject = 'Portfolio Contact .com'; 
    $mailheader = "From: ".$_POST["email"]."\r\n"; 
    $mailheader .= "Reply-To: ".$_POST["email"]."\r\n"; 
    $mailheader .= "Content-type: text/html; charset=iso-8859-1\r\n"; 
    $MESSAGE_BODY = "Name: ".$_POST["name"].""; 
    $MESSAGE_BODY .= "Email: ".$_POST["email"].""; 
    $MESSAGE_BODY .= "Comment: ".nl2br($_POST["comment"]).""; 
    mail($ToEmail, $EmailSubject, $MESSAGE_BODY, $mailheader) or die ("Failure"); 
?> 
Your message was sent
<?php 
} else { 
?> 
<form action="test.php" method="post">
<table width="400" border="0" cellspacing="2" cellpadding="0">
<tr>
<td width="29%" class="bodytext">Your name:</td>
<td width="71%"><input name="name" type="text" id="name" size="32"></td>
</tr>
<tr>
<td class="bodytext">Email address:</td>
<td><input name="email" type="text" id="email" size="32"></td>
</tr>
<tr>
<td class="bodytext">Comment:</td>
<td><textarea name="comment" cols="45" rows="6" id="comment" class="bodytext"></textarea></td>
</tr>
<tr>
<td class="bodytext"> </td>
<td align="left" valign="top"><input type="submit" name="Submit" value="Send"></td>
</tr>
</table>
</form> 
<?php 
}; 
?>

Ответы [ 3 ]

1 голос
/ 29 марта 2012

Чтобы легко исключить возможность того, что он не может найти файлы test.php, замените ваш include () на require () . Он делает то же самое, с небольшим отличием в том, что не обнаружение файла приводит к тому, что PHP генерирует фатальную ошибку E_COMPILE, что делает очевидным, что что-то пошло не так.

Чтобы помочь исправить ошибку, добавьте следующие две строки в самый верх вашего PHP-скрипта (основной файл):

ini_set('display_errors', 1);
error_reporting(E_ALL);

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

1 голос
/ 29 марта 2012

enter image description here удалите включаемый файл и используйте этот jQuery Load, чтобы ваша форма загружалась в div id box2

<script type="text/javascript">
            $(function() {
                $("#wrap a.expand").click(function() {
                    $('#box2').slideToggle('900').load("test.php");

                });
            });

</script>

и измените его, если на @$_POST["email"]<>'' со знаком at, и ваша ошибка будет скрыта

0 голосов
/ 29 марта 2012

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...