如何使用PHP和MySQL在复选框中使用布尔值
因此,我试图找出如何设置一个带有复选框的布尔值 编辑:在编辑联系人或添加新联系人时,我需要将布尔值保存到我的数据库中,如果选中则为true,如果未选中则为false 我在PHP和MySQL中使用过字符串和int,但似乎无法理解布尔值(我对PHP还是很陌生) 同样,我知道字符串是这样设置的,但是对于布尔值,我该怎么做呢?还是仅仅是绳子?我可以将其验证为字符串或int吗如何使用PHP和MySQL在复选框中使用布尔值,php,html,mysql,boolean,helper,Php,Html,Mysql,Boolean,Helper,因此,我试图找出如何设置一个带有复选框的布尔值 编辑:在编辑联系人或添加新联系人时,我需要将布尔值保存到我的数据库中,如果选中则为true,如果未选中则为false 我在PHP和MySQL中使用过字符串和int,但似乎无法理解布尔值(我对PHP还是很陌生) 同样,我知道字符串是这样设置的,但是对于布尔值,我该怎么做呢?还是仅仅是绳子?我可以将其验证为字符串或int吗 mysqli_stmt_bind_param($stmt, 'sssssssss', $gos_bname, $gos_pname
mysqli_stmt_bind_param($stmt, 'sssssssss', $gos_bname, $gos_pname, $gos_email, $gos_url, $gos_phone, $gos_address, $gos_city, $gos_province, $gos_desc);
我知道很多,但这是我到目前为止所拥有的一切
编辑页面
<?php
include(__DIR__."/includes/db.php");
include(__DIR__."/includes/validate.php");
$conNotFound = true;
$conDetails = [];
$isPostRequest = false;
$isValidForm = false;
$successfulSave = false;
if ($_SERVER['REQUEST_METHOD'] === "GET") {
if (isset($_GET['id'])) {
$con_id = validate_number($_GET['id']);
if ($con_id != false) {
$conDetails = get_con_by_id($con_id);
}
}
} else if ($_SERVER['REQUEST_METHOD'] == "POST") {
$isPostRequest = true;
$gos_bname = "";
$gos_pname = "";
$gos_email = "";
$gos_phone = "";
$gos_url = "";
$gos_address = "";
$gos_city = "";
$gos_province = "";
$gos_description = "";
$gos_checkbox = 1;
$con_id = null;
if (isset($_POST['gos_bname'])
&& isset($_POST['gos_pname'])
&& isset($_POST['gos_email'])
&& isset($_POST['gos_phone'])
&& isset($_POST['gos_url'])
&& isset($_POST['gos_address'])
&& isset($_POST['gos_city'])
&& isset($_POST['gos_province'])
&& isset($_POST['gos_description'])
&& isset($_POST['gos_checkbox'])
&& isset($_POST['con_id'])){
$gos_bname = validate_string($_POST['gos_bname']);
$gos_pname = validate_string($_POST['gos_pname']);
$gos_email = validate_string($_POST['gos_email']);
$gos_phone = validate_string($_POST['gos_phone']);
$gos_url = validate_string($_POST['gos_url']);
$gos_address = validate_string($_POST['gos_address']);
$gos_city = validate_string($_POST['gos_city']);
$gos_province = validate_string($_POST['gos_province']);
$gos_description = validate_string($_POST['gos_description']);
$char_id = validate_number($_POST['char_id']);
if ($gos_bname != false
&& $gos_pname != false
&& $gos_email != false
&& $gos_phone != false
&& $gos_url != false
&& $gos_address != false
&& $gos_city != false
&& $gos_province != false
&& $gos_description != false
&& $gos_checkbox = !false
&& $con_id != false){
$isValidForm = true;
}
}
if ($isValidForm) {
$successfulSave = update_con_by_id($gos_bname, $gos_pname, $gos_email, $gos_url, $gos_phone, $gos_address, $gos_city, $gos_province, $gos_desc, $gos_checkbox, $con_id);
}
}
?>
<!doctype html>
<html class="no-js" lang="">
<head>
<meta charset="utf-8">
<title>Edit Character</title>
<meta name="description" content="">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link href="https://fonts.googleapis.com/css?family=Luckiest+Guy&display=swap" rel="stylesheet">
<link href="https://fonts.googleapis.com/css?family=Raleway:400,700&display=swap" rel="stylesheet">
<link rel="stylesheet" href="css/main.css">
</head>
<body>
<header>
<h1>Contacts DB</h1>
<nav class="nav-bar">
<ul class="nav-list">
<li><a href="index.php">Home</a></li>
<li><a href="list.php">Character List</a></li>
<li><a href="insert.php">Add Characters</a></li>
<li><a href="search.php">Search</a></li>
</ul>
</nav>
</header>
<main>
<div class="form-container">
<?php if($conNotFound && $conDetails == [] && !$isPostRequest) {?>
<h2>Contact not found</h2>
<p>Note: this would normally go to a 404</p>
<?php } else if (!$isPostRequest){ ?>
<form method='post' action='<?php echo $_SERVER['PHP_SELF']; ?>'>
<h2>Edit Contact: <?php echo $conDetails['gos_bname']?></h2>
<input type="number"
class="hidden"
name="char_id"
value="<?php echo $con_id?>"
>
<div class="form-group">
<label for="business-name">Business Name:</label>
<input type="text"
class="form-control"
id="business-name"
name="gos_bname"
value="<?php echo $conDetails['gos_bname']?>"
>
</div>
<div class="form-group">
<label for="contact-person">Contact:</label>
<input type="text"
class="form-control"
id="contact-person"
name="gos_pname"
value="<?php echo $conDetails['gos_pname']?>"
>
</div>
<div class="form-group">
<label for="email">Email:</label>
<input type="text"
class="form-control"
id="email"
name="gos_email"
value="<?php echo $conDetails['gos_email']?>"
>
</div>
<div class="form-group">
<label for="phone">Phone:</label>
<input type="text"
class="form-control"
id="phone"
name="gos_phone"
value="<?php echo $conDetails['gos_phone']?>"
>
</div>
<div class="form-group">
<label for="website">Website</label>
<input type="text"
class="form-control"
id="website"
name="gos_url"
value="<?php echo $conDetails['gos_url']?>"
>
</div>
<div class="form-group">
<label for="address">Address</label>
<input type="text"
class="form-control"
id="address"
name="gos_address"
value="<?php echo $conDetails['gos_address']?>"
>
</div>
<div class="form-group">
<label for="city">City:</label>
<input type="text"
class="form-control"
id="city"
name="gos_city"
value="<?php echo $conDetails['gos_city']?>"
>
</div>
<div class="form-group">
<label for="province">Province:</label>
<input type="text"
class="form-control"
id="province"
name="gos_province"
value="<?php echo $conDetails['gos_province']?>"
>
</div>
<div class="form-group">
<label for="description">Description:</label>
<textarea rows="8" type="text"
class="form-control"
id="description"
name="gos_desc"
value="<?php echo $conDetails['gos_desc']?>">
<?php echo $conDetails['gos_desc']?>
</textarea>
</div>
<div class="form-group">
<label for="sent-resume">Sent Resume To:</label>
<input type="checkbox"
class="form-control"
id="sent-resume"
name="gos_checkbox"
value="<?php echo $conDetails['gos_checkbox']?>"
>
</div>
<button class="submit" type="submit">Edit Contact</button>
</div>
</main>
</body>
</html>
编辑字符
联系人数据库
找不到联系人
注意:这通常会转到404
已将简历发送至:
是否可以使用数据类型ENUM和值“1”、“0”?
这可能有助于将1指定为true,将0指定为false。布尔值通常存储为1或0,存储在tinyint字段中。在POST数据中,如果未选中复选框,则该字段将根本不会被设置。我更新了我的问题,以便您可以看到我的布尔值在MySQL中是如何设置的,希望是正确的?您包含了太多不相关的代码,老实说,我放弃了阅读所有这些代码。下面是一些注释1-您正在设置$gos\u checkbox=1代码>手动而不是表单值。2-&&$gos\u复选框=!false
这是一个赋值语句,不是比较语句对不起,我一个月前刚开始学习,不知道有多少信息有用或没有…谢谢。我还没有学习ENUM,但我可以研究一下。我们只学过字符串和整数,所以我很遗憾地放弃了基于这些的知识。
<?php
include(__DIR__."/includes/db.php");
include(__DIR__."/includes/validate.php");
$isPostRequest = false;
$isValidForm = false;
$successfulSave = false;
if ($_SERVER['REQUEST_METHOD'] == "POST") {
$isPostRequest = true;
$gos_bname = "";
$gos_pname = "";
$gos_email = "";
$gos_phone = "";
$gos_url = "";
$gos_address = "";
$gos_city = "";
$gos_province = "";
$gos_description = "";
$gos_checkbox = 1;
$con_id = null;
if (isset($_POST['gos_bname'])
&& isset($_POST['gos_pname'])
&& isset($_POST['gos_email'])
&& isset($_POST['gos_phone'])
&& isset($_POST['gos_url'])
&& isset($_POST['gos_address'])
&& isset($_POST['gos_city'])
&& isset($_POST['gos_province'])
&& isset($_POST['gos_description'])
&& isset($_POST['gos_checkbox'])
&& isset($_POST['con_id'])){
$gos_bname = validate_string($_POST['gos_bname']);
$gos_pname = validate_string($_POST['gos_pname']);
$gos_email = validate_string($_POST['gos_email']);
$gos_phone = validate_string($_POST['gos_phone']);
$gos_url = validate_string($_POST['gos_url']);
$gos_address = validate_string($_POST['gos_address']);
$gos_city = validate_string($_POST['gos_city']);
$gos_province = validate_string($_POST['gos_province']);
$gos_description = validate_string($_POST['gos_description']);
$char_id = validate_number($_POST['char_id']);
if ($gos_bname != false
&& $gos_pname != false
&& $gos_email != false
&& $gos_phone != false
&& $gos_url != false
&& $gos_address != false
&& $gos_city != false
&& $gos_province != false
&& $gos_description != false
&& $gos_checkbox = !false
&& $con_id != false){
$isValidForm = true;
}
}
if ($isValidForm) {
$successfulSave = insert_new_con($gos_bname, $gos_pname, $gos_email, $gos_url, $gos_phone, $gos_address, $gos_city, $gos_province, $gos_desc, $gos_checkbox);
}
}
?>
<!doctype html>
<html class="no-js" lang="">
<head>
<meta charset="utf-8">
<title>Add a Character</title>
<meta name="description" content="">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link href="https://fonts.googleapis.com/css?family=Luckiest+Guy&display=swap" rel="stylesheet">
<link href="https://fonts.googleapis.com/css?family=Raleway:400,700&display=swap" rel="stylesheet">
<link rel="stylesheet" href="css/main.css">
</head>
<body>
<header>
<h1>Contacts DB</h1>
<nav class="nav-bar">
<ul class="nav-list">
<li><a href="index.php">Home</a></li>
<li><a href="list.php">Character List</a></li>
<li><a href="insert.php">Add Characters</a></li>
<li><a href="search.php">Search</a></li>
</ul>
</nav>
</header>
<main>
<div class="form-container">
<?php if (!$isPostRequest){ ?>
<form method='post' action='<?php echo $_SERVER['PHP_SELF']; ?>'>
<h2>Add a new Contact</h2>
<div class="form-group">
<label for="business-name">Business Name:</label>
<input type="text"
class="form-control"
id="business-name"
name="gos_bname"
>
</div>
<div class="form-group">
<label for="contact-person">Contact:</label>
<input type="text"
class="form-control"
id="contact-person"
name="gos_pname"
>
</div>
<div class="form-group">
<label for="email">Email:</label>
<input type="text"
class="form-control"
id="email"
name="gos_email"
>
</div>
<div class="form-group">
<label for="phone">Phone:</label>
<input type="text"
class="form-control"
id="phone"
name="gos_phone"
>
</div>
<div class="form-group">
<label for="website">Website</label>
<input type="text"
class="form-control"
id="website"
name="gos_url"
>
</div>
<div class="form-group">
<label for="address">Address</label>
<input type="text"
class="form-control"
id="address"
name="gos_address"
>
</div>
<div class="form-group">
<label for="city">City:</label>
<input type="text"
class="form-control"
id="city"
name="gos_city"
>
</div>
<div class="form-group">
<label for="province">Province:</label>
<input type="text"
class="form-control"
id="province"
name="gos_province"
>
</div>
<div class="form-group">
<label for="description">Description:</label>
<textarea rows="8" type="text"
class="form-control"
id="description"
name="gos_desc"
>
</textarea>
</div>
<div class="form-group">
<label for="sent-resume">Sent Resume To:</label>
<input type="checkbox"
class="form-control"
id="sent-resume"
name="gos_checkbox"
>
</div>
<button class="submit" type="submit">Submit</button>
</form>
<?php } else { ?>
<h2 class="form-submitted">Submitted Contact</h2>
<div>
<?php if ($successfulSave) {
echo "<p class=\"success\">Contact successfully added</p>";
} else {
echo "<p class=\"edit-error\">ERROR:<br/> Unable to add contact<br/>
Please make sure all fields are filled out properly!</p>";
}?>
</div>
<?php }?>
</div>
</main>
</body>
</html>
<?php
function validate_string($string) {
$string = filter_var($string, FILTER_SANITIZE_STRING);
if ($string == "") {
return false;
}
return $string;
}
function validate_number($number) {
$number = filter_var($number, FILTER_SANITIZE_NUMBER_INT);
$number = filter_var($number, FILTER_VALIDATE_INT);
return $number;
}