aprire una nuova pagina dinamicamente

  • Creatore Discussione Creatore Discussione tuxpeppe
  • Data di inizio Data di inizio

tuxpeppe

Nuovo Utente
21 Mar 2011
5
0
0
Salve, ho questo problema, che sicuramente avrà una semplice soluzione, ma mi sto scervellando da ieri e non riesco a trovarla!

allora, ho una pagina php crea_evento.php che tramite un form, acquisisce titolo, descrizione e data di un evento.

Adesso vorrei che, premuto il pulsante crea del form, se sono stati inseriti in maniera corretta i dati, si aprisse una nuova pagina (o scheda), contenente il dati che ho inserito (titolo, descrizione e data) e con all'interno un pulsante conferma o annulla, altrimenti mi visualizza di nuovo la stessa pagina.

Ecco, riesco a fare tutto su una singola pagina, ma la parte relativa al se i dati sono corretti apri una nuova scheda e mostra una sorta di riepilogo non riesco a farlo. Se metto un target="_blank" nel form, questo mi apre una nuova pagina sempre, mentre io voglio che lo faccia solo se i dati inseriti sono corretti (dopo un controllo che faccio io nella pagina crea_evento.php.

Spero di aver spiegato bene il problema... grazie per l'aiuto..
 
E già

Apprezzo che abbiate tanta voglia...
per questo master micio vi insegnerà il suo trucchetto per tutti i submit form:

Io solitamente faccio una pagina dove cè solo il form che punta ad una action.php dove ci sono tutti i controlli. Questa decide se in caso di ok fare un iclude o un header location della pagina successiva, altrimenti segnalare un errore e rimandare sulla pagina di prima.
 
grazie per la risposta. Vediamo se mi è chiaro il modo di procedere.

Creo una pagina action.php con dentro uno switch($_POST['action']) dove 'action' è il nome dato a tutti i vari pulsanti submit (name="action"), e poi all'interno nei case faccio un controllo sul valore del pulsante (tipo value="login"). Giusto fin qui??

Inoltre nel caso la pagina action.php dovesse segnalare un errore, come fai a caricare la pagina di prima (quindi a sapere da quale pagina è stata chiamata la action) passandogli gli errori (che poi la pagina precedente stamperà tipo a video)???
 
Ultima modifica:
La pagina di provenienza te la ritrovi nella variabile di sistema $_SERVER['HTTP_REFERER'], le informazioni inviare per post le puoi conservare in sessione.
 
Non interessa la pagina di provenienza.
Nel form metti sempre un campo hidden chiamato ACTION che controllerai negli if della action.php
Ti sconsiglio gli switch, usa if else, gli include in caso di errore e gli header in caso contrario.
Quindi action.php sarà del tipo:

PHP:
$ACTION=$_REQUEST['ACTION'];
if($ACTION=="cheneso") {
   if($_POST['invio']) {
      //controlli
      se errore include vecchia pagina o quella che ti pare
 
      altrimenti header nuova pagina;//Con l'header perdi le variabili ovviamente per cui valuta se usare include anche qui
   }
   else {
      In caso di modifica dati qui recuperi i dati vecchi per il form
   }
}

Un altro consiglione ke ti posso dare è usare mooooolto le funzioni.
Io mi faccio una classe e la uso per tutte le funzioni sul db,
Inserisci modifica elimina ecc ecc
 

Discussioni simili