【发布时间】:2017-07-31 18:11:35
【问题描述】:
我正在尝试创建注册表单,它有多个文本字段(姓名、电子邮件、电话、..)并有多个复选框选项。
我还在 mysql 数据库中创建了多个表,每个复选框一个。
我的目标是将文本字段中的值存储到选定的复选框数据表中。
我的问题是如何创建 if 语句来查看选中了哪个复选框,因此它将文本字段的输入存储到该表中
input.php
<html>
<head>
</head>
<script type="text/javascript">
function toggle(source) {
checkboxes = document.getElementsByName('chk1[]');
for(var i=0, n=checkboxes.length;i<n;i++) {
checkboxes[i].checked = source.checked;
}
}
</script>
<body>
<h2><font color="white">Welcome to Cars and Coffee</h2>
<p>Sign up to receive if you are interested in
receiving information from Cars and Coffee.</p>
<p>Please select at least one option</p>
<form name="newEntry" action="page.php" method="POST">
name<input type=text length=60 size=30 name="name"><br>
email<input type=text length=60 size=30 name="email"><br>
car<input type=text length=60 size=30 name="car"><br>
phone<input type=text length=60 size=30 name="phone"><br>
<input type="submit" name="submit" email="add" car="add" phone="add" >
</form>
<form action="page.php" method="POST">
<input type="checkbox" name="chk[]" value="cars_coffee">Cars & Coffee<br>
<input type="checkbox" name="chk[]" value="kentucky">Kentucky Derby Party<br>
<input type="checkbox" name="chk[]" value="july">July 4th<br>
<input type="checkbox" name="chk[]" value="labor">Labor Day<br>
<input type="checkbox" name="chk[]" value="new_year">New Years Day<br>
<input type="checkbox" name="chk[]" value="all" onClick="toggle(this)">Select All<br>
</form>
<?php
mysql_connect("localhost", "db", "pw");
mysql_select_db("db");
$qh = mysql_query("select * from all_emails order by id desc");
if (@mysql_num_rows($qh)) { /* the if(@...) syntax makes PHP supress any
warnings that might come out of that function. */
/* mysql_fetch_object(query handle);
* returns an object whose contents are that of one rotw in the
database. */
while ($obj = mysql_fetch_object($qh)) {
echo "
<p>
$obj->email<br>
$obj->name<br>
$obj->car<br>
$obj->phone<br>
<p>
<hr>
";
}
}
?>
</body>
</html>
page.php
<?php
mysql_connect("localhost", "db", "pw");
mysql_select_db("db");
mysql_query("insert into all_emails (name, email, car, phone) values ('".$_POST['name']."','".$_POST['email']."','".$_POST['car']."', '".$_POST['phone']."' )");
?>
<html>
<head>
<meta http-equiv=refresh content="0; URL=./input.php">
</head>
</html>
这是我正在尝试的 if 语句。
<?php
mysql_connect("localhost", "db", "pw");
mysql_select_db("db");
if( isset($_POST["cars_coffee"] ) ) {
$sql = "INSERT INTO cars_and_coffee (name, email, car, phone) values ('".$_POST['name']."','".$_POST['email']."','".$_POST['car']."', '".$_POST['phone']."' )");
mysql_query($sql) or die(mysql_error());
}
echo "Record is inserted";
}
?>
【问题讨论】:
-
我没有看到提出的实际问题或需要解决的问题?
-
“我还在 mysql 数据库中创建了多个表,每个复选框一个。” - 认真吗?你 100% 确定要这样做吗?你最好重新考虑一下,认真地。
-
@Zak 我刚刚编辑过,基本上我正在寻找如何使用 if 语句来检查选中的复选框
-
@Fred-ii- 你可能是对的,但我的目标是制作特定于目标的表格以获取所有电子邮件并向他们发送电子邮件。
-
首先,名称必须与 name='MT' 相同,并且各个复选框的值必须不同,例如 。如果要检查多个值,则必须在名称中使用数组,例如 。确保你专注于 name='MT' 和 name = 'MT[]'
标签: javascript php mysql