Salvare i dati nel db e aprire altra pagina php

Max61

Utente Attivo
2 Mar 2014
694
3
18
Salve, avrei la necessità di salvate i dati nel db e allo stesso tempo aprire una nuova pagina.
Ho provato così, ma non funziona perchè se il campo input nella form è compilato salva i dati nel db e basta, se invece il campo è vuoto apre la pagina nuova...
PHP:
<form><button onclick="window.location.href='PaginaNuova.php'" type="submit"  name="submit" >Salva modifiche</button> </form>
Ho provato con
PHP:
header('location:../views/PaginaNuova.php');
ma mi da errore

Qualche idea?
Grazie
Max61
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.042
146
63
PR
www.borgo-italia.it
ciao
dal codice che hai postato non si capisce molto, comunque il salvataggio dei dati avviene nella stessa pagina o su una pagina diversa?
comunque, sempre che non abbia capito male quello che vuoi fare, farei così
PHP:
<?php
//ricevi i $_POST
//salvi nel db
header('location:../views/PaginaNuova.php');
?>
<form action="<?php echo $_SERVER['PHP_SELF'];//se nella stessa pagina ?>" method="post">
<!--<form action="pagina_salva.php" method="post"> se in pagine diverse-->
<!-- i vari campi di input-->
<button type="submit"  name="submit" >Salva modifiche</button>
</form>
 

Max61

Utente Attivo
2 Mar 2014
694
3
18
Ciao Borgo Italia e grazie per la risposta...ma l'header mi da lo stesso errore che mi dava prima
Warning: Cannot modify header information - headers already sent by (output started at C:\xampp\htdocs\Fasi\views\Edit_StepLavoro.php:129) in C:\xampp\htdocs\Fasi\views\Edit_StepLavoro.php on line1590
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.042
146
63
PR
www.borgo-italia.it
ciao
la funzione header deve essere posta PRIMA di qualsiasi output html, anche uno spazio prima del tag php ti restituisce quell'errore
oppure devi mettere
PHP:
<?php
ob_start();
//qui l'html o echo...
header('location:../views/PaginaNuova.php');
//...
?>
<!-- .....-->
<?php
ob_end_flush();
?>
 

Max61

Utente Attivo
2 Mar 2014
694
3
18
Ciao, ho provato a far così ma non so se va bene...anzi sicuramente no perchè mi da lo stesso errore
PHP:
<?php
if ($note9 == true){
    ?>
    <form><button class="easyui-linkbutton c4" value="Refresh Page" onClick="window.location.reload()" type="submit" disabled="disabled">Salva modifiche</button></form>
    <?php
} else {

ob_start();
?>
   <form><button class="easyui-linkbutton c4" type="submit"  name="submit" >Salva modifiche</button> </form>
   <?php
header('location:../views/PaginaNuova.php');
//...
ob_end_flush();
?>
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.042
146
63
PR
www.borgo-italia.it
ciao
io generalmente lo metto all'inizio pagina, anche se non capisco bene quello che vuoi fare, vedendo il codice in pratica il secondo pulsante non fai in tempo a vederlo, l'header rinvia in pochi millesecondi.
 

Max61

Utente Attivo
2 Mar 2014
694
3
18
QuesTi pulsanti sono a 3/4 della pagina alla fine gegli step che sono 9. Al nono step uno dei due si disabilita. Tutto questo per far si che una volta salvato il lo step si venga indirizzati ad una pagina vuota per poi ritornare alla stessa. Non so se mi sono spiegato. Io l ho pensata così ma sicuramente ci saranno altri metodi che io da profano non conosco. Praticamente salvare il dato è rimanendo nella stessa pagina.
Ciao e grazie ancora per la pazienza
 

Max61

Utente Attivo
2 Mar 2014
694
3
18
Salve, ho risolto così, allego il codice nel caso potesse servire ad altri
PHP:
if($tuocampo9== TRUE)
        $query=mysql_query("UPDATE tuatabella SET tuocampo9='$utente9' WHERE id='$id'")or die(mysql_error());
        if($query) echo "<span style='color:green'>Aggiornamento eseguito correttamente!<meta http-equiv='Refresh' content='3; URL=MenuPrincipale.php'>";
Ciao
Max61