gpt4 book ai didi

php - 在提交用户输入后,如何在 if 语句中提交用户输入

转载 作者:行者123 更新时间:2023-11-29 19:59:55 25 4
gpt4 key购买 nike

我刚刚为此注册了一个帐户。因此,我的任务是设置一个可以使用 MYSQL 数据库(northwind)执行某些操作的菜单。

我对 PHP 还很陌生,但是,我不得不说我很失望,因为我无法通过该项目的最简单部分。

该项目只是要求“您的程序应该仅使用纯文本进行交互。为了使编译和分级更容易,请勿包含图形或任何其他花哨的界面。
您的顶部菜单(以及要求您执行的任务)包括以下内容:

  1. 添加客户
  2. 添加订单
  3. 删除订单
  4. 发货
  5. 打印包含客户信息的待处理订单
  6. 补充零件
  7. 退出

现在我应该循环这个菜单并选择一个选项。一旦我选择了一个选项,我就必须执行一个 SQL 查询(我还没有做到这一点,而且这并不是问题的一部分)。一旦查询内容完成,它将再次循环到菜单。

到目前为止我已经做到了这一点。这有点脏,但我只是想完成这项工作,以便以后可以改进。这是我的代码:

<?php
include "database-include.php";

$connection = mysqli_connect(DBHOST,DBUSER,DBPASS,DBNAME);

$error = mysqli_connect_error();
if($error != null){
$output = "<p>Unable to connect to database<p>".$error;
exit($output);
}

echo "1. add a customer <br/>
2. add an order <br/>
3. remove an order <br/>
4. ship an or0der <br/>
5. print pending orders with customer information <br/>
6. restock parts <br/>
7. exit <br/>";

echo "<form action = 'Northwind_Database_Shahbaaz_Singh.php' method='get'>";
echo "<input type = 'text' value ='' name ='choice'/>";
echo "</form>";
if (isset($_GET['choice'])){
$choice = $_GET['choice'];

echo "<br/>";
if ($choice == 1){
echo "<form action = 'Northwind_Database_Shahbaaz_Singh.php' method='get'>";
echo "<input type = 'text' value ='Customer Name' name ='customer_name'/>";
echo "<input type='submit' value='Submit'>";
if (isset($_GET['customer_name'])){
echo "success";
}
echo "</form>";
} else if ($choice == 2){
echo "2";
} else if($choice == 3){
echo "3";
} else if($choice == 4){
echo "4";
} else if($choice == 5){
= echo "5";
} else if($choice == 6){
echo "5";
} else if($choice == 7){
exit("Goodbye!");
}
}
?>

我遇到的问题是,在我选择一个选项并键入输入后,表单提交的是客户值,而不是选择值。该界面工作的唯一方法是我再次手动输入选择和客户值(value)。无论如何,我是否可以在 POST/GET 知道选择相同的情况下获取要提交的客户值?

这在 Java 中会容易 100 倍,但我选择在 PHP 中实现 phpmyadmin 支持。 PHP 似乎没有与 Java 的 in.nextLine 等效的功能。

如有任何帮助,我们将不胜感激!

最佳答案

所以你有很多问题,例如尝试将 PHP 用作 Java 而不是使用静态 HTML...但你确实说你是新手,所以我就直入主题。

当您在文本输入中选择“1”作为选项(可以轻松更改为单选按钮或 <select> 标记)时,您将创建 2 个单独的表单,采用 choice完全脱离环境,仅发送customer-name到服务器。改为这样做:

<?php
include 'database-include.php';

$connection = mysqli_connect(DBHOST, DBUSER, DBPASS, DBNAME);

$error = mysqli_connect_error();
if($error != null){
$output = '<p>Unable to connect to database<p>'.$error;
exit($output);
}

echo '<ol>
<li>Add a customer</li>
<li>Add an order</li>
<li>Remove an order</li>
<li>Ship an order</li>
<li>Print pending orders with customer information</li>
<li>Re-stock parts</li>
<li>Exit</li>
</ol>
<form action="Northwind_Database_Shahbaaz_Singh.php" method="get">
<input type="text" value="'.$_GET['choice'].'" name="choice">';
if(isset($_GET['choice'])){
$choice = $_GET['choice'];
echo '<br/>';

if($choice == 1){
echo '<input type="text" placeholder="Customer Name" name="customer_name">
<button>Submit</button>';
if(isset($_GET['customer_name'])){
echo 'Success';
}
} else if ($choice == 2){
echo "2";
} else if($choice == 3){
echo "3";
} else if($choice == 4){
echo "4";
} else if($choice == 5){
echo "5";
} else if($choice == 6){
echo "5";
} else if($choice == 7){
exit("Goodbye!");
}
}
echo '</form>';
?>

这样,您只需向现有表单添加内容,仅保留一个表单并始终发送所有可用数据。

关于php - 在提交用户输入后,如何在 if 语句中提交用户输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40579532/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com