我是 Angular 和 PHP 的新手。我正在尝试修改教程http://phpenthusiast.com/blog/ajax-with-angular-and-php 。我希望第二个值是一个复选框并使用 Angular 和 PHP 读取其值。我现在遇到的问题是,该复选框在单击时读取值,但在未选中时无法输入 0(即 false)。我尝试将 PHP 中的 bool 值转换为整数,但没有帮助。我的代码如下(对原始教程的更改):
index.html
<div>
<label>Phone</label>
<input type="checkbox" ng-model="newPhone">
</div>
post.php
<?php
require 'connect.php';
$connect = connect();
// Add the new data to the database.
$postdata = file_get_contents("php://input");
var_dump($postdata);
if(isset($postdata) && !empty($postdata))
{
$request = json_decode($postdata);
$newName = preg_replace('/[^a-zA-Z ]/','',$request->newName);
//old code to get number
//$newPhone = preg_replace('/[^0-9 ]/','',$request->newPhone);
//new code to get boolean converted to int
$newPhone = (int)$request->newPhone;
if($newName == '' || $newPhone == '') return;
$sql = "INSERT INTO `people`(`name`, `phone`) VALUES ('$newName','$newPhone')";
mysqli_query($connect,$sql);
}
exit;
感谢您的帮助
最佳答案
使用 break
中断 IF
条件或 FOR
循环。
return
用于函数
if($newName == '' || $newPhone == '') break;
另一种干净的方法是反转您的条件,即仅当两个值都存在时才更新。
if(!empty($newName) && !empty($newPhone))
{
$sql = "INSERT INTO `people`(`name`, `phone`) VALUES ('$newName','$newPhone')";
mysqli_query($connect,$sql);
}
empty将检查 blank
和 null
值。
更新
要插入空白或 0 值以防用户未选择值,请删除检查空白值的条件并按如下方式执行操作。
if(isset($postdata) && !empty($postdata))
{
$request = json_decode($postdata);
$newName = preg_replace('/[^a-zA-Z ]/','',$request->newName);
// Assign blank value in case its empty
$newName = !empty($newName) ? $newName: '';
$newPhone = (int)$request->newPhone;
// Assign blank value in case its empty
$newPhone = !empty($newPhone) ? $newPhone : '';
$sql = "INSERT INTO `people`(`name`, `phone`) VALUES ('$newName','$newPhone')";
mysqli_query($connect,$sql);
}
关于javascript - 如何使用 Angular 和 php 读取 bool 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44843005/