私は、ここで助けてくれてありがとうございます。ここで助けてくれてありがとうございます。ダウンロードコードリダイヤーを一緒に作成しました。検証が成功した場合。基本的に -フォーム提出後にダウンロードして有効にします
ユーザーが無効なコードを入力する - >ページがエラーメッセージとともに更新されます。 ユーザーが有効なコードを入力します - >ダウンロードを '名前を付けて保存' - >ページを更新します。
私はhttp://www.zubrag.com/scripts/download.phpを使用してファイルを配信していますが、一度ダウンロードが開始されると、私のフォームはページをリフレッシュしますが、コンテンツの半分しかロードしません。
これは私が行ったPHPスクリプトのフォームです。
<div class="dcrForm">
<p>Have a physical copy of this release? Claim your digital download by entering your Download Code below.</p>
<form action="index.php" method="post">
<input type="text" name="code" class="dcrInput" value="">
<input type="submit" name="harrisSubmit" class="dcrSubmit" value="Submit">
</form>
<?php
include("scripts/dcr_config.php");
$code="";
$log="";
if (isset($_POST['harrisSubmit']))
{
$code=$_POST['code'];
$link = mysql_connect($hostname, $dbusername, $dbpassword);
mysql_select_db("$databasename");
$query = "select count from $harris where code='$code'";
if ($q=mysql_query($query))
if ($r=mysql_fetch_array($q)){
if ($r[0]<3)
{
$subquery="update $tbname set count='".($r[0]+1)."' where code='$code'";
mysql_query($subquery);
?><script>window.location.href="download.php?f=test.txt";</script><?php
}
}
$log="<p>Invalid code. Try Again.</p>";
}
echo $log."";
?>
</div>
ダウンロードに最適な方法はありますか?現在のところ、ファイルの場所を知っている人なら誰でもファイルをダウンロードできますが、私はどのようにして私を保護することができるのか分かりません。
こんにちは、ありがとう、それはかなり役に立つプロジェクトでした。私はあなたの上記の解決策を試しましたが、Webからアクセス可能な場所に$ファイルを設定し、私が指しているファイル名に変更したとしても、ダウンロードは行われず、ページがリフレッシュされ、半分しかロードされません! – Bantros
絶対パスまたは相対パスを使用していますか? – dizas
あなたのコードの構造を少し変更しました。ヘッダーを送信したい場合、特にダウンロードを提供する場合は、その前にhtmlや空白を出力できないためです。このコードブロックの上に、例に示されていないヘッダーを送信する他のHTMLはありますか?その場合、ダウンロードを提供するスクリプトにファイルを提供する前に他の出力がないことを確認してください。前に応答しなかったことを申し訳ありません、私は受信トレイのメッセージを逃した必要があります。 – drew010