这是关于编程PHP时可能遇到的警告,错误和通知的一些答案,并且不知道如何修复.这也是社区Wiki,因此邀请每个人参与添加和维护此列表.
Stack Overflow上经常弹出诸如"已发送标头"或"调用非对象成员"之类的问题.这些问题的根本原因总是一样的.因此,这些问题的答案通常会重复,然后显示OP在他/她的特定情况下要改变哪一行.这些答案不会为网站添加任何价值,因为它们仅适用于OP的特定代码.具有相同错误的其他用户不能轻易地从中读取解决方案,因为它们过于本地化.这很难过,因为一旦你理解了根本原因,修复错误是微不足道的.因此,该列表试图以一般的方式解释解决方案.
如果您的问题已被标记为重复,请在下面找到您的错误消息并将修复程序应用于您的代码.答案通常包含进一步调查的链接,以防单独的一般答案不清楚.
如果您想贡献,请添加您的"收藏"错误消息,警告或通知,每个答案一个,简短说明它意味着什么(即使它只是突出显示其手册页的术语),可能的解决方案或调试方法和现有问答的清单.此外,随时改善任何现有的答案.
另外,请参阅
我觉得用PHP编程非常令人沮丧.我经常尝试运行脚本,然后再回一个空白屏幕.没有错误消息,只是空屏幕.原因可能是一个简单的语法错误(错误的括号,缺少分号),或者函数调用失败,或其他完全错误.
弄清楚出了什么问题是非常困难的.我最终评论出代码,在任何地方输入"echo"语句等等,试图缩小问题范围.但肯定有一个更好的方法,对吗?
那么,有没有办法让PHP产生像Java那样有用的错误信息呢?任何人都可以推荐良好的PHP调试技巧,工具和技术?
这从未发生过.通常它会显示错误,但现在它只给我一个500内部服务器错误.当然,之前,当它显示错误时,它是不同的服务器.现在我在一个新的服务器上(我有完全的root,所以如果我需要在php.ini中的某个地方配置它,我可以.)或者也许是Apache的东西?
我一直在忍受它只是将文件传输到我的其他服务器并在那里运行以找到错误,但这变得太乏味了.有没有办法来解决这个问题?
我有一个PHP页面,我在本地开发并且工作正常.将它上传到服务器后,我现在只得到一个空白的白色屏幕?它是完全相同的代码,在本地工作正常但不远程.我已尝试设置错误报告,但仍然没有给我任何错误,只是一个空白的白色屏幕.
编辑----------代码:
$firstname = $phone = $email = $picture = $sqlcon = "";
$firstnameErr = $phoneErr = $emailErr = $pictureErr = $sqlErr = $filterErr = "";
$statusmsg = "";
$newpicture = $registered = "false";
if ($_SERVER["REQUEST_METHOD"] == "POST") {
// If the user has not entered a firstname and has not entered details previously
if ((empty($_POST["firstname"])) && empty($_POST["hfirst"])) {
$firstnameErr = "Firstname is required for submission";
}
else {
if (!empty($_POST["firstname"])) {
$firstname = $_POST["firstname"];
}
else {
$firstname = …Run Code Online (Sandbox Code Playgroud) 我正在寻找Magento的结账购物车页面的解决方案.当我将物品添加到购物车中时,购物车页面变得空白.!!
我已经尝试了几个选项,但仍显示空白.我已启用cookie等但仍然没有运气.我正在使用firefox浏览器并附加了cookie设置的屏幕截图.
页面URL - index.php/checkout/cart/add/uenc/aHR0cDovLzE5Mi4xNjguMS4xMTQ6ODEvZXNzZW50aWFsbHkvaW5kZXgucGhwL2NsZWFuc2UuaHRtbD9fX19TSUQ9VQ ,,/product/2 /
请有人帮我解决这个问题吗?
http://www.itsthe1.com/cookies.jpg
提前致谢.
我有一个包含"标题","颜色"等内容的数据库,我想在网页中显示这些信息.但是,由于某些未知的原因,什么都不会出现,甚至不会出现错误,这使得我完全迷失了.
我用这个把我需要的东西放到一个数组中:
<?php
try{
$req = $db ->prepare("SELECT titre, couleur, categorie, img_url, prix, type FROM articles WHERE id = 9");
$article = $req ->fetch(PDO::FETCH_ASSOC);
}
catch(PDOException $e){
echo $e;
exit();
}
?>
Run Code Online (Sandbox Code Playgroud)
我与数据库的连接是成功的,但即使我使用了数据库,我甚至看不到我的数组的内容
<pre> <?php print_r($array) ?> </pre>
Run Code Online (Sandbox Code Playgroud)
技术.我的工作代码是基于我现有的代码,我不记得我做错了什么...提前谢谢你!
这是我目前正在处理的一段代码:
$outputDisplay .= '<div class="col-md-3">
<p class="launch">Mission: '.$mission.'</p>';
//If there are mission details, they will be displayed here
if (!$details){
$outputDisplay .= "";
}
else{
$outputDisplay .= '<a href="'.$details.'"target="_blank">Mission Details</a>';
}
//Closes out mission/details section
$outputDisplay .= '</div>';
Run Code Online (Sandbox Code Playgroud)
我正在建立一排,这是我想要完成的.它将显示来自$mission不管的数据,那里总会有信息.但是,并不总是与任务相关联的网站,由代表$details.$details是一个网站地址或根本没有.
简而言之,如果那里有信息,我希望它被表示为一个链接.我想我会用各种报价和双引号来倒退.对于像我这样的初学者来说,任何帮助都会很棒.
我是新手使用PDO,我在提交表单时收到http 500服务器错误.
带有处理代码的php页面在正确的文件夹中,所以我不知道它为什么会抛出500错误.
没有任何网址重写.
这是我的代码:
try {
$dbh = new PDO("mysql:host=$hostname;dbname=crm",$username,$password);
$dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); // <== add this line
$stmt = $db->prepare("INSERT INTO testdrives (forename, surname,phone,email,add1,add2,add3,city,county,postcode,car,date) VALUES (:forename, :surname,:phone,:email,:add1,:add2,:add3,:city,:county,:postcode,:car,:date)");
$stmt->bindParam(':forename', $_POST['forename']);
$stmt->bindParam(':surname', $_POST['surname']);
$stmt->bindParam(':phone', $_POST['phone']);
$stmt->bindParam(':email', $_POST['email']);
$stmt->bindParam(':add1', $_POST['add1']);
$stmt->bindParam(':add2', $_POST['add2']);
$stmt->bindParam(':add3', $_POST['add3']);
$stmt->bindParam(':city', $_POST['city']);
$stmt->bindParam(':county', $_POST['county']);
$stmt->bindParam(':postcode', $_POST['postcode']);
$stmt->bindParam(':car', $_POST['car']);
$stmt->bindParam(':date', $_POST['date']);
$stmt->execute();
if ($dbh->query($sql)) {
echo "<script type= 'text/javascript'>alert('New Record Inserted Successfully');</script>";
}
else{
echo "<script type= 'text/javascript'>alert('Data not successfully Inserted.');</script>";
}
$dbh = null;
}
catch(PDOException $e)
{ …Run Code Online (Sandbox Code Playgroud)