javascript - 如何使用 Angular 和 php 读取 bool 值

标签 javascript php angularjs ajax

我是 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将检查 blanknull 值。

更新

要插入空白或 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/

相关文章:

php - PHP 中的字符串相似度 : levenshtein like function for long strings

php - 如何让这个 jquery 邮政编码地址检索器与 cURL 一起工作?

javascript - Angular ng-repeat <li> 字符串换行

javascript - 在 AngularJS 中将 XML 解析为 HTML 表

javascript - AngularJS:输入表单在部分内部不起作用

javascript - WordPress 中的屏幕选项不适用于新的自定义元框

javascript - 单击 Go 按钮后如何停止 <select> 选项的重置

javascript - 函数返回 'undefined' 而它可以在函数体内得到正确的结果

javascript - 如何在执行 Ajax 请求大量数据库更新时实现进度条

c# - 如何在 Javascript 中读取页面历史记录?