簡體   English   中英

使用post以表格形式傳遞當前URL php

[英]Pass current URL php in form using post

我有帶有html編碼的php文件。 我正在使用include語句將同一表單導入許多不同的頁面,但是我需要知道表單是從哪個頁面提交的。 文件本身是.php,但是大多數編碼都使用html。 如何添加提交表單的網站的當前URL? 我使用發布方法。

<form action="post.php" method="post">
   <input type="hidden" name="url" value="(Current URL here)" />
   <input type="text" id="email" name="email">
</form>

和PHP部分:

<?php
  $addressto = "mail@mail.com";
  $subject = "Message";
  $content = "Email: ".$_POST['email']."\n"
            ."URL: ".$_POST['url']."\n";

    $email = $_POST['email'];
    if (mail($addressto, $subject, $content, 'From: <' . $email . '>')) {
        header("Location: message-sent.html");
    }
?>

我相信我需要獲取URL的某種代碼。 我在這里沒有找到類似的問題,但是沒有一個問題清楚地說明了如何做。 謝謝您的幫助。

看看下面的答案和代碼

獲取PHP中的完整URL

<form action="post.php" method="post">
  <input type="hidden" name="url" value="<?php echo "http://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]"; ?>" />
  <input type="text" id="email" name="email">
</form>

 <?php $actual_link = "http://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]"; ?> <form action="post.php" method="post"> <input type="hidden" name="url" value="<?=$actual_link?>" /> <input type="text" id="email" name="email"> </form> 

傳遞鏈接要少一點, $_SERVER[HTTP_REFERRER]通常可以使用,

它受客戶端修改的影響,但是表單字段也是如此。 如果您確實願意,我會在后端檢查域,以確保安全。

HTTP_REFERRER-是發出請求的地址,因此,在您的情況下,它應該是帶有表單的頁面。

少處理一個變量。

  $content = "Email: ".$_POST['email']."\n"
        ."URL: ".$_SERVER[HTTP_REFERRER]."\n";


 $email = $_POST['email'];
 if (mail($addressto, $subject, $content, 'From: <' . $email . '>')) {
    header("Location: message-sent.html");
 }

干杯!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM