Originariamente inviato da _debo
utilizzerei un approccio più leggero e snello ovvero usare direttamente HTML dove serve aprendo e chiudendo i tag php ove necessario.
Argh...nemmeno per sogno. Ogni uscita da php e successivo rientro, come questi
Codice PHP:
<div id="step4" style="display:none;">
<?php heading("Oggetto della mail", 2)?>
<p id="subjectText"><?php $_POST['subject']?></p>
<?php heading("Mittente della mail", 2)?>
"<span id="nameText"><?php $_POST['nome']?></span>" <<span id="mailtext"></span>></p>
</div>
<?php
foreach($contatti as $cont)
{?>
<tr>
<td><input type="text" name="nome[]" value="<?php $cont['Nome'];?>" /></td>
<td><input type="text" name="cognome[]" value="<?php $cont['Cognome'];?>" /></td>
</tr>
<?php }?>
richiede al parser php lavoro extra per verificare la correttezza del codice. Per ogni entrata deve cercarsi l'uscita e verificare che nel blocco in-out non ci siano problemi, oltre a doversi cercare la corrispondenza di eventuali parentesi di condizioni o cicli in due blocchi in-out differenti e analizzare anche l'eventuale codice nested...
Per quanto queste elaborazioni siano veloci, è ovvio che con un' unica entrata e un' unica uscita la cosa sia decisamente più snella, oltre che più leggibile da un umano.
Codice PHP:
$output = <<<EOF
<div id="step4" style="display:none;">
{$heading1}
<p id="subjectText">{$_POST["subject"]}</p>
{$heading2}
"<span id="nameText">{$_POST["nome"]}</span>" <<span id="mailtext"></span>></p>
</div>
EOF
;
foreach($contatti as $cont)
{
$output .= <<<EOF
<tr>
<td><input type="text" name="nome[]" value="{$cont['Nome']}" /></td>
<td><input type="text" name="cognome[]" value="{$cont['Cognome']}" /></td>
</tr>
EOF
;
}
echo $output;
Originariamente inviato da _debo
Ad ogni modo la sua soluzione è comunque applicabile.
anche se non è la migliore