0

我是 PHP 新手,遇到了一些问题。

当我通过 IDE 的编译器运行它们时,我在 Netbeans 7.3 中编写的 .php 文件可以正常工作。但是当我在 Google Chrome 浏览器中运行它们时相同的网页会显示原始代码。

这是一个示例代码 -

<!DOCTYPE html>
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title> Add Your Highscore! </title>
    </head>
    <body>
        <h2> Guitar Wars - Add you highscore!</h2>
        <?php
        //echo "successful!!";


        if(isset($_POST['submit'])){
        $name=$_POST['name'];
        $score=$_POST['score'];
        $screenshot=$_FILES['screenshot']['name'];
        $screenshot_type=$_FILES['screenshot']['type'];
        $screenshot_size=$_FILES['screenshot']['size'];

        $output=false;
        if(!empty($name)&&!!empty($score)&&!empty($screenshot))
       {  

            if ((($screenshot_type == 'image/gif') || ($screenshot_type == 'image/jpeg') || ($screenshot_type == 'image/pjpeg') || ($screenshot_type == 'image/png'))
        && ($screenshot_size > 0) && ($screenshot_size <= GW_MAXFILESIZE)) {
        if ($_FILES['screenshot']['error'] == 0) {
          // Move the file to the target upload folder
          $target = 'images' . $screenshot;
          if (move_uploaded_file($_FILES['screenshot']['tmp_name'], $target)) 
            // Connect to the database
         {
            $db=  mysqli_connect('localhost','root', 'akash123','gwdb') 

                  or die('Error in connecting to the database');
        //echo "</br> successful connection";
        $query= "insert into guitar wars values(0,NOW(),$name, $score, $screenshot ";
        //echo "</br> successful query";
        $result= mysqli_query($db,$query) ;

       mysqli_close($db,$query);
       echo "</br> Successful!";
       $name='';
       $score='';
       $screenshot='';

        mysqli_close($db);
        }
        else
        {echo "There was a problem uploading the image";
        }

        }  
        else
        {echo "There was a problem uploading the image";

        $output=true;
        }
        }


        else{echo '<p class="error">The screen shot must be a GIF, JPEG, or PNG image file no greater than ' . (GW_MAXFILESIZE / 1024) . ' KB in size.</p>';
        $output=true;
        }}

        else{echo "* Enter all the information to add your highscore";
        $output=true;
        }

        }

        else
        { 
            $output=true;
            $name='';
            $score='';
        }

            if ($output){ 
            ?>

<form enctype="multipart/form-data" method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>">
    <input type="hidden" name="MAX_FILE_SIZE" value="65536"/>
<label for="name">Full Name:</label>
<input type="text" id="name"  name="name" value="<?php echo $name ; ?>" /></br>
<label for="score">Your Highscore :</label>
<input type="text" id="score"  name="score" value="<?php echo $score ; ?>" /></br>
<label for="screenshot"> Screenshot of your Highscore: </label>
<input type="file" id="screenshot" name="screenshot" /></br>
<input type="submit" name="submit" value="Add"/>

</form>
    <?php

        }


        ?>
    </body>
</html>

Internet Explorer 毫无希望,因为它试图下载 .php 文件。

这个结果的原因是什么?

4

2 回答 2

1

您的网络服务器可能没有将文件传递给 PHP 解释器。检查您的网络服务器配置。

于 2013-03-29T13:54:19.520 回答
1

你不能在浏览器中“打开”一个 php 文件,你必须“运行”它。netbeans 将运行文件(请注意,它们不会像 java 那样被编译)

if you are testing on your local machine, you need an apache installation which runs php (xampp for example).

if you are using xampp:

open the htdocs folder inside the xampp folder.

create a new folder for your webapp.

put your php file in that folder.

in your web browser, NAVIGATE to your php page (in the address bar, type in the IP address of the machine running xampp, or localhost, or however you have it configured, mylocalhostip/mywebapp/myphpfile.php for example.

then it should work fine

于 2013-03-29T14:10:09.123 回答