PHP ver gevorderde |
|
Dat is een beetje stom van Plaatscode.be. Want ik heb in mijn code nergens backslashes staan. Plaatscode escaped alle double quotes. *Mods, even fixen?
Het is gewoon een input/output-foutje van Plaatscode. Ik kan je verzekeren dat de originele code in orde is. Ik werk met UltraEdit-32 en de kleurtjes kloppen daarbij wel gewoon.
Hier de code van search_side.php:
<?php
error_reporting(E_ALL);
// requires
require('includes/templatepower/class.TemplatePower.inc.php');
require('includes/config.inc.php');
$tpl = new TemplatePower('templates/search_side.tpl');
$tpl -> Prepare();
$i = 0;
if (isset($_GET['q']) && eregi("^[a-z0-9\-]$", $_GET['q'])) {
$q = addslashes($_GET['q']);
$qSearch = mysql_query("SELECT voorvoegsel, voornaam, tussenvoegsel, achternaam, examenjaar FROM inschrijvingen WHERE achternaam LIKE '%".$q."%' OR examenjaar = '".$q."' ");
if (mysql_num_rows($qSearch) > 0) {
$tpl -> NewBlock('ZOEKRESULTATEN');
$tpl -> Assign('resultaten', mysql_num_rows($qSearch));
if (mysql_num_rows($qSearch) > 5) {
$tpl -> NewBlock('ZOEKRESULTATEN_TOON_EXTRA');
$tpl -> Assign('search', $_GET['q']);
}
while ($aRes = mysql_fetch_assoc($qSearch) && $i < 5) {
$voorletter = substr($aRes['voornaam'], 0, 1);
$tpl -> NewBlock('ZOEKRESULTAAT_DEELNEMER');
$tpl -> Assign($aRes);
$tpl -> Assign('voorletter', $voorletter);
$i++;
}
}
else {
$tpl -> NewBlock('GEEN_RESULTATEN');
}
}
$Output = $tpl -> GetOutputContent();
echo $Output;
?>
<?php // requires require('includes/templatepower/class.TemplatePower.inc.php'); require('includes/config.inc.php'); $tpl = new TemplatePower('templates/search_side.tpl'); $tpl -> Prepare(); $i = 0; if (isset($_GET['q']) && eregi("^[a-z0-9\-]$", $_GET['q'])) { $qSearch = mysql_query("SELECT voorvoegsel, voornaam, tussenvoegsel, achternaam, examenjaar FROM inschrijvingen WHERE achternaam LIKE '%".$q."%' OR examenjaar = '".$q."' "); $tpl -> NewBlock('ZOEKRESULTATEN'); $tpl -> NewBlock('ZOEKRESULTATEN_TOON_EXTRA'); $tpl -> Assign('search', $_GET['q']); } $voorletter = substr($aRes['voornaam'], 0, 1); $tpl -> NewBlock('ZOEKRESULTAAT_DEELNEMER'); $tpl -> Assign($aRes); $tpl -> Assign('voorletter', $voorletter); $i++; } } else { $tpl -> NewBlock('GEEN_RESULTATEN'); } } $Output = $tpl -> GetOutputContent(); ?>
//Edit
Ik heb het zojuist ook geprobeerd met
print($tpl -> GetOutputContent());
maar dat werkte ook niet. Dat was een manier die op de site van TemplatePower zelf stond (voor als MagicQuotes aan stond, maar toch proberen he).
//Edit 2
Ondertussen ben ik nog steeds aan het zoeken, maar tot nu toe is niets gelukt.
Alles dat ik echo krijg ik als output terug, behalve de template-content. Als ik die in een alert gooi, krijg ik wel al het begin van de template te zien.
Ik heb ook nog met het pad van de template zitten klooien, omdat ik ook mod rewrite gebruik, maar dat helpt niet. Dan krijg ik de error van TemplatePower dat het template-bestand niet kan worden gevonden (die error wordt trouwens wél goed teruggestuurd). |