【问题标题】:Fatal error: require_once(): Failed opening required 'xxx' (include_path='.;C:\xampp\php\PEAR') in xxx on line 147致命错误:require_once(): Failed opening required 'xxx' (include_path='.;C:\xampp\php\PEAR') in xxx on line 147
【发布时间】:2016-03-19 16:42:47
【问题描述】:

我在一个页面中有一个用于更新数据的提交按钮。 更新后,重定向之前(使用标题)我放了一个 “require_once()” 它抛出了这个错误。

Error screenshot

我必须告诉你,在 php 的顶部,我还使用require_once() 进行数据库连接,并且不会给我任何错误。 此外,如果我只运行包含的页面,它会完成它的工作(发送通知电子邮件)。

错误信息是:

警告:require_once(../_mail/mail_utilizator.php?user_id=1&user_edit=2):无法打开流:C:\xampp\htdocs\Rebat_PlantObjectives_admin\admin_cp_settings_utilizatori.php 第 147 行没有错误

致命错误:require_once():在 C:\xampp 中打开所需的 '../_mail/mail_utilizator.php?user_id=1&user_edit=2' (include_path='.;C:\xampp\php\PEAR') 失败\htdocs\Rebat_PlantObjectives_admin\admin_cp_settings_utilizatori.php 在第 147 行"

我的代码:

$Result1 = mysql_query($insertSQL, $rebat_plantobjectives) or die(mysql_error()); 
$user_id=$_SESSION['MM_UtilizatorID']; 
require('../mail/mail_utilizator.php?user_id='.$user_id.'&user_edit='.$last_id); 
$insertGoTo = "admin_cp_settings_utilizatori.php"; 
if (isset($_SERVER['QUERY_STRING'])) { 
    $insertGoTo .= (strpos($insertGoTo, '?')) ? "&" : "?"; $insertGoTo .= $_SERVER['QUERY_STRING']; 
} 
header(sprintf("Location: %s", $insertGoTo)); }

谁能帮帮我?

【问题讨论】:

  • 你能显示代码吗,这些错误在哪里?
  • 当然。我使用 Dreamweaver,所以请不要怪我:这是我能理解的唯一方法 :) 代码在这里: $Result1 = mysql_query($insertSQL, $rebat_plantobjectives) 或 die(mysql_error()); $user_id=$_SESSION['MM_UtilizatorID'];要求('../mail/mail_utilizator.php?user_id='.$user_id.'&user_edit='.$last_id); $insertGoTo = "admin_cp_settings_utilizatori.php"; if (isset($_SERVER['QUERY_STRING'])) { $insertGoTo .= (strpos($insertGoTo, '?')) ? “&”:“?”; $insertGoTo .= $_SERVER['QUERY_STRING']; } header(sprintf("位置: %s", $insertGoTo)); }
  • @Normis 如果你愿意,我可以通过打印屏幕向你展示更多代码
  • @BalajOvidiu 请不要截图。您可以编辑您自己的问题添加代码。

标签: php


【解决方案1】:

您不能通过将 ?xx=yy 添加到包含(要求)语句来定义 GET 参数。

如果您包含一个文件,则父文件中的所有变量也可以在包含的子文件中使用。

你可以这样做:
(如果您必须设置 GET 值)

$Result1 = mysql_query($insertSQL, $rebat_plantobjectives) or die(mysql_error()); 
$user_id=$_SESSION['MM_UtilizatorID']; 
$_GET['user_id'] =$user_id;
$_GET['user_edit'] =$last_id;
require( __DIR__.'/../mail/mail_utilizator.php'); 
$insertGoTo = "admin_cp_settings_utilizatori.php"; 
if (isset($_SERVER['QUERY_STRING'])) { 
    $insertGoTo .= (strpos($insertGoTo, '?')) ? "&" : "?"; $insertGoTo .= $_SERVER['QUERY_STRING']; 
} 
header(sprintf("Location: %s", $insertGoTo)); }

或者最好在包含的mail_utilizator.php 文件中使用$last_id$user_id

【讨论】:

  • 伙伴,你是对的!我只是简单地取出参数并使用会话变量,现在它工作得很好!从心底里感谢你!祝你好运!
  • 当然!我只需要找出我在哪里这样做:)
  • 我是新来的。我输入了“已接受”的答案,但是当我尝试按“这个答案很有用”时,它说我需要 15 个声望 :)
猜你喜欢
  • 2015-04-08
  • 2021-03-22
  • 2012-06-26
  • 1970-01-01
  • 2021-03-19
  • 2020-02-14
  • 2023-03-10
  • 2015-01-09
  • 1970-01-01
相关资源
最近更新 更多