这是我的代码
if (isset($_POST['error']) && $_POST['error'] != 2 && $_POST['error'] != 1) {
return true;
} else if (isset($_POST['error']) && $_POST['error'] == 2 || $_POST['error'] == 1) {
return false;
} else {
return false;
}
请帮忙。 感谢。
答案 0 :(得分:2)
当您执行&& 时,它会评估所有条件,直到出现错误。当您执行 || 时,它将评估所有条件,直到某些内容为真。由于您的第一个条件评估为false,因此调用了第二个条件,但$_POST['error']
不存在。
您可能想要这样做,请注意两个错误的括号。
if(
isset($_POST['error']) &&
(
$_POST['error'] == 2 ||
$_POST['error'] == 1
)
)
它也可以更好地重写为。
if(
isset($_POST['error']) &&
in_array($_POST['error'], array(1,2))
)
答案 1 :(得分:0)
像奥格瓦说的那样:
解决方案:
class Customer < ActiveRecord::Base
before_save do
self.diseases.gsub!(/[\[\]\"]/,"") if attribute_present?("diseases")
end
belongs_to :tenant
validates_uniqueness_of :mobileno
def self.by_plan_and_tenant(tenant_id)
tenant = Tenant.find(tenant_id)
if tenant.plan == 'free'
tenant.customers
else
tenant.customers
end
end
def client
Twilio::REST::Client.new Rails.application.secrets.twilio_account_sid, Rails.application.secrets.twilio_token
end
acct_sid = "Axxxxxxxxxxxxxx"
auth_token = "6cxxxxxxxxxxxxxxxxxxxxx"
twilio_no = "+16xxxxxxxxx"
acct_sid = ENV['twilio_account_sid']
auth_token = ENV['twilio_token']
twilio_no = ENV['twilio_no']
def send (to, body)
client.account.messages.create(
:messaging_service_sid => Rails.application.secrets.twilio_messaging_service_sid,
:from => "+1xxxxxxxxx1",
:to => '#{mobileno}',
:body => "Hi. Thanks a lot for signing up with us. Your UID is: #{uid}"
)
end
end
答案 2 :(得分:0)
您应该更改以下代码...始终将您的比较与||相关联括号内的。因为||条件检查最后一段代码以找出“真实”值。通过重新编码为.....&amp;&amp; (... || ....),执行将从点&amp;&amp;并且不会执行(.... || .....)part
if (isset($_POST['error']) && $_POST['error'] != 2 && $_POST['error'] != 1) {
return true;
} else if (isset($_POST['error']) && ($_POST['error'] == 2 || $_POST['error'] == 1)) {
return false;
} else {
return false;
}