- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
请帮助我创建一个foreach循环,该循环采用数组的内容,该数组包括html表单中的每个name属性,并将其缓存为php变量,可用于将表单中的数据提交到mySQL数据库中。
我在下面的php代码中包含了我的foreach实例(多次尝试失败)。如果排除了我的foreach循环并且未注释php中注释掉的变量赋值,则该窗体工作正常。
这是HTML表单,首先:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Fixit-log</title>
</head>
<body>
<form action="form_script.php" method="POST">
<section id="identification"
<p>Case: <input type="text" name="case_id" size="7"/></p>
<p>Date: <input type="text" name="day" size="15" /</p>
<p>Owner First Name: <input type="text" name="owner_first_name" size="15" /> </p>
<p>Owner Last Name: <input type="text" name="owner_last_name" size="20" /</p>
<p>Phone: <input type="text" name="phone" size= "10"/></p>
<p>Email: <input type="email" name="email" size= "30"/><p>
<p>Address: <input type="text" name="address" size= "50"/</p>
<p>City: <input type="text" name="city" size="30"/</p>
<p>State: <input type="text" name= "state" size="2"</p>
<p>ZIP: <input type="text" name="zip" size="5"</p>
</section>
<section id="hardware">
<p>OS Make: <input type="radio" name="os_make" value="windows"/>Windows
<input type="radio" name="os_make" value="mac"/> Mac
<input type="radio" name="os_make" value="linux"/> Linux
<input type="radio" name="os_make" value="none"/>None</p>
<p>OS Type: <input type="text" name="os_type" size="15"/</p>
<p>OS Architecture <input type="radio" name="os_architecture" value="32"/> 32
<input type="radio" name="os_architecture" value="64"/>64
<input type="radio" name="os_architecture" value="other"/>Other</p>
<p>S/N: <input type="text" name="sn" size="20"</p>
<p>RAM: <input type="text" name="ram_amount" size="10"</p>
<p>CPU Make: <input type="radio" name="cpu_make" value="intel"/>Intel
<input type="radio" name="cpu_make" value="amd"/>AMD</p>
<input type="radio" name="cpu_make" value="other">Other</p>
<p>CPU Model: <input type="text" name="cpu_model" size="0"/></p>
<p>CPU Architecture: <input type="radio" name="cpu_architecture" value="32"/>32
<input type="radio" name="cpu_architecture" value="64"/>64
<input type="radio" name="cpu_architecture" value="other"/>Other</p>
<p>Other equipment: <input type="text" name="equipment_other" size="50"</p>
</section>
<section id="history">
<p>C/O: <input type="text" name="co" size="255"</p>
<p>Began: <input type="text" name="began" size="30"</p>
<p>Previous Work: <input type="radio" name="previous_work" value="yes"/>Yes
<input type="radio" name="previous_work" value="no"/> No
<input type="radio" name="previous_work" value="unknown"/> Unknown</p>
<p>Who?<input type="text" name="previous_who" size="20"/></p>
<p>When?<input type="text" name="previous_when" size="20"/></p>
<p>Comments: <input type="text" name="comments_initial" size="255"/></p>
</section>
<section id="diagnostic">
<p>Boot Time (sec): <input type="text" name="boot_time_initial" size="4"/</p>
<p>Memory: <input type="text" name="memory_use_initial" size="3" /</p>
<p>CPU: <input type="text" name="cpu_use_initial" size="3"/</p>
<p>Evaluation <input type="text" name="evaluation" size="254"</p>
</section>
<section id="plan">
<p>Actions: <input type="text" name="actions" size="254"/</p>
<p>Overview: <input type="text" name="overview" size="254"/</p>
<p>Summary: <input type="text" name="summary" size="254"/</p>
<p>Recommendations: <input type="text" name="recommendations" size="254"/</p>
</section>
<input type="submit" name="submit" value="Submit">
<input type="reset" name="reset" value="Reset">
</form>
</body>
</html>
<?php
define('DB_NAME', 'x');
define('DB_USER', 'x');
define('DB_PASSWORD', 'x');
define('DB_HOST', 'x');
$link = mysql_connect(DB_HOST, DB_USER, DB_PASSWORD);
if (!$link) {
die('Could not connect: ' . mysql_error());
}
$db_selected = mysql_select_db(DB_NAME, $link);
if (!$db_selected) {
die('Can\'t use ' . DB_NAME . ': ' . mysql_error());
}
/*echo 'connected succesfully';*/
$formItems = array('case_id','day','owner_first_name','owner_last_name','phone','email','address','city','state','zip','os_make','os_type','os_architecture','sn','ram_amount','cpu_make','cpu_model','cpu_architecture','equipment_other','co','began','previous_work','previous_who','previous_when','comments_initial','boot_time_initial','memory_use_initial','evaluation','overview','actions','summary','recommendations');
foreach ($formItems as $formItem){
print '$' . $formItem . '=' . '$_POST' . '[' . '\'' . $formItem . '\'' . '];' . ' ';
}
//Loop replaces list below
/*$case_id=$_POST['case_id'];
$day=$_POST['day'];
$owner_first_name=$_POST['owner_first_name'];
$owner_last_name=$_POST['owner_last_name'];
$phone=$_POST['phone'];
$email=$_POST['email'];
$address=$_POST['address'];
$city=$_POST['city'];
$state=$_POST['state'];
$zip=$_POST['zip'];
$os_make=$_POST['os_make'];
$os_type=$_POST['os_type'];
$os_architecture=$_POST['os_architecture'];
$sn=$_POST['sn'];
$ram_amount=$_POST['ram_amount'];
$cpu_make=$_POST['cpu_make'];
$cpu_model=$_POST['cpu_model'];
$cpu_architecture=$_POST['cpu_architecture'];
$equipment_other=$_POST['equipment_other'];
$co=$_POST['co'];
$began=$_POST['began'];
$previous_work=$_POST['previous_work'];
$previous_who=$_POST['previous_who'];
$previous_when=$_POST['previous_when'];
$comments_initial=$_POST['comments_initial'];
$boot_time_initial=$_POST['boot_time_initial'];
$memory_use_initial=$_POST['memory_use_initial'];
$cpu_use_initial=$_POST['cpu_use_initial'];
$evaluation=$_POST['evaluation'];
$overview=$_POST['overview'];
$actions=$_POST['actions'];
$summary=$_POST['summary'];
$recommendations=$_POST['recommendations'];
*/
$sql = "INSERT INTO jobs (case_id, day, owner_first_name, owner_last_name, phone, address, city, state, zip, email, os_make, os_type, os_architecture, sn, ram_amount, cpu_make, cpu_model, cpu_architecture, equipment_other, co, began, previous_work, previous_who, previous_when, comments_initial, boot_time_initial, memory_use_initial, cpu_use_initial, evaluation, overview, actions, summary, recommendations) " . " VALUES ('$case_id', '$day', '$owner_first_name', '$owner_last_name', '$phone', '$address', '$city', '$state', '$zip', '$email', '$os_make', '$os_type', '$os_architecture', '$sn', '$ram_amount', '$cpu_make', '$cpu_model', '$cpu_architecture', '$equipment_other', '$co', '$began', '$previous_work', '$previous_who', '$previous_when', '$comments_initial', '$boot_time_initial', '$memory_use_initial', '$cpu_use_initial', '$evaluation', '$overview', '$actions', '$summary', '$recommendations')";
if(!mysql_query($sql)) {
die('Error: ' . mysql_error());
}
mysql_close();
?>
最佳答案
看来您正在尝试使用名称来自$formItems
数组的变量来创建变量。我认为您可以为此使用variable variables。按照问题显示的方式进行操作:
foreach ($formItems as $formItem){
print '$' . $formItem . '=' . '$_POST' . '[' . '\'' . $formItem . '\'' . '];' . ' ';
}
foreach ($formItems as $formItem) {
$$formItem = mysql_escape_string($_POST[$formItem]);
}
关于php - 创建一个foreach循环以在php变量中缓存html表单名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30311796/
我是 PHP 新手。我一直在脚本中使用 for 循环、while 循环、foreach 循环。我想知道 哪个性能更好? 选择循环的标准是什么? 当我们在另一个循环中循环时应该使用哪个? 我一直想知道要
我在高中的编程课上,我的作业是制作一个基本的小计和顶级计算器,但我在一家餐馆工作,所以制作一个只能让你在一种食物中读到。因此,我尝试让它能够接收多种食品并将它们添加到一个价格变量中。抱歉,如果某些代码
这是我正在学习的一本教科书。 var ingredients = ["eggs", "milk", "flour", "sugar", "baking soda", "baking powder",
我正在从字符串中提取数字并将其传递给函数。我想给它加 1,然后返回字符串,同时保留前导零。我可以使用 while 循环来完成此操作,但不能使用 for 循环。 for 循环只是跳过零。 var add
编辑:我已经在程序的输出中进行了编辑。 该程序要求估计给定值 mu。用户给出一个值 mu,同时还提供了四个不等于 1 的不同数字(称为 w、x、y、z)。然后,程序尝试使用 de Jaeger 公式找
我正在编写一个算法,该算法对一个整数数组从末尾到开头执行一个大循环,其中包含一个 if 条件。第一次条件为假时,循环可以终止。 因此,对于 for 循环,如果条件为假,它会继续迭代并进行简单的变量更改
现在我已经习惯了在内存非常有限的情况下进行编程,但我没有答案的一个问题是:哪个内存效率更高;- for(;;) 或 while() ?还是它们可以平等互换?如果有的话,还要对效率问题发表评论! 最佳答
这个问题已经有答案了: How do I compare strings in Java? (23 个回答) 已关闭 8 年前。 我正在尝试创建一个小程序,我可以在其中读取该程序的单词。如果单词有 6
这个问题在这里已经有了答案: python : list index out of range error while iteratively popping elements (12 个答案) 关
我正在尝试向用户请求 4 到 10 之间的整数。如果他们回答超出该范围,它将进入循环。当用户第一次正确输入数字时,它不会中断并继续执行 else 语句。如果用户在 else 语句中正确输入数字,它将正
我尝试创建一个带有嵌套 foreach 循环的列表。第一个循环是循环一些数字,第二个循环是循环日期。我想给一个日期写一个数字。所以还有另一个功能来检查它。但结果是数字多次写入日期。 Out 是这样的:
我想要做的事情是使用循环创建一个数组,然后在另一个类中调用该数组,这不会做,也可能永远不会做。解决这个问题最好的方法是什么?我已经寻找了所有解决方案,但它们无法编译。感谢您的帮助。 import ja
我尝试创建一个带有嵌套 foreach 循环的列表。第一个循环是循环一些数字,第二个循环是循环日期。我想给一个日期写一个数字。所以还有另一个功能来检查它。但结果是数字多次写入日期。 Out 是这样的:
我正在模拟一家快餐店三个多小时。这三个小时分为 18 个间隔,每个间隔 600 秒。每个间隔都会输出有关这 600 秒内发生的情况的统计信息。 我原来的结构是这样的: int i; for (i=0;
这个问题已经有答案了: IE8 for...in enumerator (3 个回答) How do I check if an object has a specific property in J
哪个对性能更好?这可能与其他编程语言不一致,所以如果它们不同,或者如果你能用你对特定语言的知识回答我的问题,请解释。 我将使用 c++ 作为示例,但我想知道它在 java、c 或任何其他主流语言中的工
这个问题不太可能帮助任何 future 的访问者;它只与一个小的地理区域、一个特定的时间点或一个非常狭窄的情况有关,这些情况并不普遍适用于互联网的全局受众。为了帮助使这个问题更广泛地适用,visit
我是 C 编程和编写代码的新手,以确定 M 测试用例的质因数分解。如果我一次只扫描一次,该功能本身就可以工作,但是当我尝试执行 M 次时却惨遭失败。 我不知道为什么 scanf() 循环有问题。 in
这个问题已经有答案了: JavaScript by reference vs. by value [duplicate] (4 个回答) 已关闭 3 年前。 我在使用 TSlint 时遇到问题,并且理
我尝试在下面的代码中添加 foreach 或 for 循环,以便为 Charts.js 创建多个数据集。这将允许我在此折线图上创建多条线。 我有一个 PHP 对象,我可以对其进行编码以稍后填充变量,但
我是一名优秀的程序员,十分优秀!