由于我已将服务器(从PHP 5切换到PHP 7),所以Codeigniter的重定向存在一些问题。
在代码末尾,我重定向:
redirect("/contacts/afficher/$idCon", 'refresh');
但是它不起作用,并且显示空白页(没有错误)。 所以我想知道是否有人解释!
这是我的代码:
<?php
$siteURL = $this->siteURL;
$accessType = $this->input->post('location');
$annee = $this->input->post('annee');
$anneeDip = $this->input->post('anneeDip');
$idDip = $this->input->post('idDip');
$reSend = $this->input->post('resend');
$contact = $this->Contacts_model->getContact($idCon);
$this->Users->createUser(null, $contact->nom, $contact->prenom, $contact->email,"contacts", $idCon, 20);
$con = "SELECT idCon,nom,prenom,con.email,username,activation_code FROM contacts AS con
JOIN ionauth_users AS u ON con.idCon=u.external_id
WHERE con.idCon=$idCon AND u.external_type='contacts'";
$con = $this->db->query($con);
$con = $con->row();
$username = $con->username;
$pw = $this->Users->generatePassword();
$this->ion_auth->reset_password($username, $pw);
$message = "***Something***";
$object = "*****";
$title = "********************";
$this->sendMail($siteURL, $message, $object, $email, $title, null);
$this->db->set('login_sent', true);
$this->db->set('company', "");
$this->db->where('external_id', $idCon);
$this->db->where('external_type', "contacts");
$this->db->update('ionauth_users');
redirect("/contacts/afficher/$idCon", 'refresh');
注意:在我的服务器迁移之前,此代码可以正常工作。
谢谢
答案 0 :(得分:0)
根据您上面粘贴的错误,我们可以理解在呈现页面之前已打印了某些内容。大多数情况下,发生这种情况的原因是.php
文件开头或函数括号内无意添加了空格。
因此,请像这样删除redirect()
括号内的空格:
redirect("/contacts/afficher", 'refresh');
答案 1 :(得分:0)
如果您的应用程序不在生产服务器中,请首先从Application/config/config.php
更改应用程序的环境,并将log_level
设置为1
。这将使应用程序显示错误。
如果您不希望显示错误,请确保已启用错误日志记录,该错误日志会将错误写入到Application/config/config.php
文件中配置的日志文件中。
现在您应该看到重定向错误。 如@PrakashG所述,如果页面在重定向之前呈现任何错误/空白/ HTML,则重定向将不起作用。确保
controller
/ models
的第一个字符应以<?php
开头,并且在?>
页上不应有任何结尾的controller/model
标记。redirect(base_url('actual/path/here'));
来确保其完美放置。让我知道你在哪里。