php code binnen echo

Status
Niet open voor verdere reacties.

Magistro

Gebruiker
Lid geworden
21 aug 2007
Berichten
26
Hallo,

Ik zit met het volgende probleem: Ik ben bezig met een scriptje. Hierin wordt een html-tabel ge-echo'd binnen een php code, tot zover geen probleem. In die tabel bevinden zich een aantal form-elementen. Ik wil dat een van die form-elementen data uit een database haalt. Ik had dit allemaal werkend totdat ik de tabel in de echo"" van php ging zetten. Nu neemt ie gewoon letterlijk de code over in het form-element, hij leest de variabelen wel, maar hij zet de rest van het stukje code ook erin? hoe moet ik dit oplossen, want hij moet alleen de variabele $session->username erin zetten.

Hieronder het stukje code:

PHP:
switch($_GET['action']) {

case"bestelling_toevoegen";

	if(!isset($_POST['bestelling_toevoegen']))	{
		echo"
<BR>
<b><font color='red'>Nieuwe bestelling toevoegen</font></b>
		<form action='$self?action=bestelling_toevoegen' name='bestelling_toevoegen' onSubmit='return check()' method='post'>
		

<table width='418' border='1' cellpadding='0' cellspacing='0' bordercolor='#000000'>
    <tr>
      <td width='172' height='21'><strong>Bestelling van: </strong></td>
      <td width='240'><input name='bedrijf' type='text' id='bedrijf' size='40' value='

<?                                 // Dit is het stukje code waar het om gaat
if($session->logged_in){  // Hij zet het stukje tussen de vraagtekens letterlijk in de invulbox
echo  \"$session->username\";         //Voor het aanhalingsteken bij $session moet ook een \ staan, maar hij pakt hem niet zo te zien hier
}else{
   echo \"\";
}
?> 

'/>

</td>
    
    </tr>
    <tr>
      <td height='21'><strong>Naam:</strong></td>
      <td><input name='naam' type='text' id='naam' size='40' /></td>
    </tr>
 
Laatst bewerkt:
Je code ziet er nu een beetje maf uit omdat je quote werk van geen kant klopt, maar dat komt vast door het plakken op het forum.

De volgende code is iets compacter en zou moeten werken. Die code erin plakken is makkelijker dan je huidige code "ontcijferen" :p.

PHP:
echo "<input [..] value=\"" . (($session->logged_in) ? $session->username : "") . "\" />";

Dit is een korte schrijfmethode van een if statement. Het geen tussen de () is de vergelijking waar dus true/false uitkomt. In het geval van true voert hij het gedeelte achter het ? uit. Wanneer hij false geeft dan voert hij het stuk achter de : uit.

Ik hoop dat het werkt.

Wout
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan