Hallo,
pas een nieuwe versie online geplaatst en ik stuit op een raar probleem.
Wanneer ik de pagina's bekijk toont hij slechts het stuk tot aan de div met id container.
Ook in mijn broncode lijkt daar alles te stoppen.
Wanneer ik het bestand echter open in mijn editor zie ik alle code staan.
Heeft iemand enig idee?
Deze pagina's zijn eerst gemaakt op mijn wampserver en daar lijkt alles correct te werken.
Alvast bedankt!

<doctype="html">
<!--key AIzaSyDqW0f8UQmlrPinFnhTvNeIOK4GFam65FM -->
<!--lat 50.967599 lng 3.529872 -->
<?php
include('connectie.php');
include('funkennisbank.php');
include('funtabbladen.php');
$ipageid=4;
?>
<head>
<title>Route - Schaakclub Karpov Deinze</title>
<link rel="stylesheet" media="(max-width: 640px)" href="./css/smalheader.css">
<link rel="stylesheet" media="(min-width: 640px)" href="./css/basisheader.css">
<link rel="stylesheet" media="(max-width: 640px)" href="./css/smal.css">
<link rel="stylesheet" media="(min-width: 640px)" href="./css/basis.css">
<link rel="stylesheet" type="text/css" href="./css/tabbladen.css">
</head>
<body>
	<?php
	include('header.php');
	?>
	<div id="container">
		<?php
		echo tabbladen($conn,$ipageid);
		?>
		<iframe src="https://www.google.com/maps/embed?pb=!1m18!1m12!1m3!1d2512.626251858516!2d3.5276835161138718!3d50.96761405784568!2m3!1f0!2f0!3f0!3m2!1i1024!2i768!4f13.1!3m3!1m2!1s0x47c36b57d9022beb%3A0x86ca9263f37b287f!2sBerkenlaan+52%2C+9800+Deinze!5e0!3m2!1snl!2sbe!4v1458138511430"
			width="800" height="600" frameborder="0" style="border:0" allowfullscreen>
		</iframe>
		<br><br>
	<!--sluiten container-->		
	</div>
<?php
include('footer.php');
?>
</body>
</html>
Waarschijnlijk zit daar een fout. Ik verwacht in de functie tabbladen($conn,ipageid);.

Test het eens door het even tijdelijk zo te doen:
<?php
// echo tabbladen($conn,$ipageid);
?>

Dus die functie wordt dan even niet aangeroepen. Als de dan de gehele pagina wel getoond wordt, zit er dus een fout in die functie.
Inderdaad, dan toont hij wel van alles.
Wel niet in tabbladen zoals gevraage, maar dat zal inderdaad een probleem zijn met mijn functie.
Daar trek ik wel mijn plan mee (efin denk ik toch)
Was efkens van mijn melk maar ben terug in actie.
Merci voor de dijk van een tip!
Post anders de code van de functie tabbladen(); eens.... misschien ziet iemand hier opeens wat het zou kunnen zijn.
En/of zet het melden+weergeven van fouten aan door bovenaan deze code te plaatsen:
<?php
error_reporting(E_ALL);
ini_set('display_errors', 'stdout');
?>

Grote (?) kans dat in die include een fatal error optreedt dan.
Heb de foutmelding aangezet en krijg idd fatal error. Snap wat hij bedoeld (mijn sql geeft FALSE) maar wel begrijp ik niet waarom dit op mijn wamp wel werkt.
Heeft iemand hiervoor enige verklaring?
Bouw wat foutafhandeling in zodat je weet waarom je SQL false retourneert. Het zou best kunnen dat het aan je inloggegevens ligt, of gewoon een serverversie verschil, maw je probeert iets dat niet ondersteund wordt. Of je hebt natuurlijk je tabellen niet netjes up to date met de lokale situatie. Maar het blijft gissen zolang je de output van queries niet controleert en ongeacht alles de applicatie blijft doorstomen.
Het sql heb ik in een if statement gezet en nu krijg ik geen foutmelding meer.
In mijn else gedeelte staat een echo opdracht maar deze voert hij ook niet uit.
Wat doe ik nu nog fout?
<?php
function tabid()
{
if (isset($_GET['tabid']))
{
if (is_numeric($_GET['tabid']))
{
$itabid=$_GET['tabid'];
}
else
{
echo "geen getal";
exit();
}
}

else
{
$itabid=1;
}
return $itabid;
}

function tabbladen($conn,$ipageid)
{
if ($sqltabbladen='SELECT * FROM tblpagina
WHERE tblPaginaParentId ="'.$ipageid.'"
AND tblPaginaNiveau="2"
ORDER BY tblPaginaPositie ASC')
{
//tonen van de tabbladen
$resulttabbladen= $conn -> query($sqltabbladen);
echo "<div id=\"tabbladen\">
<ul>";
while ($rowtabbladen = $resulttabbladen ->fetch_assoc())
{
$itabid= tabid();
if ($rowtabbladen['tblPaginaPositie']==$itabid)
{
echo "<li id=\"selected\"><a href=\"$rowtabbladen[tblPaginaLink]?tabid=$rowtabbladen[tblPaginaPositie]\" id=\"aselected\">$rowtabbladen[tblPaginaOpschrift]</a></li>";
}
else
{
echo "<li><a href=\"$rowtabbladen[tblPaginaLink]?tabid=$rowtabbladen[tblPaginaPositie]\">$rowtabbladen[tblPaginaOpschrift]</a></li>";
}
}
echo "</ul>
</div>";
}
else
{
//er zijn geen tabbladen dus enkel een opschrift
$sqlopschrift=" SELECT tblPaginaOpschrift FROM tblPagina
WHERE tblPaginaId=".$ipageid;
$resultopschrift= $conn -> query($sqlopschrift);
while ($rowopschrift = $resultopschrift ->fetch_assoc())
{
echo "<p>$rowopschrift[tblPaginaOpschrift]</p>";
}

}
}
?>
Hoe dan ook bedankt voor de geboden hulpà!
Die if op regel 26 heeft niet zo veel zin. Hier vul je alleen de variabele $sqltabbladen.
De if kan zeker niet gebruikt worden om aan te nemen dat er geen tabbladen zijn (regel 50).

Je bent waarschijnlijk meer geïnteresseerd in regel 32 of 35 (en 55, 56).


Wat @Ben hierboven zegt: bestudeer nader of er mogelijk iets mis is met je databaseconnectie of -queries. Een if-statement ergens omheen zetten is goed en wel, maar als je daarmee effectief het probleem onder het tapijt schuift helpt dat niet bij het oplossen van je probleem :).

We hadden het kruimelpad al zover gevolgd dat we weten dat er ergens iets misgaat in de functie tabbladen(). Hier zul je dan verder op in moeten zoomen. Controleer in die functie bijvoorbeeld eens wat $conn voor waarde heeft, bijvoorbeeld met:
<?php
var_dump($conn);
?>

Wat komt hier uit?

Mogelijk is er iets mis met je connectie. Zoals @Ben al aangaf: indien je wat foutafhandeling inbouwt in je functionaliteit waarmee je je database aanspreekt (in connectie.php bijvoorbeeld) worden database-gerelateerde fouten ook direct geconstateerd en komt het niet meer voor dat bij het maken van een connectie iets mis gaat en dat dit vervolgens op een hele andere plek voor problemen zorgt. Dat werkt nogal verwarrend met het terugzoeken van een oorzaak.

Ook zou ik je aanraden geen verdere wijzigingen door te voeren in je code terwijl je nog op zoek bent naar een oorzaak want daarmee verandert mogelijk de werking van je code en daarmee mogelijk ook het gedrag van de bug. Het beste is om in eerste instantie de werking onveranderd te laten en te observeren (var_dump, errorlogs, error_reporting etc.) wat er nu eigenlijk gebeurt, en dan pas actie te nemen.
Merci voor deze snelle reacties
de variabele $conn geeft

object(mysqli)#1 (19) { ["affected_rows"]=> int(0) ["client_info"]=> string(79) "mysqlnd 5.0.11-dev - 20120503 - $Id: 76b08b24596e12d4553bd41fc93cccd5bac2fe7a $" ["client_version"]=> int(50011) ["connect_errno"]=> int(0) ["connect_error"]=> NULL ["errno"]=> int(0) ["error"]=> string(0) "" ["error_list"]=> array(0) { } ["field_count"]=> int(9) ["host_info"]=> string(32) "karpovdeinze.be.mysql via TCP/IP" ["info"]=> NULL ["insert_id"]=> int(0) ["server_info"]=> string(23) "5.5.47-MariaDB-1~wheezy" ["server_version"]=> int(50547) ["stat"]=> string(156) "Uptime: 2825066 Threads: 8 Questions: 975172622 Slow queries: 11441 Opens: 15104531 Flush tables: 2 Open tables: 8192 Queries per second avg: 345.185" ["sqlstate"]=> string(5) "00000" ["protocol_version"]=> int(10) ["thread_id"]=> int(17274769) ["warning_count"]=> int(0) }

Wat kun of moet je hier nu uit afleiden?

Reageren