Salvare i dati nel db e aprire altra pagina php

  • Creatore Discussione Creatore Discussione Max61
  • Data di inizio Data di inizio

Max61

Utente Attivo
2 Mar 2014
760
4
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
 
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>
 
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
 
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();
?>
 
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();
?>
 
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.
 
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
 
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
 

Discussioni simili