RError.com

RError.com Logo RError.com Logo

RError.com Navigation

  • 主页

Mobile menu

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

msupreme's questions

Martin Hope
msupreme
Asked: 2020-07-17 02:29:08 +0000 UTC

发送表单到邮件 AJAX + JQuery + PHP

  • 0

我需要从登录页面向邮件发送反馈表,但出现问题并且 php 未处理该表单,在控制台中我得到“POST http://localhost:3000/save.php 404(未找到)"

求助,我做错了什么?

UPD:我去http://localhost:3000/save.php的时候,save.php文件只是简单的下载了……就是存在,但是为什么没有通过它处理呢?!

代码如下:

$(document)
  .on('submit', '#main-form', e => {
    e.preventDefault();

    let form_data = $(this).serialize();

    $.ajax({
      type: "POST",
      url: "/save.php",
      data: form_data,
      success: function() {
        alert("Ваше сообщение отправлено!");
      }
    });

  });
<form class="b-form" id="main-form">
  <div class="b-form__row">
    <label for="name" class="b-label">Ваше имя</label>
    <input id="name" type="text" name="name" class="b-input b-form__input" placeholder="Ваше имя" />
  </div>
  <div class="b-form__row">
    <label for="email" class="b-label">Электронная почта</label>

    <input id="email" type="email" name="email" class="b-input b-form__input" placeholder="Email" required/>
    <div class="b-form__help">Обязательно для заполнения</div>
  </div>
  <div class="b-form__row">
    <label for="phone" class="b-label">Телефон <span class="b-aster">*</span></label>
    <input id="phone" type="tel" name="phone" class="b-input b-form__input b-phone__mask" placeholder="Телефон" required/>
    <div class="b-form__help">Обязательно для заполнения</div>
  </div>
  <div class="b-form__row">
    <input type="submit" class="b-button b-button_blue" value="Отправить" />
  </div>
</form>
PHP
<?php

$recepient = "uma199041@mail.ru";
$sitename = "Бюро Сервис";

$name = trim($_POST["name"]);
$phone = trim($_POST["phone"]);
$email = trim($_POST["email"]);
$message = "Имя: $name \nТелефон: $phone \nEmail: $email";

$pagetitle = "Новая заявка с сайта \"$sitename\"";
mail($recepient, $pagetitle, $message, "Content-type: text/plain; charset=\"utf-8\"\n From: $recepient");
项目结构 在此处输入图像描述

php
  • 2 个回答
  • 10 Views
Martin Hope
msupreme
Asked: 2020-06-16 21:14:52 +0000 UTC

按 symfony 3 的顺序列出类别

  • 0

您需要按 id 显示类别;现在类别按字母顺序显示。如何实现按id输出?

编码:

类别输出

{% for child in categories %}
  <div class="b-block-grid__item">
    <a class="b-category-link" href="{{ child.getAbsoluteUrl() }}">
      {% if child.image %}
      <img src="{{ child.image|imagine_filter('rise_category_thumb') }}"
                                         class="b-category-link__image"/>
      {% else %}
      <span class="b-category-link__image b-category-link__image_noimage"></span>
      {% endif %}
      <span class="b-category-link__name">{{ child }}</span>
    </a>
  </div>
{% endfor %}

控制器

class ProductController extends Controller
{
    public function searchAction(Request $request)
    {
        $searchForm = $this->createForm(SearchForm::class, [], [
            'method' => 'GET'
        ]);

        if ($searchForm->handleRequest($request) && $searchForm->isValid()) {
            $q = $searchForm->get('q')->getData();

            $qs = Product::objects()
                ->published()
                ->filter(new QOr([
                    ['name__icontains' => $q],
                    ['sku__icontains' => $q],
                    ['content__icontains' => $q],
                ]));

            $pager = $this->createPagination($qs, [
                'pageSize' => 12,
            ]);

            return $this->render('rise/product/search.html', [
                'products' => $pager->paginate(),
                'pager' => $pager->createView(),
                'search_form' => $searchForm->createView(),
            ]);
        } else {
            return $this->render('rise/product/search.html', [
                'search_form' => $searchForm->createView(),
            ]);
        }
    }

    public function autocompleteAction(Request $request)
    {
        $searchForm = $this->createForm(SearchForm::class, [], [
            'method' => 'GET'
        ]);

        $products = [];
        if ($searchForm->handleRequest($request) && $searchForm->isValid()) {
            $q = $searchForm->get('q')->getData();

            $products = Product::objects()->published()->master()
                ->filter(new QOr([
                    ['name__icontains' => $q],
                    ['sku__icontains' => $q],
                    ['content__icontains' => $q]
                ]))->limit(20)->all();
        }

        return $this->render('rise/product/_autocomplete.html', [
            'products' => $products
        ]);
    }

    protected function getCollections(Category $category = null)
    {
        $qs = Collection::objects();
        if ($category) {
            $qs->filter(['categories__id__in' => $category->id]);
        }
        return $qs->all();
    }

    public function indexAction(Request $request)
    {
        $categories = Category::objects()->order(['name'])->all();

        $filter = $request->query->get('filter', []);
        $filterForm = $this->createForm(FilterFormType::class, $filter, [
            'action' => $this->generateUrl('admin_rise_product_list')
        ]);

        return $this->render('rise/product/index.html', [
            'categories' => $categories,
            'filterForm' => $filterForm->createView(),
        ]);
    }

    public function listAction(Request $request, $slug = null)
    {
        $category = null;
        if ($slug !== null) {
            $category = Category::objects()->get(['slug' => $slug]);
            if (null === $category) {
                throw new NotFoundHttpException();
            }
        }

        $qs = Product::objects()->published();
        if ($category) {
            $qs->filter(['category__id' => $category->id]);
        }

        if ($request->query->has('order')) {
            $sourceOrder = $request->query->get('order');
            if (false === empty($sourceOrder) && in_array($sourceOrder, ['', 'price', '-price'])) {
                $qs->order([$sourceOrder]);
            }
        }

        $filter = $request->query->get('filter', []);
        $filterForm = $this->createForm(FilterFormType::class, $filter, [
            'category' => $category,
        ]);
        $filterForm->handleRequest($request);
        if ($filterForm->isSubmitted()) {
            $this->get('rise.bundle.product.filter.product')->filterQuerySet($filterForm->getData(), $qs);
        }

        $pager = $this->createPagination($qs, [
            'pageSize' => 12,
        ]);

        $collections = $this->getCollections();

        if ($request->isXmlHttpRequest()) {
            return $this->render('rise/product/_list.html', [
                'products' => $pager->paginate(),
                'pager' => $pager->createView(),
                'category' => $category,
                'collections' => $collections,
                'filterForm' => $filterForm->createView(),
            ]);
        } else {
            return $this->render('rise/product/list.html', [
                'products' => $pager->paginate(),
                'pager' => $pager->createView(),
                'category' => $category,
                'collections' => $collections,
                'filterForm' => $filterForm->createView(),
            ]);
        }
    }

    public function viewAction(Request $request, $slug)
    {
        $product = Product::objects()->published()->get(['slug' => $slug]);
        if ($product === null) {
            throw new NotFoundHttpException();
        }

        $history = $this->get('rise.bundle.product.component.product_history');
        $history->add($product);

        $related = $product->related->all();

        $review = new Review(['product' => $product]);
        $reviewForm = $this->createForm(ReviewForm::class, $review, [
            'method' => 'POST',
            'action' => $this->generateUrl('rise_product_view', ['slug' => $slug])
        ]);
        if ($reviewForm->handleRequest($request) && $reviewForm->isValid()) {
            $review = $reviewForm->getData();
            if (false === $review->save()) {
                throw new \RuntimeException('Failed to save review');
            }

            $this->get('event_dispatcher')->dispatch(
                ReviewEvent::EVENT_NAME,
                new ReviewEvent($review)
            );

            $this->addFlash('success', 'Спасибо за ваш отзыв! Мы опубликуем его после проверки.');

            return $this->redirect($request->getRequestUri());
        }

        $reviewPager = $this->createPagination($product->reviews->filter(['is_published' => true]));

        return $this->render('rise/product/view.html', [
            'product' => $product,
            'images' => $product->getImages(),
            'related' => $related,
            'reviews' => $reviewPager->paginate(),
            'review_pager' => $reviewPager->createView(),
            'review_form' => $reviewForm->createView(),
            'collections' => $product->collection->all(),
        ]);
    }
}

symfony3
  • 1 个回答
  • 10 Views
Martin Hope
msupreme
Asked: 2020-04-04 02:19:55 +0000 UTC

安装 Yarn (node-sass) 时出错

  • 0

我在安装 yarn install 包时在 Windows 上部署项目,我收到以下错误,告诉我如何解决这个问题?

$ yarn install
yarn install v0.27.5
[1/4] Resolving packages...
[2/4] Fetching packages...
warning fsevents@1.1.1: The platform "win32" is incompatible with this module.
info "fsevents@1.1.1" is an optional dependency and failed compatibility check. Excluding it from installation.
[3/4] Linking dependencies...
[4/4] Building fresh packages...
error D:\Work\Projects\blockchain-first-template\node_modules\node-sass: Command failed.
Exit code: 1
Command: C:\WINDOWS\system32\cmd.exe
Arguments: /d /s /c node scripts/build.js
Directory: D:\Work\Projects\blockchain-first-template\node_modules\node-sass
Output:
Building: C:\Program Files\nodejs\node.exe D:\Work\Projects\blockchain-first-template\node_modules\node-gyp\bin\node-gyp.js rebuild --verbose --libsass_ext= --libsass_cflags= --libsass_ldflags= --libsass_library=
gyp info it worked if it ends with ok
gyp verb cli [ 'C:\\Program Files\\nodejs\\node.exe',
gyp verb cli   'D:\\Work\\Projects\\blockchain-first-template\\node_modules\\node-gyp\\bin\\node-gyp.js',
gyp verb cli   'rebuild',
gyp verb cli   '--verbose',
gyp verb cli   '--libsass_ext=',
gyp verb cli   '--libsass_cflags=',
gyp verb cli   '--libsass_ldflags=',
gyp verb cli   '--libsass_library=' ]
gyp info using node-gyp@3.6.1
gyp info using node@9.7.1 | win32 | x64
gyp verb command rebuild []
gyp verb command clean []
gyp verb clean removing "build" directory
gyp verb command configure []
gyp verb check python checking for Python executable "python2" in the PATH
gyp verb `which` failed Error: not found: python2
gyp verb `which` failed     at getNotFoundError (D:\Work\Projects\blockchain-first-template\node_modules\which\which.js:13:12)
gyp verb `which` failed     at F (D:\Work\Projects\blockchain-first-template\node_modules\which\which.js:68:19)
gyp verb `which` failed     at E (D:\Work\Projects\blockchain-first-template\node_modules\which\which.js:80:29)
gyp verb `which` failed     at D:\Work\Projects\blockchain-first-template\node_modules\which\which.js:89:16
gyp verb `which` failed     at D:\Work\Projects\blockchain-first-template\node_modules\isexe\index.js:42:5
gyp verb `which` failed     at D:\Work\Projects\blockchain-first-template\node_modules\isexe\windows.js:36:5
gyp verb `which` failed     at FSReqWrap.oncomplete (fs.js:170:21)
gyp verb `which` failed  python2 { Error: not found: python2
gyp verb `which` failed     at getNotFoundError (D:\Work\Projects\blockchain-first-template\node_modules\which\which.js:13:12)
gyp verb `which` failed     at F (D:\Work\Projects\blockchain-first-template\node_modules\which\which.js:68:19)
gyp verb `which` failed     at E (D:\Work\Projects\blockchain-first-template\node_modules\which\which.js:80:29)
gyp verb `which` failed     at D:\Work\Projects\blockchain-first-template\node_modules\which\which.js:89:16
gyp verb `which` failed     at D:\Work\Projects\blockchain-first-template\node_modules\isexe\index.js:42:5
gyp verb `which` failed     at D:\Work\Projects\blockchain-first-template\node_modules\isexe\windows.js:36:5
gyp verb `which` failed     at FSReqWrap.oncomplete (fs.js:170:21) code: 'ENOENT' }
gyp verb check python checking for Python executable "python" in the PATH
gyp verb `which` succeeded python C:\Python27\python.EXE
gyp verb check python version `C:\Python27\python.EXE -c "import platform; print(platform.python_version());"` returned: "2.7.14\r\n"
gyp verb get node dir no --target version specified, falling back to host node version: 9.7.1
gyp verb command install [ '9.7.1' ]
gyp verb install input version string "9.7.1"
gyp verb install installing version: 9.7.1
gyp verb install --ensure was passed, so won't reinstall if already installed
gyp verb install version is already installed, need to check "installVersion"
gyp verb got "installVersion" 9
gyp verb needs "installVersion" 9
gyp verb install version is good
gyp verb get node dir target node version installed: 9.7.1
gyp verb build dir attempting to create "build" dir: D:\Work\Projects\blockchain-first-template\node_modules\node-sass\build
gyp verb build dir "build" dir needed to be created? D:\Work\Projects\blockchain-first-template\node_modules\node-sass\build
gyp verb Not using VS2017: Could not use PowerShell to find VS2017
gyp verb build/config.gypi creating config file
gyp verb build/config.gypi writing out config file: D:\Work\Projects\blockchain-first-template\node_modules\node-sass\build\config.gypigyp verb config.gypi checking for gypi file: D:\Work\Projects\blockchain-first-template\node_modules\node-sass\config.gypi
gyp verb common.gypi checking for gypi file: D:\Work\Projects\blockchain-first-template\node_modules\node-sass\common.gypi
gyp verb gyp gyp format was not specified; forcing "msvs"
gyp info spawn C:\Python27\python.EXE
gyp info spawn args [ 'D:\\Work\\Projects\\blockchain-first-template\\node_modules\\node-gyp\\gyp\\gyp_main.py',
gyp info spawn args   'binding.gyp',
gyp info spawn args   '-f',
gyp info spawn args   'msvs',
gyp info spawn args   '-G',
gyp info spawn args   'msvs_version=auto',
gyp info spawn args   '-I',
gyp info spawn args   'D:\\Work\\Projects\\blockchain-first-template\\node_modules\\node-sass\\build\\config.gypi',
gyp info spawn args   '-I',
gyp info spawn args   'D:\\Work\\Projects\\blockchain-first-template\\node_modules\\node-gyp\\addon.gypi',
gyp info spawn args   '-I',
gyp info spawn args   'C:\\Users\\Supreme\\.node-gyp\\9.7.1\\include\\node\\common.gypi',
gyp info spawn args   '-Dlibrary=shared_library',
gyp info spawn args   '-Dvisibility=default',
gyp info spawn args   '-Dnode_root_dir=C:\\Users\\Supreme\\.node-gyp\\9.7.1',
gyp info spawn args   '-Dnode_gyp_dir=D:\\Work\\Projects\\blockchain-first-template\\node_modules\\node-gyp',
gyp info spawn args   '-Dnode_lib_file=node.lib',
gyp info spawn args   '-Dmodule_root_dir=D:\\Work\\Projects\\blockchain-first-template\\node_modules\\node-sass',
gyp info spawn args   '-Dnode_engine=v8',
gyp info spawn args   '--depth=.',
gyp info spawn args   '--no-parallel',
gyp info spawn args   '--generator-output',
gyp info spawn args   'D:\\Work\\Projects\\blockchain-first-template\\node_modules\\node-sass\\build',
gyp info spawn args   '-Goutput_dir=.' ]
gyp verb command build []
gyp verb build type Release
gyp verb architecture x64
gyp verb node dev dir C:\Users\Supreme\.node-gyp\9.7.1
gyp verb found first Solution file build/binding.sln
gyp verb could not find "msbuild.exe" in PATH - finding location in registry
gyp verb "Release" dir needed to be created? null
gyp verb copying "node.lib" for x64 C:\Users\Supreme\.node-gyp\9.7.1\Release\node.lib
gyp info spawn C:\Program Files (x86)\MSBuild\14.0\bin\msbuild.exe
gyp info spawn args [ 'build/binding.sln',
gyp info spawn args   '/nologo',
gyp info spawn args   '/p:Configuration=Release;Platform=x64' ]
Сборка проектов в этом решении по одному. Чтобы включить параллельную сборку, добавьте параметр "/m".
Сборка начата 03.04.2018 21:15:14.
Проект "D:\Work\Projects\blockchain-first-template\node_modules\node-sass\build\binding.sln" в узле 1 (целевые объекты по умолчанию).
ValidateSolutionConfiguration:
  Создание конфигурации решения "Release|x64".
MSBUILD : error MSB3428: Загрузка компонента Visual C++ "VCBuild.exe" невозможна. Способы решения проблемы: 1) установка .NET Framework 2.0 SDK, 2) установка Microsoft Visual Studio 2005 или 3) указание адреса компонента в системном пути, если компонент установлен в другом месте.  [D:\Work\Projects\blockchain-first-template\node_modules\node-sass\build\binding.sln]
Сборка проекта "D:\Work\Projects\blockchain-first-template\node_modules\node-sass\build\binding.sln" завершена (целевые объекты по умолчанию) с ошибкой.

Ошибка сборки.

"D:\Work\Projects\blockchain-first-template\node_modules\node-sass\build\binding.sln" (целевой объект по умолчанию) (1) ->
(Целевой объект _src_\libsass) ->
  MSBUILD : error MSB3428: Загрузка компонента Visual C++ "VCBuild.exe" невозможна. Способы решения проблемы: 1) установка .NET Framework 2.0 SDK, 2) установка Microsoft Visual Studio 2005 или 3) указание адреса компонента в системном пути, если компонент установлен в другом месте.  [D:\Work\Projects\blockchain-first-template\node_modules\node-sass\build\binding.sln]

    Предупреждений: 0
    Ошибок: 1

Затраченное время: 00:00:00.90
gyp ERR! build error
gyp ERR! stack Error: `C:\Program Files (x86)\MSBuild\14.0\bin\msbuild.exe` failed with exit code: 1
gyp ERR! stack     at ChildProcess.onExit (D:\Work\Projects\blockchain-first-template\node_modules\node-gyp\lib\build.js:285:23)
gyp ERR! stack     at ChildProcess.emit (events.js:127:13)
gyp ERR! stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:209:12)
gyp ERR! System Windows_NT 10.0.16299
gyp ERR! command "C:\\Program Files\\nodejs\\node.exe" "D:\\Work\\Projects\\blockchain-first-template\\node_modules\\node-gyp\\bin\\node-gyp.js" "rebuild" "--verbose" "--libsass_ext=" "--libsass_cflags=" "--libsass_ldflags=" "--libsass_library="
gyp ERR! cwd D:\Work\Projects\blockchain-first-template\node_modules\node-sass
gyp ERR! node -v v9.7.1
gyp ERR! node-gyp -v v3.6.1
gyp ERR! not ok
Build failed with error code: 1
info Visit https://yarnpkg.com/en/docs/cli/install for documentation about this command.

node.js
  • 1 个回答
  • 10 Views
Martin Hope
msupreme
Asked: 2020-02-28 01:17:03 +0000 UTC

安装 symfony/web-server-bundle 时出错

  • 0

我在 Windows 上部署一个项目,差不多完成了,但是我必须安装 symfony/web-server-bundle,使用命令安装

composer require symfony/web-server-bundle --dev

我收到一个错误

在此处输入图像描述

升级1:

团队解决的版本问题

 composer require symfony/web-server-bundle:"~3.0"--dev

在此处输入图像描述

但是如果你输入命令

php bin/console

服务器命令不存在

所以我无法启动本地服务器,可能是什么问题?

symfony3
  • 1 个回答
  • 10 Views
Martin Hope
msupreme
Asked: 2020-01-24 16:37:46 +0000 UTC

导入模块noty js v2

  • 0

我不知道如何正确导入模块?

现在是这样的:

import noty from 'noty'


window.mindy = {
    notify: (text, type = 'success') => {
        noty({
            text: text,
            type: type,
            theme: 'metroui',
            layout: 'topRight',
            timeout: false,
            progressBar: false,
            closeWith: ['click'],
            animation: {
                open: { height: 'toggle' },
                close: { height: 'toggle' },
                easing: 'swing',
                speed: 300,
            },
        })
    },
}

但它给出了一个错误

在此处输入图像描述

noty.js:2349

function _classCallCheck(instance, Constructor) { if (!
(instance instanceof Constructor)) { throw new TypeError("Cannot call 
a class as a function"); } }

noty.js:2359

_classCallCheck(this, Noty)
javascript
  • 1 个回答
  • 10 Views
Martin Hope
msupreme
Asked: 2020-11-02 16:51:00 +0000 UTC

jquery字体增减实现

  • 0

你好。我正在网站上实现字体大小的增加和减少,有这样的标记。我无法弄清楚我做错了什么?

看起来问题出在这一行: $body.css('font-size', ${fontSize + 10}%); 从理论上讲,这应该增加字体,但不起作用。

$(document)
    .on('click', '#upFont', e => {
        e.preventDefault();

        let $body = $('body');
        let fontSize = $body.css('font-size') || 100;

        $body.css('font-size', `${fontSize + 10}%`);

});
<div class="weak-panel__font">
   <div>Размер шрифта</div>
   <a class="weak-panel__button" id="downFont" href="#">A -</a>
   <a class="weak-panel__button" id="upFont" href="#">A +</a>
</div>

javascript
  • 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