RError.com

RError.com Logo RError.com Logo

RError.com Navigation

  • 主页

Mobile menu

Close
  • 主页
  • 系统&网络
    • 热门问题
    • 最新问题
    • 标签
  • Ubuntu
    • 热门问题
    • 最新问题
    • 标签
  • 帮助
主页 / user-264729

Linne's questions

Martin Hope
Linne
Asked: 2022-08-10 00:39:24 +0000 UTC

验证登录名/密码对。如何决定?

  • 0

管理员的登录名/密码,存储在数据库中,在表中admin。进入“管理面板”时,有一个验证脚本可以检查它们的正确性。我不知道如何从数据库中传输数据并将其提供给验证器进行验证。这是一个脚本:

public function loginValidate()
{
    $params = [
        'login' => $admin['login'],
        'password' => $admin['password'],
    ];

    $admin = $this->db->all('SELECT * FROM `admin` WHERE login = :login AND password = :password', $params);
    
    /*Это я глядел чего в переменных хранится
    echo 'POST '; print_r($_POST);
    echo '<br />';
    echo 'admin '; print_r($admin);
    echo '<br />';
    echo 'admin '; print_r($admin['login']);
    echo '<br />';
    echo 'admin '; print_r($admin['password']);
    echo '<br />';*/

    if ($admin['login'] != $_POST['login'] or $admin['password'] != $_POST['password']) {
        $this->error = 'Login incorrect!';
        return false;
    }
    
    return true;
}

这是结论:

 Notice: Undefined variable: admin in /models/AdminModel.php on line 28
 Notice: Trying to access array offset on value of type null in /models/AdminModel.php on line 28
 Notice: Undefined variable: admin in /models/AdminModel.php on line 29
 Notice: Trying to access array offset on value of type null /home/max/www/test/application/models/AdminModel.php on line 29
 Notice: Undefined index: login in /models/AdminModel.php on line 42
 {"status":"error","message":"Login incorrect!"}

这是故意输入错误的用户名/密码的结果。

问题是这样解决的:

public function loginValidate()
{
    $password = $this->db->col('SELECT * FROM `admin`');
    
    if (!password_verify($_POST['password'], $password)) {
        $this->error = 'Login incorrect!';
        return false;
    }
    
    return true;
}
php
  • 1 个回答
  • 67 Views
Martin Hope
Linne
Asked: 2022-07-22 21:46:35 +0000 UTC

sql中的日期格式?

  • 0

同志们!

问题是:

$this->db->query('INSERT INTO `posts` VALUES (:id, :title, datetime(), :text)', $params)

以格式保存日期yyyy-mm-dd hh:mm:ss,但您需要这样dd.mm.yyyy hh:mm:ss。如何实施?

php datetime
  • 1 个回答
  • 39 Views
Martin Hope
Linne
Asked: 2022-01-12 21:23:18 +0000 UTC

PHP:表单验证

  • -1

同志们好!

我在视图中验证和显示消息时遇到问题。出于某种原因,一个简单的检查不起作用并且不显示消息,而发送绕过验证并将整个内容写入数据库。这是控制器代码:

public function addAction()  {
    if (!empty($_POST)) {
        $textLen = iconv_strlen($_POST['text']);
        if (!filter_var($_POST['email'], FILTER_VALIDATE_EMAIL)) {
            $message = 'Некорректный e-mail';
        } else {
            if ($textLen < 10 or $textLen > 500) {
                $message = 'Текст сообщения может содержать от 10 до 500 знаков';
            }
        }
        $id = $this->model->feedbackAdd($_POST);
        if (!$id) {
            $message = 'Ошибка запроса';
        }
        $message = 'Сообщение отправлено!';
    }
    $this->view->render('Обратная связь', 0, 0, 0, $message);

    var_dump($_POST['text']);
    var_dump($message);
}

好吧,看,这里的一切都很简单:

<h1><?= $title ?></h1>

<p><?= $message ?></p>

<form action="/feedback/add" method="post">
    <input type="text" name="email" placeholder="E-mail" />
    <textarea name="text" placeholder="Message"></textarea>
    <input type="submit" value="Send" id="sendMessageButton" />
</form>

我不明白为什么它不起作用,请帮助!

php
  • 1 个回答
  • 10 Views
Martin Hope
Linne
Asked: 2021-10-13 22:14:46 +0000 UTC

if else:替代语法

  • -1

同志们!

请帮助我从替代语法转换为正常语法,如下所示:

public function pages() : string
{
    if($this->pagesTotal > 1) {
        for($pr = '', $i = 1; $i <= $this->pagesTotal; $i++) {
            echo $pr = (($i == 1 || $i == $this->pagesTotal || abs($i - $this->page) < 2) ? ($i == $this->page ? ' [' . $i . ']' : ' <a href="' . $i . '">' . $i . '</a>') : (($pr == ' ...' || $pr == '') ? '' : ' ...'));
        }
    }
}

因此,它不是 $pr = '',而是 $html .=,如下所示:

public function pages() : string
{
    if ($this->pagesTotal > 1) {
        $html = '';
        for ($i = 1; $i <= $this->pagesTotal; $i++) {
            if ($this->page > 1 && $i == $this->page - 1) {
                $html .= '<li><a href="' . $this->url . '/' . $i . '"></a>...</li>';
                continue;
            }
            if ($i > $this->page + 1) {
                $html .= '<li><a href="' . $i . '"></a>...<li>';
                break;
            }
            if ($i == $this->page) {
                $html .= ' <li class="current">' . $i . '</li>';
            } else {
                $html .= '<li><a href="' . $this->url . '/' . $i . '">' . $i . '</a></li>';
            }
        }
        return $html;
    }
}
php
  • 1 个回答
  • 10 Views
Martin Hope
Linne
Asked: 2021-10-12 18:45:40 +0000 UTC

CSS:空边距不起作用

  • 0

同志们!

请告诉我为什么这不起作用:

img {
    margin: 10px 0 20px 0;
}
p.caption + img {
    margin-bottom: 0;
}

目的:除 p.caption 之外的所有元素之前的底部填充。我究竟做错了什么?

<img src="/img/5f53d5016e14e.jpg" alt="" />
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat...</p>

<img src="/img/5f6bab41180b3.jpg" alt="" />
<p class="caption">Lorem ipsum dolor sit amet...</p>
css
  • 1 个回答
  • 10 Views
Martin Hope
Linne
Asked: 2020-09-07 17:08:18 +0000 UTC

CSS 链接样式

  • 1

同志们!

您需要对外部链接进行样式设置,以便在它们的末尾添加一个图标。一切似乎都在工作。但是,我需要不要将图标添加到一个第三方资源中:

    a[href^="http://"]:not([href*="mysite.org"]):after,
    a[href^="https://"]:not([href*="mysite.org"]):after,
    a[href^="//"]:not([href*="mysite.org"]):after,
    a[href^="http://"]:not([href*="creativecommons.org"]):after,
    a[href^="https://"]:not([href*="creativecommons.org"]):after,
    a[href^="//"]:not([href*="creativecommons.org"]):after {
        content: url(../../img/elink.svg);
    }

一切似乎都是合乎逻辑的。但是,仍会添加图标。我究竟做错了什么?

真的没有人遇到过类似的情况吗?

css3
  • 1 个回答
  • 10 Views
Martin Hope
Linne
Asked: 2020-06-25 18:17:22 +0000 UTC

PHP MVC:标题搜索

  • 0

同志们

无法按帖子标题搜索。这是模型代码:

public function postSearch($posts) : array
{
    $sql = "SELECT id, title, content, dateAdded, dateModified FROM posts WHERE title LIKE :termin";
    $req = $this->db->prepare($sql);
    $req->execute();
    return $req->fetchAll(\PDO::FETCH_CLASS, Post::class);
}

这是控制器代码:

public function search(HTTPRequest $req): void
{
    $termin = $_POST['termin'];
    $posts = $this->postManager->postSearch([
        'termin' => "%$termin%"
    ]);
    $this->show('../App/View/search.php', compact('termin', 'posts'));
}

也就是需要在表单中输入标题后,显示文章的预览(这个已经在表单中了)。$posts 数组为空。如果在请求中指定了特定标头而不是 % termin% 掩码,则显示所有内容。原来控制器看不懂面具?

php
  • 1 个回答
  • 10 Views
Martin Hope
Linne
Asked: 2020-11-15 23:33:48 +0000 UTC

如何在flex上实现列偏移?

  • 1

请告诉我如何使用 css flexbox 来实现它。两个块最大宽度:30em。用最少的代码非常可取。

.parent {
   display: flex;
   flex-wrap: wrap;
}
.parent li {
   flex: 1 1 320px;
   max-width: 30em;
}
 .parent > li {
   flex-direction: column-reverse;
}

 <ul class="parent">
    <li>Column One</li>
    <li>Column Two</li>
 </ul>

这不是它的工作原理。底线是桌面上的块A在左侧,在移动设备上。

在此处输入图像描述

css
  • 1 个回答
  • 10 Views
Martin Hope
Linne
Asked: 2020-01-18 00:00:41 +0000 UTC

搜索结果地址栏中的 CNC

  • 0

我知道这可能不是很重要,但由于所有 url 的外观都很整洁,我想把它带入一种“标准”。

表格在 layout.php 中

<form method="get" action="/search/"> … </form>

Index.php 对传入请求有以下规则:

// Для вывода конкретной статьи, выводит, например: http://site.org/article/1
$router->addRoute('^/article/([0-9a-zA-Z\-]+)', function($url, $id) {
   article_action($id);
});

// Для поиска, выводит, например: http://site.org/search/?termin=Запрос
$router->addRoute('^/search/', function($url) {
    $termin = $_GET['termin'];
   search_action($termin);
});

如果你这样尝试:

// Хотелось бы вот так: http://site.org/search/Запрос
$router->addRoute('^/search/([0-9a-zA-Z\-]+)', function($url, $termin) {
   category_action($termin);

那是行不通的。

你能告诉我错误可能在哪里吗?

(正则语言不支持西里尔文,不过我先不打扰,这是第二件事,我用拉丁词查询)

php
  • 1 个回答
  • 10 Views
Martin Hope
Linne
Asked: 2020-01-17 19:51:38 +0000 UTC

在搜索查询中解码 url

  • 0

当一个受人尊敬的访问者在搜索文本字段中输入一个词,比如“酗酒”并单击“搜索”按钮,然后,使用 get 方法,在地址栏中标榜:http ://site.org/search /?termin=酗酒&提交=搜索。情况不妙。您需要以某种方式对终端进行解码/编码并提交参数。请告诉我怎么做。

php
  • 1 个回答
  • 10 Views
Martin Hope
Linne
Asked: 2020-01-15 17:23:44 +0000 UTC

数据库中不显示 SQL 查询数据。可能是什么原因?

  • -1

这是代码:

<?php

$db = new PDO('sqlite:data.db', null, null, $options);
$stmt = $db->query('
                    SELECT a.*, c.category AS category_name
                    FROM articles AS a JOIN categories AS c
                    ON c.id=a.category
                  ');

$result = $stmt->fetchAll();

// print_r($result);

?>

<?php foreach ($result as $row): ?>
    <p>ID: <?= $row['id'] ?></p>
    <p>Date: <?= $row['date'] ?></p>
    <p>Category: <?= $row['category_name'] ?></p>
    <p>Title: <?= $row['title'] ?></p>
    <p>Text: <?= $row['text'] ?></p>
    <p><a href="?id=<?= $row['id'] ?>">More…</a></p>
    <br />
<?php endforeach ?>

什么都不输出。甚至错误和警告。

输出print_r($result);- 数组()

原来数组是空的。哪里可能出错?

php
  • 1 个回答
  • 10 Views
Martin Hope
Linne
Asked: 2020-01-11 17:26:49 +0000 UTC

sqlite3 PDO全文搜索不出来...

  • 0

我 nagovnokodil 在这里,但给出了一个错误:

致命错误:在第 19 行的 /site.org/index.php 中的布尔值上调用成员函数 execute()

这是我的分享:

<?php

    $db = new PDO('sqlite:data.db');
    $termin = $_GET['termin'];
    $stmt = $db->query('SELECT * FROM articles WHERE title LIKE %$termin% OR text LIKE %$termin%');
    $stmt->execute();
    $result = $stmt->fetchAll();

?>

<form action="post">
    <input type="text" name="termin" />
    <input type="submit" name="submit" />
</form>
<?php if (empty($termin)): ?>
    <p>Missing term!</p>
<?php elseif (strlen($termin) < 3): ?>
    <p>The term must be at least 3 characters!</p>
<?php elseif ($result < 1): ?>
    <p><?= $termin ?> not found.</p>
<?php else: ?>
    <?php foreach ($result as $row): ?>
        <p>ID: <?= $row['id'] ?></p>
        <p>Date: <?= $row['date'] ?></p>
        <p>Title: <?= $row['title'] ?></p>
        <p>Text: <?= $row['text'] ?></p>
        <p><a href="?id=<?= $row['id'] ?>">More…</a></p>
        <br />
    <?php endforeach ?>
<?php endif ?>
php
  • 2 个回答
  • 10 Views
Martin Hope
Linne
Asked: 2020-01-11 06:39:10 +0000 UTC

如何输出 sqlite3 PDO 表的行?

  • -1

我搜索了一下,他们写道,没有手鼓是不可能的。这是最重要的,愚蠢地展示文章。如果没有开箱即用的这种可能性,那么这个 PDO 到底是为什么?

这将输出所有行:

<?php

    $db = new PDO('sqlite:data.db'); 
    $st = $db->query('SELECT * FROM articles');
    $results = $st->fetchAll();

?>

<?php foreach ($results as $row): ?>
    <p>ID: <?= $row['id'] ?></p>
    <p>Date: <?= $row['date'] ?></p>
    <p>Title: <?= $row['title'] ?></p>
    <p>Text: <?= $row['text'] ?></p>
    <br />
<?php endforeach ?>

并且有必要在http://site.org/?id=1显示 id = 1 的行

在追求代码极简主义的同时如何实现这一点?

php
  • 1 个回答
  • 10 Views
Martin Hope
Linne
Asked: 2020-11-24 20:29:09 +0000 UTC

PHP:授权脚本不起作用

  • 1

脚本不起作用。更准确地说,没有授权。这是 login.php 文件中的脚本:

session_start();

if (isset($_POST['login']) && isset($_POST['password'])) {

  $database = glob('*.db');
  define('DB_NAME', $database[0]);
  $login = $_POST['login'];
  $password = $_POST['password'];
  $mdPassword = md5($password);

  $db = new SQLite3(DB_NAME);
  $result = $db->query("SELECT id FROM admin WHERE login = '$login' AND password = '$mdPassword' LIMIT 1");

  while ($row = $result->fetchArray(SQLITE3_ASSOC)) {
    if($row['id'] == 1) {
        $_SESSION['user_id'] = $row['id'];
        print_r($row['id']);
    }
    else {
        echo 'Логин или пароль неверны!';
        print_r($row['id']);
    }
  }
}

它在 admin.php 文件中:

session_start();

if (!isset($_SESSION['user_id'])) {
    header('Location: login.php');
    exit();
}
else {
// Открывающийся после авторизации контент
}

输入正确密码时var_dump($row['id'])的输出是int(1),输入随机密码时,什么都不显示。在这两种情况下,都不会转换到 admin.php。

php
  • 1 个回答
  • 10 Views
Martin Hope
Linne
Asked: 2020-11-23 19:05:20 +0000 UTC

如果事先不知道其确切名称,如何将 *.db 文件加载到 sqlite3 中?

  • 1

问题如下:我需要连接到目录中找到的任何 sqlite 文件,但这里是这个结构:

define('DB_NAME','*.db');

不起作用。只有这种结构有效,即如果文件名已知:

define('DB_NAME','dbname.db');

如何告诉脚本连接到任何扩展名为 .db 的文件?

添加:

这是应该与基础一起使用的代码:

if(file_exists(DB_NAME)) {
    $db = new SQLite3(DB_NAME);
} 
else {
    header('Location: install.php');
    exit();
}

在这里,如果找不到基本文件,则会重定向到创建它的脚本,在输入中输入其名称(名称事先不知道,因此是抽象的)。

php
  • 1 个回答
  • 10 Views
Martin Hope
Linne
Asked: 2020-07-24 19:12:41 +0000 UTC

从 html 中获取图像和部分文本

  • -2

你需要一个正则表达式来获取文章的第一张图片和一段300个字符的文本来构成文章的公告。

以一篇文章为例:

$content = '<img src="files/1.jpg" alt="" width="200px" />
<img src="files/2.jpg" alt="" width="200px" />
<img src="files/3.jpg" alt="" width="200px" />
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p>';

有必要,我们只输出,比方说:

$content = '<img src="files/1.jpg" alt="" width="200px" />
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua...</p>';

非常希望输出已经带有 html 标记,如果文本被截断,则放置 <...> 和结束标记。

我真的希望得到帮助,我只是一个初学者编码器。

这是代码,但它只输出图像:

while ($row = $results->fetchArray()) {

    preg_match('/<img.+src=[\'"](?P<src>.+?)[\'"].*>/i', $row['content'], $image);

    echo 'id: ' . $row['id'] . '<br /> Дата и время: ' . $row['datetime'] . '<br /> Заголовок: ' . $row['title'] . '<br /> Категория: <a href="?category=' . $row['category'] . '">' . $row['category'] . '</a><br /> Контент: ' . $image['src'] . '<br />
        <a href="?article=' . $row['id'] . '">Читать</a>
        <br />-------------------------------------------------<br />';
}
php
  • 4 个回答
  • 10 Views
Martin Hope
Linne
Asked: 2020-07-24 01:57:33 +0000 UTC

PHP:显示文章预览的第一篇文章图片

  • 0

您需要显示文章的第一张图片以供预览——一张图片和一些文字。

这是文章的正文:

<img src="files/1.jpg" alt="" width="200px" />
<img src="files/2.jpg" alt="" width="200px" />
<img src="files/3.jpg" alt="" width="200px" />
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p>

这是显示文章预览列表的代码:

while ($row = $results->fetchArray()) {
    echo 'id: ' . $row['id'] . '<br /> Дата и время: ' . $row['datetime']
    . '<br /> Заголовок: ' . $row['title'] 
    . '<br /> Категория: <a href="?category=' . $row['category'] . '">' . $row['category'] 
    . '</a><br /> Контент: ' . mb_strimwidth($row['content'], 0, 300, '...') . '<br />
        <a href="?article=' . $row['id'] . '">Читать</a>
        <br />-------------------------------------------------<br />';
}

帮助,好人实现这项业务!

通常,有必要以这样的方式完成正则表达式,即它还显示遇到最多 300 个字符的第一个文本。我对正则表达式了解不多:)

php
  • 1 个回答
  • 10 Views
Martin Hope
Linne
Asked: 2020-07-23 02:56:16 +0000 UTC

PHP:显示每个类别中的条目数

  • 0

似乎有必要实现一个简单的事情 - 在类别列表页面上,在每个类别旁边显示与其相关的文章数量。这是我的尝试,但徒劳无功(这是一个列出所有类别的函数):

//Показать все категории
function categories() {
    $db = new SQLite3(DB_NAME);
    $results = $db->query("SELECT DISTINCT category FROM articles");
    $articles = $db->querySingle("SELECT COUNT(*) as count FROM articles WHERE category LIKE '%$category%'");
    while ($row = $results->fetchArray()) {
        echo 'Категория: <a href="?category=' . $row['category'] . '">' . $row['category'] . '</a> Статей: (' . $articles . ')';
    }
  $db->close();
}

请告诉我我的错误在哪里以及如何解决它。

php
  • 2 个回答
  • 10 Views
Martin Hope
Linne
Asked: 2020-06-15 08:23:41 +0000 UTC

WordPress:在哪里更改文本“订阅我们的时事通讯”?

  • 1

在结帐页面 (WooCommerce) 上有一个带有“订阅我们的时事通讯”标签的复选框,您需要将其替换为“订阅时事通讯”之类的内容。

我应该在哪个文件中更改它?

wordpress
  • 2 个回答
  • 10 Views
Martin Hope
Linne
Asked: 2020-05-31 04:26:12 +0000 UTC

SqlLite3:如何计算返回的行数?

  • 0

数据库中有基本的搜索脚本。它有效,但无法计算找到的结果数量。它在两列中搜索 - 标题和内容

SELECT * FROM articles WHERE title LIKE '%$search%' OR content LIKE '%$search%'.

据我所知,在 sqlite 的第二个版本中有一个函数 SQLiteResult::numRows,但在 sqlite3 中没有。为什么被移除?卢兹为了?

请告诉我如何计算行数。

php
  • 2 个回答
  • 10 Views

Sidebar

Stats

  • 问题 10021
  • Answers 30001
  • 最佳答案 8000
  • 用户 6900
  • 常问
  • 回答
  • Marko Smith

    我看不懂措辞

    • 1 个回答
  • Marko Smith

    请求的模块“del”不提供名为“default”的导出

    • 3 个回答
  • Marko Smith

    "!+tab" 在 HTML 的 vs 代码中不起作用

    • 5 个回答
  • Marko Smith

    我正在尝试解决“猜词”的问题。Python

    • 2 个回答
  • Marko Smith

    可以使用哪些命令将当前指针移动到指定的提交而不更改工作目录中的文件?

    • 1 个回答
  • Marko Smith

    Python解析野莓

    • 1 个回答
  • Marko Smith

    问题:“警告:检查最新版本的 pip 时出错。”

    • 2 个回答
  • Marko Smith

    帮助编写一个用值填充变量的循环。解决这个问题

    • 2 个回答
  • Marko Smith

    尽管依赖数组为空,但在渲染上调用了 2 次 useEffect

    • 2 个回答
  • Marko Smith

    数据不通过 Telegram.WebApp.sendData 发送

    • 1 个回答
  • Martin Hope
    Alexandr_TT 2020年新年大赛! 2020-12-20 18:20:21 +0000 UTC
  • Martin Hope
    Alexandr_TT 圣诞树动画 2020-12-23 00:38:08 +0000 UTC
  • Martin Hope
    Air 究竟是什么标识了网站访问者? 2020-11-03 15:49:20 +0000 UTC
  • Martin Hope
    Qwertiy 号码显示 9223372036854775807 2020-07-11 18:16:49 +0000 UTC
  • Martin Hope
    user216109 如何为黑客设下陷阱,或充分击退攻击? 2020-05-10 02:22:52 +0000 UTC
  • Martin Hope
    Qwertiy 并变成3个无穷大 2020-11-06 07:15:57 +0000 UTC
  • Martin Hope
    koks_rs 什么是样板代码? 2020-10-27 15:43:19 +0000 UTC
  • Martin Hope
    Sirop4ik 向 git 提交发布的正确方法是什么? 2020-10-05 00:02:00 +0000 UTC
  • Martin Hope
    faoxis 为什么在这么多示例中函数都称为 foo? 2020-08-15 04:42:49 +0000 UTC
  • Martin Hope
    Pavel Mayorov 如何从事件或回调函数中返回值?或者至少等他们完成。 2020-08-11 16:49:28 +0000 UTC

热门标签

javascript python java php c# c++ html android jquery mysql

Explore

  • 主页
  • 问题
    • 热门问题
    • 最新问题
  • 标签
  • 帮助

Footer

RError.com

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

帮助

© 2023 RError.com All Rights Reserve   沪ICP备12040472号-5