我为网络制作了一个控制器,如果用户来自移动设备,这个控制器可以在桌面和移动用户之间工作,所以它显示另一个视图,如果用户来自台式计算机,那么它显示了另一个视图,我做了一个代码,但是当我在网站上传了一个代码并尝试运行它显示错误此错误:
解析错误:语法错误,第17行意外的T_ELSE
这是我的代码:
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
class Welcome extends CI_Controller {
public function index()
{
$this->load->library('user_agent');
$this->load->helper('url');
if ($this->input->get("lang") =="en")
{
if ($this->agent->is_mobile())
{
$this->load->view('m_english_signup');
}
}
else
{
$this->load->view('d_english_signup');
}
else
$this->agent->is_mobile()
{
$this->load->view('m_arabic_signup');
}
else {
$this->load->view('d_arabic_signup');
}
}
}
答案 0 :(得分:2)
试试这个
class Welcome extends CI_Controller {
public function index()
{
$this->load->library('user_agent');
$this->load->helper('url');
if ($this->input->get("lang") =="en"){
if ($this->agent->is_mobile()) {
$this->load->view('m_english_signup');
} else {
$this->load->view('d_english_signup');
}
} else if($this->agent->is_mobile()) {
$this->load->view('m_arabic_signup');
} else {
$this->load->view('d_arabic_signup');
}
}
}
答案 1 :(得分:1)
您在放置移动检查代码时再次犯了错误。试试这个:
<?php
if (!defined('BASEPATH'))
exit('No direct script access allowed');
class Welcome extends CI_Controller {
public function index() {
$this->load->library('user_agent');
$this->load->helper('url');
if ($this->input->get("lang") == "en") {
if ($this->agent->is_mobile()) {
$this->load->view('m_english_signup');
} else {
$this->load->view('d_english_signup');
}
} else {
if ($this->agent->is_mobile()) {
$this->load->view('m_arabic_signup');
} else {
$this->load->view('d_arabic_signup');
}
}
}
}
答案 2 :(得分:1)
试试这段代码。它有点干净,有缩进功能,可以更容易地看到发生了什么。
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
class Welcome extends CI_Controller {
public function index()
{
$this->load->library('user_agent');
$this->load->helper('url');
if ($this->agent->is_mobile()) {
if ($this->input->get("lang") =="en"){
$this->load->view('m_english_signup');
}else{
$this->load->view('m_arabic_signup');
}
}else {
if ($this->input->get("lang") =="en"){
$this->load->view('d_english_signup');
}else{
$this->load->view('d_arabic_signup');
}
}
}
}
答案 3 :(得分:1)
试试这个
class Welcome extends CI_Controller {
public function index()
{
$this->load->library('user_agent');
$this->load->helper('url');
if ($this->input->get("lang") =="en"){
if ($this->agent->is_mobile()) {
$this->load->view('m_english_signup');
}
else {
$this->load->view('d_english_signup');
}
}
else if($this->agent->is_mobile())
{
$this->load->view('m_arabic_signup');
}
else {
$this->load->view('d_arabic_signup');
}
}
}
答案 4 :(得分:1)
如果if else中有单行则没有{}
like this
if(condition)
$this->agent->is_mobile(); //statement
else
$this->agent->is_mobile(); //statement
,否则
if(condition)
{
$this->agent->is_mobile(); //statement
}
else
{
$this->agent->is_mobile(); //statement
}
答案 5 :(得分:1)
你的if-else语句完全搞砸了:
class Welcome extends CI_Controller {
public function index(){
$this->load->library('user_agent');
$this->load->helper('url');
if ($this->input->get("lang") =="en"){
if ($this->agent->is_mobile()) {
$this->load->view('m_english_signup');
}else {
$this->load->view('d_english_signup');
}
}else{
if($this->agent->is_mobile()) {
$this->load->view('m_arabic_signup');
}else{
$this->load->view('d_arabic_signup');
}
}
}
}
答案 6 :(得分:1)
由于意外的其他情况导致的错误或未正确关闭。还有一个未正确关闭。此代码中if else的使用不正确且令人困惑。
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
class Welcome extends CI_Controller {
public function index()
{
$this->load->library('user_agent');
$this->load->helper('url');
if ($this->agent->is_mobile())
{
if ($this->input->get("lang") =="en"){
$this->load->view('m_english_signup');
}else{
$this->load->view('m_arabic_signup');
}
}
else
{
if ($this->input->get("lang") =="en"){
$this->load->view('d_english_signup');
}else{
$this->load->view('d_arabic_signup');
}
}
}
}
请注意,我无法确定您想要的条件。我只是清楚发生了错误。
答案 7 :(得分:0)
你不能拥有if-else-else-else逻辑序列。 有效期为
if-elseif-elseif-...-else
或
if-elseif-elseif
或
if-else
除此之外,你的第二个'其他'没有用括号括起来。