PHP代码无法正常运行服务器错误500

时间:2016-02-10 05:47:57

标签: php html

更新:谢谢大家的帮助。我已经使用我所做的更改更新了下面的代码。如果一行被评论,那是我尝试过的东西而且它不起作用,现在没有注释的是我的最后一次尝试。我仍然无法加载我的页面。 再次感谢您!

网站位置:www.encapdio.com/pyscraper.php 我是一个系统人员,他开始编程并决定将一个网站放在一起学习php。我的代码如果导致页面错误500,甚至我的php.ini文件显示错误,它似乎只是打破。我在代码中找不到任何错误,但我很可能需要一双新眼睛。这是应该做的。

此页面的目的是获取每行股票代码符号。一旦你点击提交我的代码应检查textarea是否为空。   如果它不为空,则将$ content添加到数组中,将$ linebreak添加到每个数组项的末尾并对\ r \ n类型换行符进行说明,然后逐行将每个条目写入文件。   如果它是空的,则表示没有输入代码。

然后,如果一切都成功并且状态=结果,您可以看到股票价格旁边的股票代码。我有一个经过全面测试的python脚本,检查将执行我的webcrawler / scraper / ticker_inputs.txt更新程序的ticker_inputs.txt文件。

我无法更新ticker_input.txt文件,甚至在同一页面上显示php和html,而不会出现服务器错误500.

示例代码:

<?php
include("inc/header.php");
include("inc/nav.php");

#if (isset ($_POST[$text_name])) && $_POST['text_name'] != "") {
if (!empty($_POST['textfile'])) {
    $content = isset($_POST['textfile'])?$_POST['textfile']:"";
    $linebreak = explode("\n", str_replace("\r", "", $content));
  $tick_wfile = fopen("ticker_input.txt", "w") or die("Unable to open file!");
    fwrite($tick_wfile,$linebreak);
    fclose($tick_wfile);
   if (empty($_POST['textfile'])) {
   echo "No Tickers Were Entered!";
  }
header("Location: pyscraper.php?status=results");
exit;
}
include("inc/header.php");
include("inc/nav.php"); ?>

<div class="container" align="center">
    <div class="page-header">
          <br><h1>Web Scraper<small> built with python</small></h1>
    <?php if (isset($_GET["status"]) && $_GET["status"] == "results") {
         $tick_rfile = fopen("ticker_input.txt","r") or die("Unable to open file after writting to it!");
        echo fread($tick_rfile,filesize("ticker_input.txt"));
        fclose($tick_rfile);
} else { ?>
    <form name="savefile" method="post" action="">
        <fieldset class="form-group">
        <label for="tickerlist">Enter Tickers <small>(one per line)</small></label>
        <textarea name="textfile" class="form-control" rows="5"></textarea>
        </fieldset>
        <button type="submit" name="submit_file" value="Save File" class="btn btn-primary">Submit</button>
    </form>
    <?php } ?>
    </div>
</div>
<?php include("inc/footer.php"); ?>

4 个答案:

答案 0 :(得分:0)

尝试更改:

header("location:pyscraper.php?status=results");

header("Location: pyscraper.php?status=results");
exit;

基本上,如果没有exit;,PHP的其余部分仍然会被执行。 HTTP headers are case sensitive也是https://jsfiddle.net/zmp1ghat/

如果这不起作用,我将删除答案。发表评论将更难以遵循。

答案 1 :(得分:0)

此行中缺少一个右括号

$linebreak = explode("\n", str_replace("\r", "", $content);

检查您的代码

答案 2 :(得分:0)

在isset之后的第四行缺少一个开放的paranthesis。

此外,您无法在函数调用中使用isset进行检查。请尝试使用empty()。 $ _POST ['textfile']始终设置但可以为空

检查this link了解更多

答案 3 :(得分:0)

您在此处缺少if (isset $_POST[$text_name])括号 if(isset($_POST[$text_name]) && $_POST['text_name'] != "")。请尝试此操作以检查其是否为空以及是否设置为<div id="header-carousel" class="carousel slide" data-ride="carousel"> <div class="carousel-inner"> <div id="cazza1" class="item active"> </div> <div id="cazza2" class="item"> </div> <div id="cazza3" class="item"> </div> </div> </div>