【发布时间】:2020-06-23 16:44:27
【问题描述】:
这是我遇到的错误(仅当我单击提交按钮时才会显示):
致命错误:未捕获错误:调用 /var/www/html/php/GoodQuotes/new.php:17 中未定义的函数 getLine() 堆栈跟踪:在 /var/www 中抛出 #0 {main} /html/php/GoodQuotes/new.php 第 17 行
这是第 17 行,我似乎找不到它有什么问题
catch(Throwable $e){
echo '<div class ="alert alert-danger">'.get_class($e).'on line '.getLine().'in file '.getFile().': '.$e->getMessage().'</div>';
}
}
下面是整个 new.php 脚本
<?php include './config.php';?>
<?php include './classes/database.php' ?>
<?php include './classes/Quotes.php' ?>
<?php
if (isset($_POST['submit'])) {
$text = $_POST['text'] ?: null;
$creator = $_POST['creator'] ?: 'Unknown';
try{
$quotesObj = new Quote();
$quotes = $quotesObj->add($text, $creator);
}
catch(Throwable $e){
echo '<div class ="alert alert-danger">'.get_class($e).'on line '.getLine().'in file '.getFile().': '.$e->getMessage().'</div>';
}
}
?>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>iQuote</title>
<link rel="stylesheet" type="text/css" href="./css/style.css">
<link rel="stylesheet" type="text/css" href="./css/bootstrap.css">
</head>
<body>
<div class="container">
<div class="header clearfix">
<nav>
<ul class="nav nav-pills float-right">
<li class="nav-item">
<a href="index.php">Home <span class="sr-only">(current)</span></a>
</li>
<li class="nav-link active">
<a class="nav-link" href="new.php">New Quote</a>
</li>
<li class="nav-item">
<a class="nav-link" href="#">Contact</a>
</li>
</ul>
</nav>
<h3 class="text-muted">Project name</h3>
</div>
<div class="row marketing">
<div class="col-lg-12">
<h2>Add Quotes</h2>
<form method="POST" action="<?php echo $_SERVER['PHP_SELF']; ?>">
<div class="form-group">
<label>Quote Text</label>
<input type="text" class="form-control" name="text" placeholder="Quote Text...">
</div>
<div class="form-group">
<label>Creator/Author</label>
<input type="text" class="form-control" name="creator" placeholder="Creator name...">
<button type="submit" name="submit" class="btn btn-default">Submit</button>
</div>
</form>
</div>
</div>
<footer class="footer">
<p>© TechRats 2020</p>
</footer>
</div> <!-- /container -->
</body>
</html>
【问题讨论】:
-
“我似乎找不到它的问题” - 错误信息非常清楚。您正在尝试调用一个名为
getLine()的函数,而 PHP 找不到任何名为getLine()的函数已定义。它不是原生 PHP 函数。它是您制作的自定义函数吗?