Codeigniter重定向不起作用(空白页)

时间:2019-12-05 07:31:03

标签: php codeigniter

由于我已将服务器(从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');

注意:在我的服务器迁移之前,此代码可以正常工作。

谢谢

2 个答案:

答案 0 :(得分:0)

根据您上面粘贴的错误,我们可以理解在呈现页面之前已打印了某些内容。大多数情况下,发生这种情况的原因是.php文件开头或函数括号内无意添加了空格。
因此,请像这样删除redirect()括号内的空格:

redirect("/contacts/afficher", 'refresh');

答案 1 :(得分:0)

如果您的应用程序不在生产服务器中,请首先从Application/config/config.php更改应用程序的环境,并将log_level设置为1。这将使应用程序显示错误。

如果您不希望显示错误,请确保已启用错误日志记录,该错误日志会将错误写入到Application/config/config.php文件中配置的日志文件中。

现在您应该看到重定向错误。 如@PrakashG所述,如果页面在重定向之前呈现任何错误/空白/ HTML,则重定向将不起作用。确保

  • 您解决了任何php 致命/警告错误
  • 您的controller / models的第一个字符应以<?php开头,并且在?>页上不应有任何结尾的controller/model标记。
  • 您可以使用redirect(base_url('actual/path/here'));来确保其完美放置。

让我知道你在哪里。