我有一个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 = $_POST["hfirst"];
}
if (!preg_match("/^[a-zA-Z ]*$/", $firstname)) {
$firstnameErr="Please ensure you have entered only characters for your first name";
}
}
// If the user has not entered a phone number and has not entered details previously
if ((empty($_POST["phone"])) && (empty($_POST["hphone"]))) {
$phoneErr = "Please ensure you have entered a phone number";
}
else {
if (!empty($_POST["phone"])) {
$phone = $_POST["phone"];
}
else {
$phone = $_POST["hphone"];
}
if (!is_numeric($phone)) {
$phoneErr = "Please ensure you have entered a valid phone number";
}
}
if ((empty($_POST["email"])) && (empty($_POST["hemail"]))) {
$emailErr = "Please ensure you have entered your email address";
}
else {
if (!empty($_POST["email"])) {
$email = $_POST["email"];
}
else {
$email = $_POST["hemail"];
}
if (!preg_match("/([\w\-]+\@[\w\-]+\.[\w\-]+)/", $email)) {
$emailErr = "Please ensure you have entered a valid email address";
}
}
if ((empty($_FILES["file"]["name"])) && (empty($_POST["hfile"]))) {
$pictureErr = "Please ensure you have selected a picture to upload";
}
else {
if (!empty($_FILES["file"]["name"])) {
if ($_FILES["file"]["size"] > 1048576) {
$pictureErr = "The maximum size for a picture is 1mb";
}
else {
// Ensure the user has selected a file of accepted type
$temp = explode(".", $_FILES["file"]["name"]);
$ext = end($temp);
$allowedExt = array ("gif", "JPEG", "jpg", "png", "JPG");
if (!in_array($ext, $allowedExt)) {
$pictureErr = "Please ensure you have uploaded an image file";
}
}
$newpicture = "true";
$picture = $_FILES["file"]["name"];
}
else {
$picture = $_POST["hpicture"];
}
}
$sqlcon = mysqli_connect("localhost", "USER", "PASS", "personneldb");
if (mysqli_connect_errno()) {
$sqlErr = "Could not connect to database";
mysqli_close($sqlcon);
}
if ($newpicture == "true") {
if (!move_uploaded_file($_FILES["file"]["tmp_name"], "./upload/".$_FILES["file"]["name"])) {
$pictureErr = "File could not be uploaded";
}
}
if ((empty($firstnameErr)) && (empty($emailErr)) && (empty($phoneErr)) && (empty($pictureErr == "")) && (empty($sqlErr == ""))) {
mysqli_query($sqlcon, "INSERT INTO test2Details(Firstname, Phone, Email, ImageName)
VALUES ('$firstname', '$phone', '$email', '$picture')");
// Display status message
$statusmsg = "Success! Your details and picture have been uploaded and stored";
}
if ((!empty($firstname)) && (!empty($phone)) && (!empty($email)) && (!empty($picture))) {
$registered = "true";
}
else {
$registered = "false";
}
}
答案 0 :(得分:6)
这样可以显示服务器中的错误,但请记住,不建议在生产中使用它而不是在PHP文件中,这些配置必须在php.ini中设置
ini_set('display_startup_errors',1);
ini_set('display_errors',1);
error_reporting(-1);
有关详细信息,请参阅:
答案 1 :(得分:0)
要检查的事项:
$_SERVER["REQUEST_METHOD"]
:如果您正在使用其他服务器,则可能是问题,请检查此密钥是否存在,否则,请使用isset($_POST)
数据库连接?,可能是用户或传递的一些错误?
检查PHP错误日志,如果您不知道存储的位置,请执行此操作:php -i | grep error_log
,应返回错误日志的路径
检查服务器错误日志,日志通常在/var/log/SERVER
(SERVER可能是lighttpd,apache,nginx,httpd,......取决于它)
或者,您可以使用ini_set指令并激活error_reporting
答案 2 :(得分:0)
管理修复我的问题,抓住服务器上的错误日志,发现我得到一个解析错误!
答案 3 :(得分:-1)
表示处理已完成。一切都很好,代码没有任何错误结束。
您应该喜欢 echo 'You have successfully created'
。