Php Codeigniter重定向不';t工作(空白页)

Php Codeigniter重定向不';t工作(空白页),php,codeigniter,Php,Codeigniter,因为我已经切换了服务器(从PHP5到PHP7),所以我对Codeigniter的重定向有一些问题 在代码末尾,我重定向: redirect("/contacts/afficher/$idCon", 'refresh'); 但它不工作,并且显示一个空白页(没有错误)。 所以我想知道是否有人有解释 这是我的密码: <?php $siteURL = $this->siteURL; $accessType = $this->input->post('location'); $

因为我已经切换了服务器(从PHP5到PHP7),所以我对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');

从上面粘贴的错误中,我们可以理解在呈现页面之前正在打印某些内容。大多数情况下,这是由于在
.php
文件开头或函数括号内无意中放置了空格造成的。
因此,请删除
redirect()
括号内的空格,如下所示:

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

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

如果不希望显示错误,请确保启用了错误日志记录,这将把错误写入
Application/config/config.php
文件中配置的日志文件

现在您应该看到重定向错误。 正如@PrakashG所解释的,如果页面在重定向之前呈现任何错误/whitespace/HTML,重定向将不起作用。确定

  • 您可以解决任何php致命/警告错误
  • 控制器
    /
    型号
    的第一个字符应以
    控制器/型号
    页面上的
    标记开头
  • 您可以使用
    重定向(base_url('actual/path/here')以确保它将进入完美的位置

让我知道您在哪里。

当您直接在web浏览器中转到该URL时会发生什么?当它使用“空白页”重定向时,它会正常显示页面。当您通过浏览器查看源时,您能看到任何内容吗。也就是说,有输出吗?没有,源代码中没有,这很奇怪吗?这回答了你的问题吗?好的,我现在没有更多的错误,但是页面仍然是空白的,我真的不知道我做错了什么粘贴完整的源代码页面和你想重定向的页面,否则没有人能帮助你。关于这个问题,你的日志文件怎么说?php.log文件返回我一个代码200和302。我真的不知道这是否有帮助嗨,没有更多的致命/警告错误。我在本节中使用的所有控制器/模型都以“好的,别担心,你检查过代码工作正常吗?你可以这样做,死(‘我在查询之前’);死(‘我在查询之后’);就像那样。在重定向功能之前,你能确保一切正常吗?是的,我用echos检查过,它在重定向时停止。就在我发送邮件之前,它能阻止我的重定向吗?是的,如果邮件失败,它能检查邮件功能的输出,确保它是真的。否则至少把@before放在前面,这样它就会忽略其中的任何错误。