BäckmanMedlem sedan nov. 2001274 inlägg Tjoflöjt alla glada!
Håller på med ett litet loginsystem till en sida som jag håller på att göra. Nu är det dock så att jag har stött på ett litet problem som nog mest är störande än ett riktigt problem.
Jag får nämligen felmeddelandet nedan när jag kör en require på mina kolla-om-man-är-inloggad-filer:
Parse error: parse error, unexpected $ in C:\Program\Apache Group\Apache2\htdocs\refragged2\admin\check_normal_1.php on line 7
Admin.php
<?php
require 'check_normal_1.php';
?>
<html>
<head>
<title>Refragged v.4.0</title>
<LINK REL="stylesheet" HREF="css/rf1.css" type="text/css">
</head>
<body>
<?php
require 'menu.php';
?>
</body>
</html>
<?php
require 'check_normal_2.pjp';
?>
check_normal_1.php
<?php
SESSION_START();
if (isset($_SESSION["userid"]) and isset($_SESSION["username"]) and isset($_SESSION["password"]) and isset($_SESSION["access"]))
{
?>
check_normal_2.php
<?php
} else {
require 'error.php'; //Visar en sida med felmeddelande
}
?>
Två saker som bör nämnas är att felmeddelandet bara lägger sig över den requirade menu.php, så man är liksom inloggad så det är inget problem så. Den andra saken är att det funkar helt perfekt om jag inte använder några include (require) filer, då visas inget felmeddelande.
Någon som vet vad jag ska göra för att få ha kvar mina include-filer, eller måste jag ta bort dem?
LAMPMedlem sedan mars 2002777 inlägg Prova:
require("$DOCUMENT_ROOT/din_katalog/check_normal_1.php");
BäckmanMedlem sedan nov. 2001274 inlägg Funkar inte
Blev massa konstiga fel nu.
require("$_SERVER['DOCUMENT_ROOT']/admin/check_normal_1.php");
Felmeddelande:
Parse error: parse error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in C:\Program\Apache Group\Apache2\htdocs\refragged2\admin\admin.php on line 4
Men det funkar ju att köra require på menu.php ändå?
SPiNMedlem sedan mars 20007 896 inlägg require("$_SERVER['DOCUMENT_ROOT']/admin/check_normal_1.php");
Borde vara:
require( $_SERVER['DOCUMENT_ROOT'] . "/admin/check_normal_1.php" );
Eller:
require("{$_SERVER['DOCUMENT_ROOT']}/admin/check_normal_1.php");
BäckmanMedlem sedan nov. 2001274 inlägg Fortfarande samma problem...
Det blir alltså fortfarande samma felmeddelande. Allt verkar liksom funka som det ska, förutom att den lilla felmeddelanderaden lägger sig över den inkluderade menu.php. Loginsystemet fungerar alltså som det ska i övrigt och är fullt funktionsdugligt.
Om jag inte kör require på filerna så kommer inte felmeddelandet upp.
Jag provade att använda det första av dina två förslag till require, jag ändrade alla möjliga requires som hade med admin.php att göra, men fortfarande samma meddelande.
Funkar det förresten med en requiread fil i en requiread fil? Det kör nämligen jag.
SPiNMedlem sedan mars 20007 896 inlägg Hm, nu läste jag ditt trådinlägg, som jag inte gjorde första gången. Jag är tveksam till om man kan include:a och require:a på det sättet som du gör. Är det allt du har i dina include-filer? I så fall känns det inte som en nödvändighet att ha dem, väl?
SDCdMedlem sedan jan. 2001795 inlägg Sen har du raden:
require 'check_normal_2.pjp';
Lite märklig filtyp.
BäckmanMedlem sedan nov. 2001274 inlägg Mnjaaeeeaaaee
Det kanske inte är så nödvändigt, men jag ska ha det på alla adminsidor ju, så det blir ju lite jobbigt ändå...
Hur menar du att jag inkludar/requirerar?
Märkte att det nog var IF-satsen som inte ville samarbeta när den var inkluderad. Funkar dock i ASP, och PHP har ju inte varit sämre hittills så jag trodde det skulle funka här också. :)
SPiNMedlem sedan mars 20007 896 inlägg Det var just if-satsen jag menade. :)