Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/250.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
我的HTML中的php正在使我的页面偏移?_Php_Html - Fatal编程技术网

我的HTML中的php正在使我的页面偏移?

我的HTML中的php正在使我的页面偏移?,php,html,Php,Html,我试图在我的网站上设置一个上传区域,但当我加载页面时,所有内容都会发生偏移,但当我删除HTML中的php时,它会恢复正常。不知道它为什么这么做。有人知道怎么解决这个问题吗 <?php ob_clean();session_start(); if (isset($_GET['logout'])){ session_destroy(); } if (!isset($_SESSION['loggedin']) || $_SESSION['logge

我试图在我的网站上设置一个上传区域,但当我加载页面时,所有内容都会发生偏移,但当我删除HTML中的php时,它会恢复正常。不知道它为什么这么做。有人知道怎么解决这个问题吗

<?php
ob_clean();session_start();

    if (isset($_GET['logout'])){
        session_destroy();  
    }

    if (!isset($_SESSION['loggedin']) || $_SESSION['loggedin'] == false) {
        header("Location: index.php");
    }

    if(isset($_FILES['UploadFileField'])){
        $allowed = array('jpg','png','jpeg');
        $name = $_FILES["UploadFileField"]["name"];
        $tmp = $_FILES['UploadFileField']['tmp_name'];
        $type = $_FILES['UploadFileField']['type'];
        $newName = "Image Attachment.jpg";
        $types = array('jpg','png','jpeg');
        $ext = pathinfo($name, PATHINFO_EXTENSION);

        if(in_array($ext,$types)){
            move_uploaded_file($tmp, "UPLOADS/$newName");
            echo '<font size="3"><p align="center"><b>UPLOAD SUCCESSFUL: </font><font color="#000000" size="3">Your document has now been uploaded and is ready to send.</b></p></font>';
            $loadingimage = true;
        }

        else {
            if(!$tmp){
                echo '<font size="3"><p align="center"><b>UPLOAD FAILED: </font><font color="#000000" size="3">No document has been selected.</b></p></font>';
            }

            else {
                echo '<font size="3"><p align="center"><b>UPLOAD FAILED: </font><font color="#000000" size="3">Uploaded document was an incorrect extension type, please use ".jpg", ".jpeg", or "png" only.</b></p></font>';
            }
        }
    }

    if (isset($_POST['submit'])){
        header( 'Location: Review.php' );
    }

    if (isset($_POST['delete'])){   
        if (file_exists("UPLOADS/Image Attachment.jpg")) {
            echo '<font size="3"><p align="center"><b>DETLEION COMPLETE: </font><font color="#000000" size="3">Image no longer available</b></p></font>';
            unlink('UPLOADS/Image Attachment.jpg');
            $loadingimage = false;
        }

        else{
            echo '<font size="3"><p align="center"><b>DETLEION FAILED: </font><font color="#000000" size="3">No image available for Deletion</b></p></font>';
        }
    }   
?>

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <meta name="viewport" content="width=device-width, initial-scale=1">

        <title>Attach Image</title>

        <link href="CSS/boilerplate.css" rel="stylesheet" type="text/css">
        <link href="CSS/master.css" rel="stylesheet" type="text/css"> 
        <script src="JAVASCRIPT/respond.min.js"></script>
</head>
<body link="black">
    <div class="gridContainer clearfix">
        <div id="borderDiv">
            <div id="navDiv">
                <div id="backNavDiv">   
                    <a href="index.php?logout"><font color="white"><p align="right"><b>&nbsp;&lt;&nbsp;Log Out</b></p></font></a>
                </div>
            </div>

            <div id="headerDiv">
                <p>Attach Image</p>
            </div>                


            <div id="loginBtnDiv">
                <div id="uploadAreaDiv">
                    <form action="AttachImage.php" method="post" enctype="multipart/form-data" name="FileUploadForm" id="FileUploadForm">
                    <label for="UploadFileField"></label>
                    <input type="file" name="UploadFileField" id="UploadFileField"/>
                    <input type="submit" name="UploadButton" id="UploadButton" value="Upload"/>
                    </form>     
                </div>

                <form action="AttachImage.php" method="post" enctype="multipart/form-data" name="delete" id="delete">
                    <input id="delete" name="delete" type="submit" value="Delete">
                </form>

                <form action="AttachImage.php" method="post" enctype="multipart/form-data" name="FileForm" id="FileForm">
                    <input id="submit" name="submit" type="submit" value="Next">
                </form>
            </div>

        </div>
    </div>
    <div id="logoDiv">
        <img src="IMAGES/Logo.png">
    </div> 
</body>
</html>

您的问题是因为您在回显body标签之外的内容!试试这个:

<!DOCTYPE html>

<?php
ob_clean();session_start();

if (isset($_GET['logout'])){
    session_destroy();  
}

if (!isset($_SESSION['loggedin']) || $_SESSION['loggedin'] == false) {
    header("Location: index.php");
}

if (isset($_POST['submit'])){
    header( 'Location: Review.php' );
}

?>

<html>
<head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1">

    <title>Attach Image</title>

    <link href="CSS/boilerplate.css" rel="stylesheet" type="text/css">
    <link href="CSS/master.css" rel="stylesheet" type="text/css"> 
    <script src="JAVASCRIPT/respond.min.js"></script>
</head>
<body link="black">

<?php
 if (isset($_POST['delete'])){   
    if (file_exists("UPLOADS/Image Attachment.jpg")) {
        echo '<font size="3"><p align="center"><b>DETLEION COMPLETE: </font><font color="#000000" size="3">Image no longer available</b></p></font>';
        unlink('UPLOADS/Image Attachment.jpg');
        $loadingimage = false;
    }

    else{
        echo '<font size="3"><p align="center"><b>DETLEION FAILED: </font><font color="#000000" size="3">No image available for Deletion</b></p></font>';
    }
}  
if(isset($_FILES['UploadFileField'])){
    $allowed = array('jpg','png','jpeg');
    $name = $_FILES["UploadFileField"]["name"];
    $tmp = $_FILES['UploadFileField']['tmp_name'];
    $type = $_FILES['UploadFileField']['type'];
    $newName = "Image Attachment.jpg";
    $types = array('jpg','png','jpeg');
    $ext = pathinfo($name, PATHINFO_EXTENSION);

    if(in_array($ext,$types)){
        move_uploaded_file($tmp, "UPLOADS/$newName");
        echo '<font size="3"><p align="center"><b>UPLOAD SUCCESSFUL: </font><font color="#000000" size="3">Your document has now been uploaded and is ready to send.</b></p></font>';
        $loadingimage = true;
    }

    else {
        if(!$tmp){
            echo '<font size="3"><p align="center"><b>UPLOAD FAILED: </font><font color="#000000" size="3">No document has been selected.</b></p></font>';
        }

        else {
            echo '<font size="3"><p align="center"><b>UPLOAD FAILED: </font><font color="#000000" size="3">Uploaded document was an incorrect extension type, please use ".jpg", ".jpeg", or "png" only.</b></p></font>';
        }
    }
}
?>    

<div class="gridContainer clearfix">
    <div id="borderDiv">
        <div id="navDiv">
            <div id="backNavDiv">   
                <a href="index.php?logout"><font color="white"><p align="right"><b>&nbsp;&lt;&nbsp;Log Out</b></p></font></a>
            </div>
        </div>

        <div id="headerDiv">
            <p>Attach Image</p>
        </div>                


        <div id="loginBtnDiv">
            <div id="uploadAreaDiv">
                <form action="AttachImage.php" method="post" enctype="multipart/form-data" name="FileUploadForm" id="FileUploadForm">
                <label for="UploadFileField"></label>
                <input type="file" name="UploadFileField" id="UploadFileField"/>
                <input type="submit" name="UploadButton" id="UploadButton" value="Upload"/>
                </form>     
            </div>

            <form action="AttachImage.php" method="post" enctype="multipart/form-data" name="delete" id="delete">
                <input id="delete" name="delete" type="submit" value="Delete">
            </form>

            <form action="AttachImage.php" method="post" enctype="multipart/form-data" name="FileForm" id="FileForm">
                <input id="submit" name="submit" type="submit" value="Next">
            </form>
        </div>

    </div>
</div>
<div id="logoDiv">
    <img src="IMAGES/Logo.png">
</div> 
</body>
</html>

附加图像
附加图像


您需要将HTML和PHP分离到它们自己的文件中。使用Javascript分别运行PHP文件,并在需要时调用操作

这是一个如何工作的示例

$s_sql="SELECT lots.lot_number
            FROM lots
            WHERE lots.lot_number LIKE '".$_REQUEST["q"]."%'";

$result = mysqli_query($con,$s_sql);
$s_arr = mysqli_fetch_array($result);

// Output
echo isset($s_arr) === false ? '' : $s_arr[0];
?>
此示例是一个搜索和填充函数。这并不是针对你的问题,但你应该能够理解逻辑

Javascript函数
formFill()
是使用HTML输入字段中的
onkeyup
调用的。使用AJAX,Javascript调用一个单独的文件(在本例中是一个运行数据库查询的PHP文件),并输出指定的内容(即
document.getElementById(x).innerHTML=xmlhttp.responseText;

HTML

<input type="text" onkeyup="formFill(this.value, 'lot')" name="lot_number"/>
<div id="lot"></div>
$s_sql="SELECT lots.lot_number
            FROM lots
            WHERE lots.lot_number LIKE '".$_REQUEST["q"]."%'";

$result = mysqli_query($con,$s_sql);
$s_arr = mysqli_fetch_array($result);

// Output
echo isset($s_arr) === false ? '' : $s_arr[0];
?>
PHP
$s_sql="SELECT lots.lot_number
            FROM lots
            WHERE lots.lot_number LIKE '".$_REQUEST["q"]."%'";

$result = mysqli_query($con,$s_sql);
$s_arr = mysqli_fetch_array($result);

// Output
echo isset($s_arr) === false ? '' : $s_arr[0];
?>

这个PHP查询使用
echo
来“显示”数据,因为整个文件都将被执行并显示给用户。

在启动html之前,您会进行回显,这就是它的偏移量是多少?垂直还是水平?可能是因为关闭php标记和html标记之间的空白。作为旁注,始终
die()
退出()
标题('location:…')之后编辑,是的,正如@YannChabot指出的,php在文档开始之前生成输出你只是假设文件上传已经执行并成功,只是假设移动成功,你只是假设删除成功,yada yada yada。这是很多错误的假设。我建议将
?>
连接起来。正如@andrew提到的,有时空格和换行符会造成麻烦。另外,您是否在多个浏览器中对其进行了测试?输出后是否可以重定向?(
标题(“位置…”)
)?@cale\u b否,一旦开始输出,您就不能发送标题