为了账号安全,请及时绑定邮箱和手机立即绑定

如何在函数中为自定义表单正确创建链接.php

如何在函数中为自定义表单正确创建链接.php

PHP
千巷猫影 2022-09-24 10:31:46
我试图在函数中创建自己的形式.php。我做了很多研究,发现使用Post /重定向/ Get来做一个表格是最安全的,以避免重新提交POST请求。一切都很好。表单发送 POST,操作文件处理所有内容,将其保存到 SESSION 并将其重定向回去。表格在页面上:http://plovarnaluhacovice.icreation.cz/my-account/zustatek-kreditu/但我的问题是,我不希望链接“发送”有一个链接:http://plovarnaluhacovice.icreation.cz/ wp-内容/主题/Divi_Child/进程.php,但出于安全原因,http://plovarnaluhacovice.icreation.cz/ 我的帐户/zustatek-kreditu/进程.php。为了让它变得有点复杂,我使用了WooCommerce插件,这个页面(/zustatek-kreditu/)被添加到WooCommerce“我的帐户”页面菜单(照片)。形式:<form action="http://plovarnaluhacovice.icreation.cz/wp-content/themes/Divi_Child/process.php" method="post">    <p>Uživatelské jméno: <br><input type="text" name="username" /></p>    <p>Heslo: <br><input type="password" name="password" /></p>    <br><button type="submit" name="save">Přidat</button></form>文件结构:wp-内容/主题/ 1.Divi_Child 2.函数.php 3.进程.php自定义 Woo 商务菜单://ZŮSTATEK KREDITU// ------------------// 1. Register new endpoint to use for My Account page// Note: Resave Permalinks or it will give 404 errorfunction zustatek_kreditu_endpoint() {    add_rewrite_endpoint( 'zustatek-kreditu', EP_ROOT | EP_PAGES );}add_action( 'init', 'zustatek_kreditu_endpoint' );  // ------------------// 2. Add new query varfunction zustatek_kreditu_query_vars( $vars ) {    $vars[] = 'zustatek-kreditu';    return $vars;}add_filter( 'query_vars', 'zustatek_kreditu_query_vars', 0 );// ------------------// 3. Insert the new endpoint into the My Account menufunction zustatek_kreditu_link_my_account( $items ) {    $items['zustatek-kreditu'] = 'Zůstatek kreditu';    return $items;}add_filter( 'woocommerce_account_menu_items', 'zustatek_kreditu_link_my_account' );// ------------------// 4. Add content to the new endpoint?>    <form action="http://plovarnaluhacovice.icreation.cz/wp-content/themes/Divi_Child/process.php" method="post">        <p>Uživatelské jméno: <br><input type="text" name="username" /></p>        <p>Heslo: <br><input type="password" name="password" /></p>        <br><button type="submit" name="save">Přidat</button>    </form><?php   
查看完整描述

1 回答

?
LEATH

TA贡献1936条经验 获得超6个赞

  1. 最简单的解决方案是在wp中创建一个页面模板,将其添加到名为“Page-process.php”的主题文件夹中,并将进程.php的所有编码放入此模板中,并将以下文本添加到此模板的顶部:


  2. 创建一个wp页面,并在“页面属性”元框下选择此模板作为页面模板。

  3. 在表单代码上,替换刚创建的页面的操作 URL,并将其链接到您创建的新页面模板。

    操作 =“http://plovarnaluhacovice.icreation.cz/wp-content/themes/Divi_Child/process.php”

回顾:您将用WordPress上的普通页面替换您的“porcess.php”,该页面将使用您放置在“进程.php”上的页面PHP代码,但此权限将允许您使用wp页面运行代码,而不是直接在主题PHP文件上运行代码。

谢谢,让我知道发生了什么!:)

查看完整回答
反对 回复 2022-09-24
  • 1 回答
  • 0 关注
  • 68 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信