我有一个非常简单的形式,我需要显示在'Client_custom_50'中发布的值,我尝试了多种方法,但我似乎无法在'landing-thank-you.php'上显示结果页面,我试过:var_dump($_REQUEST);
我收到了这个:
array(12) { ["Prefs_dontMatchOnClientName"]=> string(0) ""
["Client_name"]=> string(0) ""
["Contact_name"]=> string(4) "test"
["Contact_email"]=> string(13) "test@test.com"
["Contact_phone"]=> string(14) "00000000000000"
["Client_custom_49"]=> string(0) ""
["Client_custom_50"]=> string(17) "La Cala Hill Club"
["Client_custom_48"]=> string(0) ""
["Client_custom_55"]=> string(0) ""
["formCid"]=> string(4) "6784"
["formId"]=> string(37) "6784ud015dc078c474200ba24f18aa6588afc"
["validation"]=> string(0) ""
}
我试过echo $_REQUEST['Client_custom_50'];
也许我错过了一些非常明显的东西。
我的表单使用以下网址进入我们的CRM系统:然后重定向到感谢页面,如果我告诉操作直接转到'landing-thank-you.php'而不是通过CRM一切都很好,所以如何让它保持CRM行动,然后转到感谢(并显示我的结果)
index.php HTML:
<!--<form action="https://power.upsales.com/api/external/formSubmit" method="POST" class="upsale-form">-->
<form action="landing-thank-you.php" method="post" class="upsale-form">
<input type="hidden" class="form-control" name="Prefs.dontMatchOnClientName" style="display: none;" />
<input type="hidden" class="form-control" name="Client.name" style="display: none;" />
<div class="control-group">
<input type="text" class="form-control required" name="Contact.name" placeholder="Name" required />
</div>
<div class="control-group">
<input type="email" class="form-control required" placeholder="Email" name="Contact.email" required />
</div>
<div class="control-group">
<input type="text" class="form-control required" placeholder="Phone" name="Contact.phone" required />
</div>
<input type="hidden" class="form-control origin" name="Client.custom_49" />
<input type="hidden" class="form-control propertyRef" id="hiddenValue" name="Client.custom_50" value="La Cala Hill Club" />
<input type="hidden" class="form-control remarketing" name="Client.custom_48" />
<input type="hidden" class="form-control keyword" name="Client.custom_55" />
<input type="hidden" name="formCid" value="6784" />
<input type="hidden" name="formId" value="6784ud015dc078c474200ba24f18aa6588afc" />
<input type="hidden" name="validation" value="" />
<input type="submit" value="Submit" id="submit" />
</form>
谢谢你页面php:
//var_dump($_REQUEST);
$property = $_REQUEST['Client_custom_50'];
$propertyName = strtolower(str_replace(" ", "-", $property));
$propertyDevName = $_REQUEST['Client_custom_50'];
if ($_REQUEST['Client_custom_50'] == $propertyDevName) {
echo "<a href='download/".$propertyName.".pdf'>Download PDF for ".$property."</a>";
}
答案 0 :(得分:2)
<击> 这里的问题是这个
name="Client.custom_50"
^
你正在使用
$_REQUEST['Client_custom_50']
^
name属性有一个输入点,而$ _REQUEST数组有一个下划线。
你的其他一些投入也是如此。
您可以将其重命名为name="Client_custom_50"
或重命名$ _REQUEST数组$_REQUEST['Client.custom_50']
。同样,对于你所有的点输入都是一样的。
<击> 撞击>
Nota:由于PHP用下划线替换了点,因此上面的内容被删除了。我在测试后注意到了这一点,并记得PHP自动执行此操作。
将error reporting添加到文件的顶部,这有助于查找错误。
<?php
error_reporting(E_ALL);
ini_set('display_errors', 1);
// rest of your code
旁注:只应在暂存时进行显示错误,而不是生产。
<强>脚注:强>
旁注:虽然有些事情尚不清楚。您的操作显示为action="landing-thank-you.php"
但您在问题中显示“thank-you page php”。你可能意味着“landing-thank-you.php”。
isset()
使用条件!empty()
或$_REQUEST
。<强>诺塔:强>
如果您的CRM浏览量超过1页,则后续页面将丢失所有值。
您需要使用会话。
还要检查的是检查是否发生了不可见的转换,在某处更改了点/下划线等字符。
如果这是跨域相关的,请在不同域中保留会话变量,参考堆栈上的Q&amp; A。
这也可能有用:
旁注:看到这个已提交的action="https://power.upsales.com/api/external/formSubmit"
也值得怀疑。这看起来就像你正在经历的CRM。
会话示例:
<?php
session_start();
error_reporting(E_ALL);
ini_set('display_errors', 1);
$property = $_REQUEST['Client_custom_50'];
$propertyName = strtolower(str_replace(" ", "-", $property));
$propertyDevName = $_REQUEST['Client_custom_50'];
if ($_REQUEST['Client_custom_50'] == $propertyDevName) {
echo "<a href='download/".$propertyName.".pdf'>Download PDF for ".$property."</a>";
}
$_SESSION['var'] = $propertyDevName;
?>
<a href="landing_2.php">Check session</a>
<强> landing_2.php 强>
<?php
session_start();
if(isset($_SESSION['var'])){
echo $_SESSION['var'];
$var2 = $_SESSION['var'];
echo "<hr>";
echo $var2;
}
...在使用您发布的代码时,两次回复“La Cala Hill Club”(并为其指定一个变量)。
如果您担心会话被劫持,请阅读以下文章:
答案 1 :(得分:-1)
您没有任何&#39; Client_custom_50&#39;,您必须具有与以下内容相同的输入值:
<input type="hidden" class="form-control remarketing" name="Client.custom_50" />