Php错误 - 只显示文本格式的代码

问题描述:

我使用的代码在不同的计算机上工作正常,我现在正在输出文本格式的代码,就像它是一个.txt文档。Php错误 - 只显示文本格式的代码

这里是一些受影响的页面。

connect.php

<?php 
$con=mysqli_connect("hr-computing","student","codd","brodie"); 
if (mysqli_connect_errno($con)) 
    { 
    echo "Failed to connect to MySQL: " . mysqli_connect_error(); 
    } 
?> 

events.php

<?php 
$deets = $_POST['deets']; 
$deets = preg_replace('#[^0-9/]#i', '', $deets); 

include ("connect.php"); 

$events = ''; 
$query = mysql_query('SELECT description FROM events WHERE evdate ="'.$deets.'"'); 
$num_rows= mysql_num_rows($query); 
if ($num_rows > 0) { 
    $events.= '<div id="eventsControl"><button onMouseDown="overlay()">Close</button><br /><b> ' . $deets . '</b><br /><br /></div>'; 

    while($row= mysql_fetch_array($query)) { 
     $desc = $row['description']; 
     $events .='<div id="eventsBody">'.$desc .'<br /><hr><br /></div>'; 
    } 
} 
echo $events; 
?> 

calendar_start.php

<?php 
$showmonth = $_POST['showmonth']; 
$showyear = $_POST['showyear']; 
$showmonth= preg_replace('#[^0-9]#i', '', $showmonth); 
$showyear= preg_replace('#[^0-9]#i', '', $showyear); 

$day_count = cal_days_in_month(CAL_GREGORIAN, $showmonth, $showyear); 
$pre_days = date('w', mktime(0,0,0, $showmonth, 1, $showyear)); 
$post_days = (6-(date('w', mktime(0,0,0, $showmonth, $day_count, $showyear)))); 

echo '<div id="calendar_wrap">'; 
echo '<div class="title_bar">'; 
echo '<div class="previous_month"><input name="button" type="submit" value="Previous Month" onClick="javascript:last_month();"></div>'; 
echo '<div class="show_month">' . date('F', mktime(0, 0, 0, $showmonth)) . ' ' . $showyear . '</div>'; 
echo '<div class="next_month"><input name="button" type="submit" value="Next Month" onClick="javascript:next_month();"></div>'; 
echo '</div>'; 

echo '<div class="week_days">'; 
echo '<div class="days_of_the_week">Sun</div>'; 
echo '<div class="days_of_the_week">Mon</div>'; 
echo '<div class="days_of_the_week">Tues</div>'; 
echo '<div class="days_of_the_week">Wed</div>'; 
echo '<div class="days_of_the_week">Thur</div>'; 
echo '<div class="days_of_the_week">Fri</div>'; 
echo '<div class="days_of_the_week">Sat</div>'; 
echo '<div class="clear"></div>'; 
echo '</div>'; 

if ($pre_days != 0) { 
    for($i=1; $i<=$pre_days; $i++) { 
     echo '<div class="non_cal_day"></div>'; 
    } 
} 
include ("connect.php"); 
for ($i=1; $i<= $day_count; $i++) { 
    $date = $i.'/'.$showmonth.'/'.$showyear; 
$query = "Select id FROM events WHERE evDate = '$date'"; 
$num_rows = 0; 
if($result = mysql_query($query)) { 
    $num_rows = mysql_num_rows($result); 
} 
    if($num_rows > 0) { 
     $event = "<input name='$date' type='submit' value='Details' id='$date' 
onClick='javascript:show_details(this);'>"; 
    } 
    echo '<div class="cal_day">'; 
    echo '<div class="day_heading">' . $i . '</div>'; 
    if($num_rows != 0) { echo "<div class='openings'><br/>" . $event . "</div>";} 
    echo '</div>'; 
} 

if ($post_days !=0) { 
    for($i=1; $i<=$post_days; $i++) { 
     echo '<div class="non_cal_day"></div>'; 
    } 
} 
echo '</div>'; 
?> 

工作PHP文件

<html> 
<body> 
<style> 
body 
{ 
background-color:#CD0074; 
} 
</style> 

<form action="http://hr-computing/public/Brodie Evans/project/login.php" method="post"> 
    FirstName: <input type="text" name="firstname" /><br /> 
    Surname: <input type="text" name="surname" /><br /> 
    Email: <input type="text" name="email" /><br /> 
    Password: <input type="password" name="p" id="password"/><br /> 
<input type="submit" value="Submit"/> 
</form> 

<?php 
$con=mysqli_connect("*****","*******","****","*******"); 
if (mysqli_connect_errno($con)) 
    { 
    echo "Failed to connect to MySQL: " . mysqli_connect_error(); 
    } 
$sql="INSERT INTO Details (FirstName, surname, email) 
VALUES('$_POST[firstname]','$_POST[surname]','$_POST[email]')"; 
if (!mysqli_query($con,$sql)) 
    { 
    die('Error: ' . mysqli_error($con)); 
    } 
echo "1 record added"; 

mysqli_close($con); 

?> 

</body> 

</html> 
+0

您正在使用哪种环境和编辑器? –

+0

erm ..记事本++和本地主机? – user3181157

+0

是在您的机器上运行加载和配置的PHP的网络服务器吗? –

我相信你没有在Apache中安装PHP,所以Apache不能将PHP扩展的文件解释为正确的脚本。请检查您的Apache服务器是否已安装,是否以正确的方式进行了配置,并且还安装了PHP模块。

我希望你试图通过http://localhost/.../calendar_start.php来调用你的脚本,而不是file://C:/www/.../calendar_start.php

+0

其他PHP文件工作正常 – user3181157

+0

你能给我们一个工作的例子吗? –

+0

编辑我的oringial文章包含工作php文件 – user3181157

这就是为什么在你的“不同的计算机”PHP没有运行。当你没有在你的web服务器上运行或安装PHP(并已配置)时,Apache将按照原样输出代码。

如果没有安装PHP,PHP代码就无法解析。

+0

我可以运行其他的php文件 – user3181157

apache是​​否配置为将带有后缀“.php”的文件解释为PHP文件?检查你的apache的mod_php配置。它应该包含这样的东西。

位置取决于您运行的服务器类型。此示例在Windows上显示xampp。请参阅/apache/conf/extra/httpd-xampp.conf

# 
# PHP-Module setup 
# 
LoadFile "<path to php installation>/php5ts.dll" 
LoadModule php5_module "<path to php installation>/php5apache2_2.dll" 

<FilesMatch "\.php[5]*$"> 
    SetHandler application/x-httpd-php 
</FilesMatch> 
<FilesMatch "\.phps$"> 
    SetHandler application/x-httpd-php-source 
</FilesMatch> 

另一个用于Debian的示例。请参阅/etc/apache2/mods-available/php5.conf

<IfModule mod_php5.c> 
    <FilesMatch "\.ph(p3?|p5?|tml)$"> 
     SetHandler application/x-httpd-php 
    </FilesMatch> 
    <FilesMatch "\.phps$"> 
     SetHandler application/x-httpd-php-source 
    </FilesMatch> 
    # To re-enable php in user directories comment the following lines 
    # (from <IfModule ...> to </IfModule>.) Do NOT set it to On as it 
    # prevents .htaccess files from disabling it. 
    <IfModule mod_userdir.c> 
     <Directory /home/*/public_html> 
      php_admin_value engine Off 
     </Directory> 
    </IfModule> 
</IfModule> 
+0

任何反馈?它有用吗? – ToBe