首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >函数CurrentPageURL()响应动作表单的名称,而不是实际的URL

函数CurrentPageURL()响应动作表单的名称,而不是实际的URL
EN

Stack Overflow用户
提问于 2013-03-12 15:16:21
回答 1查看 138关注 0票数 0

在tellform表单的.php文件中有以下几行:

代码语言:javascript
运行
复制
// Gets the current URL
function CurrentPageURL()
{
    $pageURL = $_SERVER['HTTPS'] == 'on' ? 'https://' : 'http://';
    $pageURL .= $_SERVER['SERVER_PORT'] != '80' ? $_SERVER["SERVER_NAME"].":".$_SERVER["SERVER_PORT"].$_SERVER["REQUEST_URI"] : $_SERVER['SERVER_NAME'] . $_SERVER['REQUEST_URI'];
    return $pageURL;
}
$url = CurrentPageURL();

下面的某个地方是:$message = "Hi! blahblahblah : $url";

此外,在.tpl文件中,我有以下行:

代码语言:javascript
运行
复制
<form id="tellform" action="tellafriend/processTell.php" method="post">

除了发送的电子邮件具有/tellafriend/processTell.php的链接,而不是浏览器中显示的到产品的实际链接之外,所有这些都正常工作。我该怎么做才能纠正这件事?谢谢!

编辑1这里是关于发送电子邮件的.js部分:

代码语言:javascript
运行
复制
// Use Ajax to send everything to processTell.php
submitHandler: function(form) {
    $("#send").attr("value", "Slanje...");
    $(form).ajaxSubmit({
        success: function(responseText, statusText, xhr, $form) {
            $(form).slideUp("fast");
            $("#response-tell").html(responseText).hide().slideDown("fast");
        }
    });
    return false;
}

解决了,多亏了IMSoP,我解决了这个问题。他解释了问题出在哪里,所以我终于明白了。我总共删除了这几行function CurrentPageURL,并在表单的.tpl页面中插入了以下代码:

代码语言:javascript
运行
复制
<input type="hidden" name="urlToPutInEmail" value="<?php echo $this->url->link('product/product', 'product_id=' . $product_id); ?>" />

在tellform.php文件中,我调用了varible $urlToPutInEmail。简单的是..。注意,这是在使用opencart框架。

再次感谢IMSoP!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-03-12 19:13:21

您的JS没有发送电子邮件,而是将表单提交给另一个PHP文件(使用ajaxSubmit)。

就PHP而言,AJAX请求与任何其他页面请求一样--在本例中,它就像您的表单中有一个普通的"Submit“按钮一样。

因此,如果接收表单数据并生成电子邮件的是"tellafriend/processTell.php“,那么正在这样做的”当前URL“将是"tellafriend/processTell.php”。

如果您真正想要的是之前页面中的URL (即带有窗体的URL),则需要将其作为表单中的一个额外字段传递(例如,用您的<input type="hidden">函数填充一个PHP )。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15365070

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档