使用PHP的HTML Checkbox下载图像链接

时间:2015-03-11 13:38:08

标签: php html

我尝试了许多不同的堆栈解决方案来解决类似的问题,但没有一个能够解决我将HTML和PHP混合在一起,如果点击下载图像链接,PHP代码会在下载前检查是否同意使用条款。如果他们同意并点击"下载您的图片"链接,它应该自动下载。如果他们未同意,则应弹出警报。

以下是可用的HTML复选框代码:

 <form method="post">
 <input type="checkbox" name="terms" value="yes" id="agree" /> I have read      and agree to the Terms and Conditions</br>
 <button type="submit">test_post</button>
 </form>

这是HTML href下载链接(用PHP识别文件):

 <a href="<?php echo $new_image_with_overlay; ?>" download="<?php echo $new_image_name; ?>">Download Your Image</a>

这是我的PHP if语句(如果我把HTML放在一个href中,它可以正常工作):

 <?php
 if(isset($_POST['terms'])){
 // the HTML a href or similar would go here to automatically download the image 
 } else {
 // would like an alert presented to the user
 echo "alert('Please indicate that you have read and agree to the Terms of Use')";
 }
 ?>

我试过的另一个选项,我无法开始工作,但更愿意选择&#34;下载你的图像&#34;一个按钮而不是一个链接。要么适合这个。

2 个答案:

答案 0 :(得分:1)

如果您只想将链接置于isset条件中,则可以执行以下操作:

<?php
 if(isset($_POST['terms'])){
    echo "<a href=".$new_image_with_overlay." download=" .$new_image_name.">Download Your Image</a>";
 } else {
    $message = "Please indicate that you have read and agree to the Terms of Use";
    echo "<script type='text/javascript'>alert('$message');</script>";
 }
 ?>

你的alert()不会起作用,因为它混合了服务器和客户端代码,但我在上面添加它的方式应该适合你,因为脚本会在输出时触发。

希望这有帮助!

答案 1 :(得分:0)

这应该在这里工作:

 if(isset($_POST['terms']) && $_POST['terms'] == "yes"){