我正在建立结帐页面,购买后应显示一次性下载链接。
www.mydomain/generate.php?mypassword
此链接生成一次性下载链接,它应显示在Checkout页面上。
目前我使用:
$url = 'http://www.mydomain/generate.php?mypassword';
$content = file_get_contents($url);
$get_div = explode( '<div id="downloadlink" class="container">' , $content );
$get_end_div = explode("</div>" , $get_div[1] );
echo $get_end_div[0];
有什么建议可以更好地在结帐页面上获取生成的下载链接吗?
使用上面的代码,我有一个大问题。当客户登陆结账页时,他/她可以在文件下载后刷新页面,当页面生成与她/他的新链接时。
我来这里学习,欢迎任何建议/建议
答案 0 :(得分:0)
没有ajax的另一个建议。
生成密码或您要显示的任何数据,并保留在会话或数据库中,并重定向到另一个页面http://www.mydomain/display.php。在那里你可以显示密码。也刷新不会生成新的链接。
你的&#34; mypassword&#34;是生成? &#34;这不会阻止文件生成新链接&#34; - 什么是生成新链接?我以为mypassword正在重新生成。
假设&#34; http://www.mydomain/generate.php?mypassword&#34;页面正在生成密码链接,请使用以下方法。
checkout.php
<?php
//After payment, you have mypassword now redirect to http://www.mydomain/generate.php';
$_SESSION['mypassword'] = 'mypassword';
header("Location:http://www.mydomain/display.php");
如果generate.php正在加载时生成下载链接 Display.php的
$mypassword = !empty($_SESSION['mypassword']) ? $_SESSION['mypassword'] : null;
if (!empty($mypassword))
{
$url = 'http://www.mydomain/generate.php?'.$mypassword;
$content = file_get_contents($url);
$get_div = explode( '<div id="downloadlink" class="container">' , $content );
$get_end_div = explode("</div>" , $get_div[1] );
echo $get_end_div[0];
//Unset password to disable second download
unset($_SESSION['mypassword']);
}
else
{
echo "Invalid download link":
}