Hallo allemaal,

Ik doe al jaren aan webdesing alleen heb nu een voor mij on oplosbaar probleem.

ik heb een stukje php script waarbij een tabel uit de database word uitgelezen. vervolgens bouw ik een link op met gegevens uit de tabel. Nu ziet de php-engine de ?> aan als einde van de <A > tag. heeft iemand hier een oplossing voor? hier onder nog even het script.


<LINK REL=STYLESHEET HREF="style.css" TYPE="text/css">
<h1>Nieuws</h1>
<?
require("config.php"); 
?><TABLE border=1>
<TR><TD>Datum</TD><TD>Onderwerp</TD></TR>
<?
$query = mysql_query("SELECT * FROM nieuws ORDER BY datum DESC"); 
while($object = mysql_fetch_object($query)){ 
?>
<TR><TD><? echo $object['datum'] ?></TD><TD><A href='#' onclick=window.open("bericht.php3?d=<? echo $object['datum'] ?>&o=<? echo $object[onderwerp] ?>&b=<? echo $object[nieuws] ?>")><? echo $object[onderwerp] ?></A></TD></TR>
<?
}
?>
</TABLE>


op de pagina die gemaakt word krijg ik dit:

Nieuws
Datum Onderwerp
&o=&b=")>
Dat zeg ik ook niet :P
<?
is hetzelfde als
<?php

maar
<?=
is hetzelfde als
<?php echo

EDIT:
Ik zie mensen <?php echo zeggen, daarom zeg ik, je kunt ook <?= gebruiken.
dank u allen... naar nog even prutsen heb ik em werkend
uieindelijke code:


<?

require("config.php"); 
?>
<HEAD>

<LINK REL=STYLESHEET HREF="style.css" TYPE="text/css">

</HEAD>

<H1> Nieuws</H1>
<TABLE border=1>
<TR><TD>Datum</TD><TD>Onderwerp</TD></TR>
<?
$query = mysql_query("SELECT * FROM nieuws ORDER BY datum DESC"); 
while($object = mysql_fetch_object($query)){
$datum2 = str_replace(' ', '%20', $object->datum);
$onderwerp2 = str_replace(' ', '%20', $object->onderwerp);
$nieuws2 = str_replace(' ', '%20', $object->nieuws);

?>
<TR><TD><? echo $object->datum; ?></TD><TD><A href="#" onclick=window.open('bericht.php?d=<? echo $datum2; ?>&o=<? echo $onderwerp2; ?>&b=<? echo $nieuws2; ?>','Nieuws','width=200,height=200');><? echo $object->onderwerp; ?></A></TD></TR>
<?
}
?>
</TABLE>

Ik zie mensen <?php echo zeggen, daarom zeg ik, je kunt ook <?= gebruiken.

Alleen dit staat standaard bij PHP wel uit, dus je moet wel goed controleren of je host dit wel ondersteund voor je je site erop gaat baseren.

(Die tags heten: Shorttags)
Jelle Posthuma schreef op 21.08.2008 17:38
Ik zie mensen <?php echo zeggen, daarom zeg ik, je kunt ook <?= gebruiken.

Alleen dit staat standaard bij PHP wel uit, dus je moet wel goed controleren of je host dit wel ondersteund voor je je site erop gaat baseren.

(Die tags heten: Shorttags)

Het framework die ik gebruikt heeft een functie genaamd short_to_full in een configuratie bestand staan. Is echter alleen van toepassing op view files, dus vandaar dat ik <?= alleen gebruik in view files :)
Jelle Posthuma schreef op 21.08.2008 15:46
Ik zie verschijdene ECHO's staan zonder ; erachter.

<? echo $object['datum'] ?>

=

<? echo $object['datum']; ?>


Maakt niet uit, mag allebei (al is het laatste beter omdat je dan gewoon netjes alles afsluit)

GaMer13 schreef op 21.08.2008 16:41
<?=
is hetzelfde als
<?php echo

Ieder zijn voorkeur. Ik gebruik zelf <?= in HTML templates en <?php in mijn PHP back-end.


<?= zijn shorttags. Staan niet overal aan en is zeker niet aan te raden om te gebruiken.

Jelle Posthuma schreef op 21.08.2008 17:38
Ik zie mensen <?php echo zeggen, daarom zeg ik, je kunt ook <?= gebruiken.

Alleen dit staat standaard bij PHP wel uit, dus je moet wel goed controleren of je host dit wel ondersteund voor je je site erop gaat baseren.

(Die tags heten: Shorttags)


Nee hoor, ze staan standaard aan.
Shorttags staan bij een vers geinstalleerde PHP server niet aan. even als de < % % > van ASP.
Nee hoor, ze staan standaard aan.

Zoals Jordi al zegt, bij een schone PHP installatie staan ze als het goed is standaard uit.
Had ik laatst ook, ik vind shorttags ook lekkerder werken, en laatst nieuwe webserver geïnstalleerd, mocht ik gaan zoeken waarom mijn site totaal niet meer werkte, bleek het dat shorttags standaard uit staan bij een clean install.
Dan is netserver stout bezig, want die zet shorttags standaard wel aan...
Bij easyphp en phpdev staan ze ook standaart aan. Hier praten we dan ook over al voor geconfugeerde webserver installatie pakketen:)

Reageren