Hei! Jeg driver å leker meg litt på localhost. Har i all tid benyttet meg av MySQL, men har nå valgt å gå over til MySQLI. Dette har ført med seg ett problem, som får meg til å rive meg i håret. database.php Kode: <?php $db = new mysqli("localhost", "username", "password", "table"); if ($db->connect_errno) { printf("Connect failed: %s\n", $db->connect_error); exit(); } ?> index.php Kode: <?php session_start(); include ("database.php"); $l = mysqli_query($db,"SELECT * FROM users WHERE id = '$_SESSION[id]'"); $l = mysqli_fetch_array($l); ?> <!DOCTYPE html> <html> <head> <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script> </head> <body> <script language="javascript" type="text/javascript"> var timeout = setInterval(reloadQueryHIGH, 2000); function reloadQueryHIGH () { $('#high').load('jQueryHIGH.php'); } </script> <div id="high"></div> <div id="left_menu"> <?php include("left_menu.php"); ?> </div> jQueryHIGH.php Kode: <?php include("database.php"); session_start(); $l = mysqli_query($db,"SELECT * FROM users WHERE id = '$_SESSION[id]'"); $l = mysqli_fetch_array($l); if($l[online] > time() - 60*10){ ?> <script language="javascript" type="text/javascript"> $(document).ready(function(){ $('#left_menu').load('Sources/Include/left_menu.php'); }); </script> <?php } ?> left_menu.php Kode: <?php session_start(); include ("database.php"); echo('' .$l[username]. ''); left_menu.php blir lastet inn fint og fungerer under page load, men med en gang load function kjører etter 2 sekunder, så forsvinner innholdet i alle mysqli variabler som skrives ut i echo. $l[username] viser brukernavn på page load, men ikke på load function. Alt annet innhold som ren tekst osv fungerer utmerket. Håper på en hjelpende hånd. På forhånd takk!
left_menu som du henter andre gangen bruker variabelen $l[username], men den er ikkje deklarert i left_menu, den er deklarert i index.php, derfor vil den ikkje klare å skrive ut noko. Første gang går det fint, fordi index.php blir henta samtidig, det blir den ikkje andre gang. Lag ei eige fil som inneheld include ("database.php"); $l = mysqli_query($db,"SELECT * FROM users WHERE id = '$_SESSION[id]'"); $l = mysqli_fetch_array($l); og inkluder den i left_menu, så skal det nok virke. PS: Du bør vel kanskje og bruke PDO istadenfor mysqli
Hei, leiheim! Tusen takk, for raskt svar. Det ser faktisk ut til at dette løste problemet. Jeg som prøvde å deklarere $l[username] i left_menu.php, database.php og lignende, uten hell. PDO har jeg kun hørt om, ingen erfaringer med. Får ta å lese meg opp litt. Er det langt fra MySQLI?