【问题标题】:styling php output - need to make it look pretty [closed]样式化php输出 - 需要让它看起来很漂亮[关闭]
【发布时间】:2023-03-23 07:05:01
【问题描述】:

我正在为我的网站创建一个登录页面。我花了一天时间学习 php 并写了一些有用的东西。但是,我无法设置输出样式。我该怎么做(可能是一个非常愚蠢的问题)?

基本上这是我的登录页面代码:

<?php
    session_start();
    // dBase file
    include "dbConfig.php";

    if ($_GET["op"] == "login")
    {
       if (!$_POST["username"] || !$_POST["password"])
       {
         die("You need to provide a username and password.");
       }

       // Create query
       $q = "SELECT * FROM `dbusers` "
       ."WHERE `username`='".$_POST["username"]."' "
       ."AND `password`=PASSWORD('".$_POST["password"]."') "
       ."LIMIT 1";
       // Run query
       $r = mysql_query($q);

      if ( $obj = @mysql_fetch_object($r) )
      {
        // Login good, create session variables
        $_SESSION["valid_id"] = $obj->id;
        $_SESSION["valid_user"] = $_POST["username"];
        $_SESSION["valid_time"] = time();

        // Redirect to member page
        Header("Location: members.php");
      }
      else
      {
        // Login not successful
        die("Sorry, could not log you in. Wrong login information.");
      }
   }
   else
   {
    //If all went right the Web form appears and users can log in
    echo "<form action=\"?op=login\" method=\"POST\">";
    echo "Username: <input name=\"username\" size=\"15\"><br />";
    echo "Password: <input type=\"password\" name=\"password\" size=\"8\"><br />";
    echo "<input type=\"submit\" value=\"Login\">";
    echo "</form>";
   }
 ?>

现在,这一切都很好。我只需要让它看起来更好一点。我想知道怎么做?我有一个 CSS 文件,用于设置标题、菜单、背景等的样式。这种样式效果很好。 感谢您的帮助

【问题讨论】:

  • 您希望在 PHP 代码中设置什么样式? die() 消息或form?不确定您是否可以设置die 的样式。但是你对form 做了什么?
  • 所有你echo 最终都像HTML。所以你可以使用CSS
  • 啊啊啊啊啊SQL注入!见here
  • 会着手解决这个问题.. 但是为什么有这么多投反对票的家伙呢?
  • 我很遗憾我只对 SQL 注入评论投了赞成票。这一点怎么强调都不够

标签: php html css


【解决方案1】:

使用 CSS 并将类/ID 添加到您的代码中,例如:

echo "<form class="red" action=\"?op=login\" method=\"POST\">";
echo "Username: <input name=\"username\" size=\"15\"><br />";
echo "Password: <input type=\"password\" name=\"password\" size=\"8\"><br />";
echo "<input type=\"submit\" value=\"Login\">";
echo "</form>";

并在你的 CSS 文件中有,例如:

.red{
    background-color:red;
}

请参阅here 了解一些想法。 正如@GuyT 所提到的,您需要更改使用 POST 变量的方式,您的代码存在 SQL 注入的风险,这可能使用户可以很容易地访问/删除/更改您的数据库。请参阅here 寻求帮助。

【讨论】:

  • +1 明确地回答了 OP 的问题,但每个人都做得很好,因为他们指出了 SQL 注入。
【解决方案2】:

您还必须改进此脚本。我很抱歉,但它是真正的垃圾。你没有转义字符串,所以你很容易受到 SQL 注入的攻击,你正在使用已弃用的“mysql_query”而不是“PDO”,你抑制了错误(“@”)等等。我知道你在 1 天之内就学会了,但最好从一开始就学好,然后再乱搞,即使它“对你有用”。

【讨论】:

  • 这就是为什么它在我封闭的服务器上的本地主机上而不是现场。
  • 我不是要冒犯你。我只是提供一些建议。我知道它在你的本地主机上,但如果你真的想学习 PHP,你最好从一开始就做。无论如何祝你好运。附言。要回答您的问题:使用 CSS 并为您的元素指定一个类或 id。
  • 嗯,也许是更好的措辞选择吧?很好..但是当你刚学到一些东西时有人进来告诉你它的垃圾确实有点刺痛..也许你可以帮助我并发布我将如何解决这个问题?已阅读有关 SQL 注入的信息,但仍在苦苦挣扎..
  • @Marriott81 你来到这里是为了提高你的理解,你已经收到了一些很好的反馈。尽量不要这么个人化。请记住,攻击个人的个性和他们的行为是有区别的。那个脚本垃圾。并不意味着你是:-)
  • 哈哈公平,如前所述,我的公司在很短的时间内学会了它。如果有人可以帮助我纠正它以停止注射将非常方便.. 仍然无法理解它..
猜你喜欢
  • 2013-11-17
  • 1970-01-01
  • 2020-06-20
  • 1970-01-01
  • 2015-12-03
  • 2018-01-08
  • 2015-11-16
  • 2019-02-14
相关资源
最近更新 更多