Javascript 如何使用angular和php读取布尔值
我不熟悉Angular和PHP。我正在尝试修改教程。我希望第二个值是一个复选框,并使用Angular和PHP读取其值。我现在遇到的问题是,复选框在单击时读取值,但在未选中时无法输入0,该值为false。我尝试从PHP将布尔值转换为整数,但没有帮助。我的代码如下:对原始教程的更改: index.htmlJavascript 如何使用angular和php读取布尔值,javascript,php,angularjs,ajax,Javascript,Php,Angularjs,Ajax,我不熟悉Angular和PHP。我正在尝试修改教程。我希望第二个值是一个复选框,并使用Angular和PHP读取其值。我现在遇到的问题是,复选框在单击时读取值,但在未选中时无法输入0,该值为false。我尝试从PHP将布尔值转换为整数,但没有帮助。我的代码如下:对原始教程的更改: index.html <div> <label>Phone</label> <input type="checkbox" ng-model="newPhone"
<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;
感谢您的帮助使用“断开到断开”IF条件或for循环
返回用于函数的情况
另一种干净的方法是扭转您的状况,即仅在两个值都存在时更新
if(!empty($newName) && !empty($newPhone))
{
$sql = "INSERT INTO `people`(`name`, `phone`) VALUES ('$newName','$newPhone')";
mysqli_query($connect,$sql);
}
将检查空值和空值
更新
若要在用户未选择值的情况下插入空白值或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);
}
谢谢你的回复。两种方法我都试过了,但都没有达到我的目的。我想在用户未单击复选框(即没有电话)时将0、null或false插入数据库。我尝试了类似的操作,但也不起作用:$newPhone=int$request->newPhone;如果空$newName&&$newPhone==0{$sql=INSERT-INTO-peoplename,phone值'$newName',0;mysqli_query$connect,$sql;}我尝试了您更新的帖子,但它不起作用。它仍然处理选中的值,但不是空的或未选中的值:然后就出现了如何获取复选框值的问题。好的,我会检查它。
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);
}