Ik werk met het Groot Inlogsysteem versie 2 van Jorik Berkepas. Als ik bijvoorbeeld een nieuw script wil toevoegen bank1.php. Ik kopieer exact hetzelfde wat in bank.php(die goed werkt) naar bank1.php. Als ik bank1.php aanroep dan schiet hij weer naar index.php terwijl bank.php gewoon goed werkt en ook daadwerkelijk de bank laat zien. Ik include op elke pagina safe.php htmltop.php en config.php, als ik safe.php in bank1.php weghaal werkt die wel maar krijgt die geen waardes mee($data is dan leeg). Ik zou dus zeggen dat het aan safe.php ligt maar die draaien ook in alle andere scripts wél goed. Ik host mijn website bij lycos. Heeft iemand een oplossing hiervoor?
Edit:
Alle nieuwe bestanden verliezen hun $_SESSION waarde, terwijl deze bij oude bestanden gewoon blijft..
Dus stel je opent bank.php dan weet het script dat jij $_SESSION['lid_ID'] = 1 bent terwijl als je bank1.php opent (met exact dezelfde inhoud als bank.php) is $_SESSION['lid_ID'] plotseling leeg?! Als ik dan weer naar de bank.php gaat werkt het weer..
Sorry het is een beetje te veel code om tegelijk te plaatsen..
Aan het begin van elk script wordt het bestand config.php opgeroepen, deze heeft meteen in regel 1
Is het mischien mogelijk dat ergens in je include files een functie zit die controleerd op welke pagina je zit? Als dat het geval is moet je je nieuwe pagina's daarin even toevoegen..
<?
session_start();
ob_start();
// MySQL
$db_user = ":o"; // Gebruiker voor MySQL
$db_pass = ":o"; // Wachtwoord voor MySQL
$db_host = ":o"; // Host voor MySQL; standaard localhost
$db_db = ":o"; // Database
// Als je al ergens anders een database connectie hebt gemaakt,
// maak dan van de volgende twee regels commentaar (# of // ervoor zetten)
mysql_connect($db_host,$db_user,$db_pass);
mysql_select_db($db_db);
// Instellingen
$loginpage = "index.php"; // Pagina waar de gebruiker heen wordt gestuurd wanneer deze is ingelogd
//Maakt zo een handig $data-> ding ;)
if(isset($_SESSION['user_id'])) {
$dbres = mysql_query("SELECT * FROM `gebruikers` WHERE id='".$_SESSION['user_id']."'");
$data = mysql_fetch_object($dbres);
$status = $_SESSION['user_status'];
}
if (get_magic_quotes_gpc()) {
$value = stripslashes($value);
}
if(version_compare(phpversion(),"4.3.0") == "-1") {
return mysql_escape_string($value);
} else {
return mysql_real_escape_string($value);
}
function beveilig($waarde) {
if (get_magic_quotes_gpc()) {
$waarde = addslashes($waarde);
}
if(version_compare(phpversion(),"4.3.0") == "-1") {
return mysql_escape_string($waarde);
} else {
return mysql_real_escape_string($waarde);
}
}
?>
Hmm, apart ik zie zo geen fouten.
Wat ik wel en beetje vreemd vind en dat is op pagina safe.php
if(isset($_SESSION['user_id']))
{
// laat de pagina zien
}
else
{
if(isset($_SESSION['user_id'])) // en dan weer kijken of de sessie user_id gezet is..
{
}
}
als je dat zo bekijkt word alles na die else niet uitgevoerd. omdat er geen sessie is...
Ik krijg wel nog steeds dezelfde error.. Vandaar dat ik ook niet denk dat de fout in mijn script zit, maar op de server. Zoals ik al eerder zei gebruik ik Lycos en meerdere FTP-programma's geprobeert (Filezilla, CuteFTP, FlashFPX)
Ik heb even gekeken. Ik zie zo snel geen verschillen. Zet eens error_reporting(E_ALL) boven je script. Kijk dan eens of er foutmeldingen voorbij komen.
Notice: Undefined variable: value in /data/members/paid/y/a/yasser.nl/htdocs/www/config.php on line 36
Notice: A session had already been started - ignoring session_start() in /data/members/paid/y/a/yasser.nl/htdocs/www/config.php on line 2
Notice: Undefined variable: value in /data/members/paid/y/a/yasser.nl/htdocs/www/config.php on line 36
Notice: A session had already been started - ignoring session_start() in /data/members/paid/y/a/yasser.nl/htdocs/www/config.php on line 2
Doe eens session_set_cookie_params(0,'/'); vooraleer je session_start(); aanroept?
In je phpinfo() staat er geen waarde voor je cookie-path (voor sessies), waardoor hij (volgens mij) de waarde van het bestand zelf kiest, waardoor die info niet voor andere files kunnen aangeroepen worden.