script dentro div

nephilim89

Utente Attivo
24 Mar 2010
64
5
0
ciao! ho una pagina con struttura a tre colonne,quindi con 3<div> .all'interno di ogni div c'è un include che richiama uno script, e nel div centrale c'è la navigazione.
in particolare c'è uno script che ha questa struttura:

codice PHP:

if( isset('$_POST['submit del form']))
{
//fai questo
}
else
{
//mostra form
}


vorrei che tutte le azioni di questo script vengano eseguite SEMPRE all'interno del suo div,e non nel div centrale. per fare questo cosa devo mettere nell'action del form?

grazie
 
Sposta le istruzioni fra <div desiderato> e </div desiderato>. Sappi che comunque non cambia niente perché il div c'entra con la formattazione e la visualizzazione sul browser dell'utente, mentre il php riguarda la gestione dei dati sul server, quindi ha poco senso questa richiesta... è un po' come chiedere di che colore devi verniciare l'auto per andare più veloce... o forse non ho capito cosa intendevi.
 
Sposta le istruzioni fra <div desiderato> e </div desiderato>

mi spiego meglio:
la pagina è gia cosi. <div 1>include(script1.php)</div 1>,<div 2>include(script2.php)</div 2>...

il mio problema viene fuori quando uno di questi script è ad esempio un form. immagina questo form in una delle colonne laterali. una volta che premo il submit, tutte le istruzioni che si "attivano" dopo if(isset($_POST[submit])) vengono visualizzate nel div centrale dove normalmente ho la navigazione,e non sempre nello stesso div laterale come vorrei io.

quindi il problema credo sia semplicemente nell action del form che non so sistemare!
 
Spostare l'if all'interno del div può essere pericoloso perché dipende da cosa c'è in php prima e dopo.
L'unica cosa sarebbe di convertire l'html che è dentro l'if in assegnazione ad una variabile che poi visualizzerai nel div che ti piace di più.
Es.
PHP:
<?php
  if ($condizione)
  {
?>
       <tr><td><?=$dato?></td></tr>
<?php
  }
?>
diventa
PHP:
<?php
   $mio_output="";
  if ($condizione)
  {
       $mio_output="<tr><td>".$dato."</td></tr>";
  }
?>
Ovviamente in caso di cicli devi aggiungere tutto in fondo a $mio_output ($mio_output.= <successivo output>).
All'interno dell'if in questo modo non viene visualizzato più niente (il tutto viene messo nella variabile $mio_output).
quindi nel tuo div laterale potrai fare
PHP:
<? echo $mio_output; ?>

Un altro modo è quello di usare l'output buffering di php, che però potrebbe risultarti più complicato e magari non necessario. Ti rinvio al manuale php per questa alternativa
 

Discussioni simili