我正在为Uni做作业。它要求我制作一个HTML表单,需要用户输入他们的姓名,他们坐在哪个表号,他们是否是普通客户,以及他们的实际咖啡订单。
到目前为止,我已经完成了这项工作,但现在我已经在作业中要求创建一个PHP文件来利用这些信息。我对PHP并不太精明,而且我的讲义只是让我感到困惑。
我对GET方法和POST有一个粗略的想法,但我如何进行按钮编码? '显示顺序'按钮应返回客户的页面'订购。我曾尝试阅读大量的教程,但这已经成为我的最后一招,真的希望有人可以帮我解释一下。
如果我不清楚这里的任何内容,请告诉我,我会再解释一下,不,我不是要求任何人为我做代码,我只需要一个先行,所以我知道如何开始编码。
我的HTML代码:
<!doctype html>
<html>
<head>
<title>Task 1 </title>
<style>
</style>
</head>
<body>
<center> <h1>Legendary Ice Creams </h1> </center>
<h4>Customer Information</h4>
<form action"task1.php" method = GET>
Customer Name: <input type="text" name="Your Name" title="Please enter your name here" placeholder="Your name here"><br>
Table number: <select name="Table number">
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
<option value="6">6</option>
<option value="7">7</option>
</select><br>
Regular Customer: <input type="checkbox" name="regularcustomer"
value="regularcustomer"><br>
<h4> Orders </h4>
<label for = "mulList[]"> Select one or more items</label>
<select id = "mulList[]" name = "mList[]" size = "4" multiple
= "true">
<option value = "First">First</option>
<option value = "Second">Second</option>
<option value = "Third">Third</option>
<option value = "Fourth">Fourth</option>
</select><br>
Select Coffee: <input type="radio" name="coffee">Latte</input>
<input type="radio"
name="coffee">Cappacino</input>
<input type="radio" name="coffee">Flat Half
De-Caf</input><br>
<button type="button" name="showOrder" action="task1.php">Show Order</input>
<button type="button" name="cancelOrder" action="task1.php">Cancel Order</button>
</form>
答案 0 :(得分:0)
缺少“=”。
<form action"task1.php" method = GET>
应该是
<form action="task1.php" method = "GET">
正确?
然后您应该能够在
中打印所选内容<强> task1.php 强>
<?php
echo "<pre>";
print_r($_GET);
echo "</pre>";
?>
正确?
答案 1 :(得分:0)
首先,不要在HTML元素的name
属性中使用空格。要么将它们替换为下划线,要么将两个词组合在一起。
在task1.php
内,您可以使用$_POST
超级变量捕获用户输入。所以$ _POST ['Your_Name']将包含用户在Customer Name
文本框中键入的内容。您可以使用以下方法获取有关所需所有密钥的信息:
echo '<pre>';
print_r($_POST); // replace this with $_GET if using method="GET" in your form tag
echo '</pre>';
在您的task1.php
页面中。我建议你从这里开始,然后从那里开始。
另外,请从action
代码中删除<button>
属性。
答案 2 :(得分:0)
首先,您的表单标记错误,=
缺失,方法也应该用引号括起来,如下所示:
<form action="task1.php" method="GET" enctype="multipart/form-data">
现在您的实际问题:要为另一个php文件提供内容,您需要使用name
属性命名HTML元素。然后,您可以使用$_GET
或$_POST
在此php文件中调用它,具体取决于您在form
标记中指定的内容。因此,为了访问您的信息,在我的情况下只是名称,这是必要的:
$name = $_GET['Your Name'];
然后你可以随意使用它。您还可以使用简单循环来获取所有必要信息,密钥将被保留,并使用filter_var
过滤值:
foreach($_GET as $k => $v) {
$getvars[$k] = filter_var($v);
}
我希望这涵盖了你的实际问题,你似乎对我很失落,所以我尽量解释它。^^
使用html / php的简单表格的一小部分示例:
htmlform.html
<html>
<head><meta charset="utf-8"></head>
<body>
<form action="phpfile.php" enctype="multipart/form-data" method="GET">
<input type="text" name="fname">
<input type="text" name="lname">
<input type="submit">
</form>
</body>
</html>
phpfile.php
<?php
$fname = filter_var($_GET['fname']);
$lname = filter_var($_GET['lname']);
echo "Your name is ".$fname." ".$lname;
?>
答案 3 :(得分:0)
首先,不要在客户名称中使用Your Name
等名称之间的空格,更好地使用Your_Name
或任何您想要的内容
在=
和action
之间添加"task1.php"
并在
<button type="button" name="showOrder" action="task1.php">Show Order</input>
类型将是submit
,即
<button type="submit" name="showOrder" action="task1.php">Show Order</input>
<强> task1.php 强>
if(!empty($_GET)){
echo "Customer Name:".$_GET['name'];//Printing Name
...
}