Проблемы макета страницы с PHP, HTML и CSS - PullRequest
0 голосов
/ 01 февраля 2011

По какой-то причине мой CSS не форматирует мои теги div в правильные места на странице.Он работает на всех других моих страницах, но на этой странице гораздо больше PHP, чем обычно, и мне интересно, в этом ли проблема.Страница

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">

<head>
<meta content="text/html; charset=utf-8" http-equiv="Content-Type" />
<title>Untitled 1</title>
<link href="stylesheet.css" rel="stylesheet" type="text/css" />
</head>

<body>
<?php
    require("protect/serverInfo.php");
    $myusername=$_POST[Email]; 
    $mypassword=$_POST[Password];
    $result = mysql_query("SELECT * FROM Customers WHERE Email='$myusername' AND Password=$mypassword");
    $count=mysql_num_rows($result);
    if($count==1){
        while($row = mysql_fetch_array($result)){
        ?>
        <div class="wrapper">
            <div class="customerHead">';
                <h1>  
                    <?php echo $row['Customer'] ?> 
                </h1>
            </div>
            <div class="customerInfoMain">
                 Company: <?php echo $row['Company'] ?><br />
                  State: <?php echo $row['State'] ?>
            </div>  
            <div class="customerCards">';
                 <a href ="something/<?php echo $row['imagePathFront'] ?>" target="_blank"><img src="<?php echo $row['imagePathFront'] ?>" width="400px" height="303px" align="center" alt="" /></a>
                 <a href ="something/<?php echo $row['imagePathBack'] ?>" target="_blank"><img src="<?php echo $row['imagePathBack'] ?>" width="400px" height="303px" align="center" alt="" /></a>
            </div>  
            <div class="customerComments">';
                <h5>Changes Made:</h5><br /> <?php echo $row['Comments'] ?> 
            </div>
        </div>
    <?php   
        }
    }
    else {
        echo "Wrong Username or Password";
    }
?>

</body>

</html

>

CSS

.customerCards{
    top: 150px;
    position: relative;
    width: 425px;
    border: 3px;
    border-style:solid;
    border-color: black;
    background-color: silver;
    z-index:1;
}
.customerInfoMain{
    top: 200px;
    position: relative;
    width: 200px;
    left: 520px;
    border: 3px;
    border-style:solid;
    border-color: black;
    background-color: silver;
    z-index:2;
}
.customerComments{
    position: relative;
    width: 200px;
    left: 580px;
    border: 3px;
    border-style:solid;
    border-color: black;
    background-color: silver;
    z-index:2;
}

.wrapper{
    position: absolute;
    left: 50%;
    width: 900px;
    margin-left: -475px;
}

Источник после загрузки страницы

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">



<head>

<meta content="text/html; charset=utf-8" http-equiv="Content-Type" />

<title>Untitled 1</title>

<link href="stylesheet.css" rel="stylesheet" type="text/css" />

</head>



<body>

Wrong Username or Password

</body>



</html>

Ответы [ 2 ]

4 голосов
/ 01 февраля 2011

потому что ваша оболочка только запускается, если есть пользователь .. Но что произойдет, если вы поместите свою оболочку в PHP, например:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta content="text/html; charset=utf-8" http-equiv="Content-Type" />
<title>Untitled 1</title>
<link href="stylesheet.css" rel="stylesheet" type="text/css" />
</head>
<body>
    <div class="wrapper">
        <?php
        require("protect/serverInfo.php");
        $myusername=$_POST[Email]; 
        $mypassword=$_POST[Password];
        $result = mysql_query("SELECT * FROM Customers WHERE Email='$myusername' AND Password=$mypassword");
        $count=mysql_num_rows($result);
        if($count==1){
            while($row = mysql_fetch_array($result)){
            ?>

                <div class="customerHead">';
                    <h1>  
                        <?php echo $row['Customer'] ?> 
                    </h1>
                </div>
                <div class="customerInfoMain">
                     Company: <?php echo $row['Company'] ?><br />
                      State: <?php echo $row['State'] ?>
                </div>  
                <div class="customerCards">';
                     <a href ="something/<?php echo $row['imagePathFront'] ?>" target="_blank"><img src="<?php echo $row['imagePathFront'] ?>" width="400px" height="303px" align="center" alt="" /></a>
                     <a href ="something/<?php echo $row['imagePathBack'] ?>" target="_blank"><img src="<?php echo $row['imagePathBack'] ?>" width="400px" height="303px" align="center" alt="" /></a>
                </div>  
                <div class="customerComments">';
                    <h5>Changes Made:</h5><br /> <?php echo $row['Comments'] ?> 
                </div>

        <?php   
            }
        }
        else {
            echo "Wrong Username or Password";
        }
        ?>
    </div>
</body>
</html>

«Тогда вам нужно немного поработать с CSS?»

0 голосов
/ 01 февраля 2011

Разделение кода по функциональности и расчетам не должно быть в одном месте, HTML должен отображаться последним.Продолжая работать таким образом, вы доставите много хлопот.Все должно быть сделано так:

loginProcess.php содержит: if (isset ($ _ SESSION ["user"]) {$ row = $ _SESSION ["user"];} include ("loginPage.php");?>

и это longinPage.php (вы можете включить любой из них, в который хотите). Либо включите loginPage.php в конце loginProcess.php, либо loginProcess.php в началеиз loginPage.php

, так что loginPage.php содержит

<! DOCTYPE html PUBLIC "- // W3C // DTD XHTML 1.0 Transitional // EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

Без названия 1

if (isset ($ _ SESSION ['user'])) {

    < div class="wrapper">

        < div class="customerHead">';

            <h1><!---you know the row from before---/>  

                <?php echo $row['Customer'] ?> 

            </h1>

        </div>

        <div class="customerInfoMain">

             Company: <?php echo $row['Company'] ?><br />
              State: <?php echo $row['State'] ?>

        </div>  
        <div class="customerCards">';

             <a href ="something/<?php echo $row['imagePathFront'] ?>" target="_blank"><img src="<?php echo $row['imagePathFront'] ?>" width="400px" height="303px" align="center" alt="" /></a>

             < a href ="something/<?php echo $row['imagePathBack'] ?>" target="_blank">

        </div>  

        <div class="customerComments">';

            <h5>Changes Made:</h5><br /> <?php echo $row['Comments'] ?> 

        </div>

    </div>

<?php   

    }

}
else {?>
     <form action="/loginProcess.php" (or loginPage.php if loginPage includes the loginProcess) method="POST">
            <input type="text" name="Email" value=""/>
            <input type="password" name="Password" value=""/>
            <input type="submit" value="login"/>
       </form>
<?php}?>

?>

сначала будет показана форма входа в систему и пользователь введет свои учетные данные, эти учетные данные будут провереныed, и если они в порядке, SESSION ['user'] устанавливается (помните, что для этого вам нужно начать сеанс), пока сеанс сохраняется, вам не нужно будет постоянно запрашивать вход в систему.В любом случае, если вы не хотите по какой-либо причине полностью разделять проблемы с базой данных / проблемы с процессами / просмотра проблем, по крайней мере вы должны отделить процесс от просмотра (хранение проблем с базами данных в области обработки).Проверьте некоторые фреймворки онлайн или попробуйте найти способ написать код с большей осторожностью, иначе у вас останутся бесполезные проблемы, которые напрасно тратят ваше время.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...