2017-02-28 11 views
-4

我在我的主頁上有一個窗體,它接受一個輸入。表單提交後,它重定向到一個新的Wordpress頁面test123,該頁面從test-template.php如何在PHP中分配唯一的URL?

獲取其內容。每個人(根據用戶輸入生成)的內容是唯一的。

因此,我試圖找到一種方法來爲表單提交後爲內容分配唯一的URL,然後在該URL上顯示內容。

編輯(額外的細節):在提交表單

<form method='post' action='<?php bloginfo('url'); ?>/test123/' > 
    Email: <input type="text" name="email" aria-required="true" required> 
    <input type="submit"> 
</form> 

後,頁面重新加載到example.com/test123,而是應該重新加載到example.com/RANDOM-ID

+3

是和?你有什麼嘗試? – tadman

+0

嗯,我知道如何使用uniqueid()或md5()生成隨機序列,但還沒有嘗試將其添加到URL,因爲我不知道從哪裏開始它(我試圖通過生成隨機URL 'action =「...」'),沒有任何運氣。 – Lau

+1

請勿使用MD5。請。永遠。爲了任何東西。忘記它甚至存在。爲什麼不生成隨機標識符? – tadman

回答

1

這是不容易幫你,因爲我不不知道你的代碼是怎樣的。但無論如何,讓我們試試看吧。

您可以簡單地使用uniqueid()

如果你是一個形式的工作,只使用一個隱藏字段這樣的:

<input type="hidden" name="unique_id" value="<?= uniqueid(); ?>">

然後在你的PHP文件只使用echo $_POST['unique_id'];

另一種選擇是直接使用唯一的ID在URL中,不知何故像這樣:

example.com?id=<?= uniqueid(); ?>

在這種情況下,你在你的PHP文件中使用echo $_GET['id'];獲得的價值。

更新

這將是您的形式:

<form method='post' action='<?php bloginfo("url"); ?>/test123/' > 
    Email: <input type="text" name="email" aria-required="true" required> 
    <input type="hidden" name="hidden_id" value="<?php echo uniqid(); ?>"> 
    <input type="submit"> 
</form> 

而這點你可以使用你的PHP文件,以獲得唯一ID:

Unique ID: <?php echo $id = (isset($_POST['hidden_id'])) ? $_POST['hidden_id'] : 'No ID found.'; ?> 
+0

感謝您的建議。不幸的是這兩種方法都沒有奏效第一個阻止我的主頁完全加載。第二個不允許我直接在WordPress的URL中添加唯一ID。我已經用表單代碼更新了原始問題,以便提供任何想法。 – Lau

+0

@Lau你的代碼的第一行有語法錯誤。我剛剛更新了我的答案,並測試了代碼。它適用於我,我希望它也適用於你。 –

相關問題