Beste mensen, ik ben nieuw hier en geen die-hard PHP-scripter, maar redt me meestal wel, maar sta nu werkelijk voor een raadsel.

ik heb n adminpagina waarop je in moet loggen, dat werkt,
dan opent ie een rits aan pagina'tjes naar believen, alles gaat precies zoals ik wil dat t werkt...

tot ik n nieuws pagina wil openen... simpel scriptje waarbij ik de mysqldb aant werk zet om alle nieuwsberichten op een pagina te pleuren. als ik het php gedeelte weglaat, dan werkt ie gewoon zoals het moet, maar zodra de openingstag voor php verschijnt, vertikt de hele pagina te werken en reproduceerd php een keiharde exit, dus geen "</body></html>" en dus ook gelijk de hele layout naar de klote... heb geprobeerd de fout op te sporen.. maar kon niets raars vinden... dus bij deze hoop ik van jullie wat te kunnen leren...

ik ben al op zoek geweest naar de oplossing via verschillende fora, maar niets lost het op....

<toevoeging vanuit een ander forum>
...maar nu krijg ik echt een blanco pagina. Het ligt echt aan het script in de gNewsRead.php maar god mag weten waar ie zit.. heb de hele nacht geprobeerd het script opnieuw op te bouwen vanaf scratch... maar zodra php geparsed moet worden nokt ie er gewoon mee...

mijn dank is groot voor degene die precies weet wat er loos is...

---<index.php>---- slechts betreffende php-stukje

<?
// page variable voor content
if (!isset($_GET['page'])) {
    $page = "gNewsRead.php";
}
else {
    $page = $_GET['page'];
     }

//pages allowed to load
$pages = array('gNewsAdd.php', 'gNewsAdd1.php', 'gNewsRead.php', 'gMediaAdd.php', 'gMediaAdd1.php', 'gMediaWeb.php', 'gTourAdd.php', 'gTourAdd1.php', 'gTourWeb.php', 'useroptions.php', 'logout.php');

if( in_array($page, $pages) ){
      include($page);
} else    {
    echo"<div class=\"block\">Unable to open that page, return and try again.</div>\n";
}
?>


----<gNewsRead.php>----

<?
//so we still need to log in...
require ("safe.php");

//start query, de die zorgt voor de errormessage als er n fout zit in de query, maar tot hier komt het hele script nog niet eens!
$sql = "SELECT * FROM gNews ORDER BY ID DESC";
$sql_result = mysql_query($sql, $connect) or die("Couldnt exec Query");


//pre check, eerder ingebouwd in de hoop dat ie voorbij de query zou komen...
echo "<p>komtiedanhe</p>";

//the news, hier had ik eerst nog een if/else statement, maar weggehaald, want als de query t niet doet, doet deze t sowieso niet... en als de resultaten niet kloppen, zou de html wel geparsed moeten worden...
while ($row = mysql_fetch_array($sql_result)){
    echo "<div id='block'>"
        ."    <h3>", $row['title'], "</h3>"
        ."    <p>", $row['news_msg'], "</p>"
        ."    <small>", $row['author'>, " @ ", $row['date'], "</small>"
        ."</div>";
}

//close connections
mysql_free_result($sql_result);
mysql_close($connect);
?>
@wes: hoe zou ik dat gedaan kunnen hebben? ik heb m gewoon opgeslagen in dreamweaver zoals ik altijd doe, ik weet zeker dat ik het juiste bestand gebruik, want als ik alle php weglaat en gewoon een div'je neergooi, dan werkt het wel...mja, das nou juist net niet wat ik wil hebben...

ga nu even de optie van Santhe proberen :)

resultaat:
ik heb n aparte pagina gemaakt <test.php>

<?php
ini_set('display_errors', 1); // 0 = uit, 1 = aan
error_reporting(E_ALL);

include("gNewsRead.php");
?>


en t leuke is nu dat ik nu de foutmelding krijg:
Parse error: syntax error, unexpected ',' in /home/blowco/public_html/gladius/gCMS/gNewsRead.php on line 22

stukje met line 22 is:

<?php
//the news
while ($row = mysql_fetch_array($sql_result)){
	echo "<div id='block'>"
		."	<h3>", $row['title'], "</h3>"
		."	<p>", $row['news_msg'], "</p>"
		."	<small>", $row['author'>, " @ ", $row['date'], "</small>"
		."</div>";
}
?>
Je doet of met komma's (wat sneller is) of met punten.

Dus:

<?php
//Dit
echo "<div id='block'>"
." <h3>". $row['title']. "</h3>"
." <p>". $row['news_msg']. "</p>"
." <small>". $row['author']. " @ ". $row['date']. "</small>"
."</div>";

//Of (betere manier):
echo "<div id='block'>"
," <h3>", $row['title'], "</h3>"
," <p>", $row['news_msg'], "</p>"
," <small>", $row['author'], " @ ", $row['date'], "</small>"
,"</div>";
?>

edit:

"$row['author'>" verbeterd.
'author'>,

je mist een ] over die komma's weet ik niets.. ik gebruik altijd .'en
onzin. Punten is goed, punten aanhouden.
Niks onzin

echo is een functie die een oneindig aantal parameters aan kan. Met alleen punten moet PHP eerst alles aan elkaar breien en daarna op je scherm zetten. Met komma's hoeft dat niet en is daarom gewoon sneller.
99% van de programmeurs gebruikt een punt en geen komma. Tis puur voor je eigen gemak

die 0.000001 miliseconden kan ik nog wel meer wachten
Martijn: dat kan je beter in het hele spectrum van geheugengebruik zien. De webservers van vandaag de dag zitten doorgaans voor een groot gedeelte uit hun neus te vreten. Geheugen is geen punt. Het effect zoals de auteur schrijft is very limited. Doorgaans zijn er in php applicaties (zowiezo zelden op geheugen gegebruik geschreven). Er vallen op tientallen andere plekken (bijvoorbeeld omgang met een willekeurige sql server) meer winst te pakken dan op de paar bytes geheugen die zo'n echo voor luttele seconden gebruikt te pakken.

<?php
require_once "Timer.php";
$timer = new Timer();

$var = ".";
for ( $i = 1; $i <= 1000; $i += 1) {
echo "Hoi " , $var , "dag";
}

echo $timer->elapsed();
?>


Ik heb het even getest, en het resultaat staat hier:
http://arend.onleefbaar-nederland.nl/test-punt.php
http://arend.onleefbaar-nederland.nl/test-comma.php

Gemiddeld: 0.00225 seconden uitvoertijd voor de punt
en: 0.00200 voor de komma.

Gemiddeld dus 0.00000025 seconden winst voor het gebruik van komma boven een punt. Mocht het een punt worden met uitvoertijd lijkt het me tijd je webserver eens up te graden naar een pc sneller dan een 486.
interessante case dit, leuk stukje over komma's en punten... t lijkt wel weer terug in de schoolbanken bij nederlands... ;)

maar toch... dit verhelpt het probleem niet... heb beiden geprobeerd...
ik kan me ook niet voorstellen dat het gebruik van punten en/of komma's hier uitmaken, want... (volgens mij voor de zoveelste keer, of lees gewoon de hele probleemomschrijving in post 1)... het betreft enkel deze specifieke pagina die niet geladen wil worden... de rest van de pagina's, zijn volgens exact dezelfde opmaak gemaakt en werken als een zonnetje... de error die ik in de test pagina krijg, geeft ook pas in regel 22 een error, dat is in volgend voorbeeld overeenkomstig met regel 7

<?php
//the news
while ($row = mysql_fetch_array($sql_result)){
	echo "<div id='block'>"
		,"	<h3>", $row['title'], "</h3>"
		,"	<p>", $row['news_msg'], "</p>"
		,"	<small>", $row['author'>, " @ ", $row['date'], "</small>"
		,"</div>";
}
?>


degene die het probleem weet op te lossen krijgt van mij een snickers, of twix, of bounty... of whatever... :p

Reageren