【发布时间】:2018-01-04 12:41:11
【问题描述】:
我已经为此遇到了一些类似的问题,但是,根据我的基本知识,我无法找到可以直接与我想要实现的目标联系起来的答案。
例如,我找到了有关存储多个复选框值的数组的答案。但是,我不确定这是否是我需要的,因为我拥有的 3 个复选框中的每一个都用于数据库中的各个列。
这是我目前用于复选框等的 HTML:
<form action="addNewClient.php" method="POST">
<div class="modal-body">
<p>Please enter the name of the client you wish to create.</p>
<textarea id="addSQLNoteName" placeholder="Enter client name..." name="title" maxlength="25"></textarea>
<p>Teams Packge:</p>
<select name="package">
<option value="SBE">SBE</option>
<option value="Enterprise">Enterprise</option>
</select>
<br />
<input type="checkbox" name="portal" value="1"> Premium Portal
<br />
<input type="checkbox" name="replicated" value="1"> Replicated
<br />
<input type="checkbox" name="client" value="1"> IT Client
<br />
<textarea id="addSQLNoteName" placeholder="Important client info..." name="info" maxlength="25"></textarea>
</div>
<div class="modal-footer footer-sqlnotes">
<button type="submit" class="btn btn-success">Add Client</button>
</div>
</form>
这是我当前的 PHP 代码,我做了几个 cmets 只是显示哪些是复选框:
<?php include 'connectionDetails.php'; ?>
<?php
session_start();
if (isset($_POST['title'], $_POST['package'], $_POST['portal'], $_POST['replicated'], $_POST['client'], $_POST['info']))
{
$title = $_POST['title'];
$package = $_POST['package'];
$portal = $_POST['portal']; //Checkbox
$replicated = $_POST['replicated']; //Checkbox
$client = $_POST['client']; //Checkbox
$info = $_POST['info'];
$stmt = "INSERT INTO Clients (Client, TeamsPackage, Rating, Pos, Neg, PremiumPortal, Replicated, ITClient, ClientInfo) VALUES (?, ?, 0, 0, 0, ?, ?, ?, ?)";
$params = array($title, $package, $portal, $replicated, $client, $info);
$stmt = sqlsrv_query($conn, $stmt, $params);
if ($stmt === false)
{
die( print_r(sqlsrv_errors(), true));
}
header('location: clients.php');
}
else
{
echo "No Data";
}
?>
所以在我的数据库中,我有三个位字段列,如果在提交时选中,它将作为 1 输入,否则它将作为 0 输入。
就像我说的,如果另一个问题确实回答了我的问题,我深表歉意,我似乎无法将它实施到我想要实现的目标。
目前,如果所有 3 个框都被选中,那么它将添加客户端,否则它将失败 isset(),这是我目前正在尝试解决的问题。
【问题讨论】:
-
会话数组是否包含值?我看不出它们是在哪里设置并分配给某些东西的。
-
我认为您应该对
isset()中的数组使用 POST 而不是 SESSION 并且它没有通过那个条件。很难说你想在这里使用/做什么。 -
抱歉,那些不应该是会话,我现在会改变那些,假装你没看到那一点
-
我会使用三元运算符来代替所有这些,只需在提交按钮上使用
isset(),然后在其中使用三元运算符。使用错误报告并检查查询中的错误。 -
@FunkFortyNiner 我将不得不看一些使用三元运算符的示例,因为我以前没有遇到过。也感谢您的回复。
标签: php html sql-server