Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Problem z załączaniem pliku w funkcji header i include
Forum PHP.pl > Forum > Przedszkole
sereknr1
Witam, słuchajcie podczas załączania pliku przez funkcję include czy header podając ścieżkę do konkretnego pliku występuje błąd krytyczny lub brak pliku. Spoglądając na firefoxa adres pozostaje niezmienny czyli usilnie szuka pliku w folderze głównym. Podpowiedzcie coś w załączeniu kod:

plik index
  1. <?php
  2.  
  3. if(isset($_SESSION['online_user']) && ($_SESSION['online_user'] == true)){
  4. header("Location: ../engine/login.php");
  5. exit();
  6. }
  7. ?>
  8.  
  9. <!DOCTYPE html>
  10.  
  11. <html lang = "pl">
  12. <head>
  13. <meta charset = "UTF-8">
  14. <title>Suszenie 24 - logowanie</title>
  15. </head>
  16. <body>
  17. <form method = "POST" action ="login.php">
  18. <input type = "text" name = "login" placeholder = "login" />
  19. <input type = "password" name = "pass" placeholder = "haslo" />
  20. <input type = "submit" value = "Zalogj" />
  21. </form>
  22. <?php
  23. if(isset($_SESSION['blad']))
  24. {
  25. echo $_SESSION['blad'];
  26. }
  27. if(isset($_SESSION['e_db']))
  28. {
  29. echo $_SESSION['e_db'];
  30. }
  31. ?>
  32. </body>
  33.  
  34. </html>
  35.  
  36. plik login
  37. <?php
  38.  
  39. include_once ("../../base/connect.php");
  40.  
  41. if((!isset($_POST['login'])) || (!isset($_POST['pass']))){
  42. header("Location: ../engine/panel.php");
  43. exit();
  44. }
  45.  
  46. if(!$con){
  47. // $_SESSION['e_db'] = '<span style ="color:red">'."Błąd połączenia".'</span>';
  48. // header("Location: index.php");
  49. echo "Błąd połączenia";
  50. }else {
  51. echo "Połączenie udane".'<br />';
  52. $login = $_POST['login'];
  53. $pass = $_POST['pass'];
  54.  
  55. $query = "SELECT * FROM users WHERE user='$login' and password='$pass'";
  56. $result = mysqli_query($con, $query);
  57. if($result){
  58. $how_users = mysqli_num_rows($result);
  59. if($how_users > 0){
  60. $_SESSION['online_user'] = true;
  61. $row = mysqli_fetch_assoc($result);
  62. $_SESSION['id'] = $row['id'];
  63. $_SESSION['user'] = $row['user'];
  64. unset($_SESSION['blad']);
  65. mysqli_free_result($result);
  66. header("Location: panel.php");
  67. }else {
  68. $_SESSION['blad'] = '<span style="color:red">Nieprawidłowy login lub hasło</span>';
  69. header("Location: index.php");
  70. }
  71. }
  72. //echo '<p>'.$login.', '.$pass.'</p>';
  73. mysqli_close($con);
  74. }
  75.  
  76. ?>
  77.  
  78. plik panel
  79. <?php
  80.  
  81. include_once ("../engine/base/connect.php");
  82.  
  83. if(!isset($_SESSION['online_user']))
  84. {
  85. header("Location: index.php");
  86. exit();
  87. }
  88. ?>
  89. <!DOCTYPE html>
  90.  
  91. <html lang = "pl">
  92. <head>
  93. <meta charset = "UTF-8">
  94. <title>Suszenie 24 - logowanie</title>
  95. </head>
  96. <body>
  97. <?php
  98. echo '<p>'."Witaj: ".$_SESSION['user']."!!!!".'<a href = "logout.php">Wyloguj</a>'.'</p>';
  99. $query = "SELECT * FROM outside_temperature ORDER BY id desc limit 1";
  100. $result = mysqli_query($con, $query);
  101. while ($row=mysqli_fetch_row($result))
  102. {
  103. echo '<div>'.'<p>'."Temperatura zewnętrzna wynosi: ".$row[2]." st C,";
  104. if($row[2] > 30){
  105. echo '<img src="base/img/sun.png" alt="Sun" height="42" width="42"> ';
  106. }else{
  107. echo '<img src="base/img/water.png" alt="Water" height="42" width="42"> ';
  108.  
  109. }
  110. echo '</p>';
  111. echo '<p>'."odnotowana ją dnia: ".$row[1].'</p></div>';
  112. }
  113. echo '<a href = "new_user.php">'."Nowy użytkownik".'</a>';
  114. ?>
  115. </body>
  116.  
  117. </html>
  118.  
  119. plik connect
  120. <?php
  121. include_once('page/constants.php');
  122. $con = mysqli_connect(DB_HOST,DB_USER,DB_PASS,DATABASE);
  123. ?>
  124.  
nospor
Dla header podaje sie sciezki URL a nie sciezki fizyczne na dysku.
Na przyszlosc tez podawaj DOKLADNIE jaki masz blad i w jakiej linii a najlepiej CALY KOMUNIKAT BLEDU.

Przenosze
sereknr1
Ok, dzięki za zwrócenie uwagi. Druga sprawa posiadam taki komunikat:

Warning: include_once(page/constants.php): failed to open stream: No such file or directory in C:\xampp\htdocs\sterowanie\engine\base\connect.php on line 2

Warning: include_once(): Failed opening 'page/constants.php' for inclusion (include_path='C:\xampp\php\PEAR') in C:\xampp\htdocs\sterowanie\engine\base\connect.php on line 2

  1. plik connect
  2. <?php
  3. include_once('../../base/constants.php');
  4. $con = mysqli_connect(DB_HOST,DB_USER,DB_PASS,DATABASE);
  5. ?>
  6. plik constants
  7. <?php
  8. define('DB_HOST','localhost');
  9. define('DB_USER','root');
  10. define('DB_PASS','');
  11. define('DATABASE','system_arduino');
  12. ?>

Oba pliki znajdują się w tym samym folderze.
nospor
Jezdzisz na sciezkach relatywnych to i sie gubisz...
Albo ogarnij co to sciezka relatywna i wzgledem czego sie ja liczy - liczy sie ja wzgledem pliku glownego, ktory byl odpalony a nie wzgledem pliku w ktorym sie ja wywoluje
Albo najlepiej zacznij uzywac sciezek bezwglednych wowczas tak blache problemy poprostu znikna.
viking
Ustaw gdzieś na początku stałą z odpowiednią ścieżką i potem z niej korzystaj. Może przyda się uporzadkowanie jakimś nawet mikroframeworkiem. I poczytaj co oznacza bynajmniej.
sereknr1
Chodzi Ci np. o bootstrap-a? Później chciałem go wykorzystać, na razie chciałem się skupić na poprawnym działaniu programu. Ma to być zawieszony na localhoscie panel sterujący Arduino. A tak przy okazji którego microframeworka polecił byś ?
viking
Nie, przykładowo o https://www.slimframework.com/
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.