我只知道基本HTML
我想在我的网站上放置一个文本框,如果用户输入了他的订单号,它将打开该订单摘要的链接。
指向这些订单摘要的链接以ORDERNUMBER-DATE格式保存在我的网络服务器上(例如:http://www.mywebsite.com/orders/OD12354-22.02.14.html)
我想要的只是2个文本框,用户输入订单号和日期。 点击提交时,应该自动将用户带到链接。
答案 0 :(得分:0)
HTML本身就不足以满足这一要求。最好的选择是使用Javascript(可能是jQuery)来获取文本框的内容,然后在按下提交按钮时,让浏览器重定向到您的静态路径以及动态订单信息。您的HTML示例可能如下:
<form>
<input id="order" name="order" type="text" required>
<input id="date" name="date" type="date" required>
<input type="submit" value="submit">
</form>
然后使用jQuery在submit:
上提取输入内容$('form').on('submit', function(e) {
e.preventDefault();
var order = $('#order').val();
var date = $('#date').val();
// Format date and order input as necessary
// Construct URL path and redirect here
window.location('http://www.mywebsite.com/orders/' + order + '-' + date + '.html');
});
显然,在执行重定向之前,您需要验证并确保输入是安全的。阅读Javascript和window.location()
答案 1 :(得分:0)
这是一种在PHP中实现的方法。您当然需要验证用户是否以正确的格式输入了数据,但这是另一章。
findorder.php
<?php
if (!empty($_POST['order']) && !empty($_POST['date'])) {
$redirect = "orders/" . $_POST['order'] . "-" . $_POST['date'] . ".html";
if(file_exists($redirect) == true) {
header('Location: ' . $redirect);
die();
}
else {
echo "Order not found";
}
}
?>
<form action="findorder.php" method="POST">
<input id="order" name="order" type="text" placeholder="Order number">
<input id="date" name="date" type="date" placeholder="Date">
<input type="submit" value="submit">
</form>
更新:我添加了file_exists位。请注意,您无法在那里传递正确的URL,只需传递文件路径。