Inserire record senza abbandonare la pagina

Bivio

Utente Attivo
19 Mag 2010
91
0
6
Salve, ho creato un script, che tramite dei form vado a inserire dei valori in un database mysql. Al momento ho una pagina con il form e una pagina dove viene eseguita la query. Vorrei che al momento che vengono aggiunti dei nuovi dati l'utente rimanga sempre sulla stessa pagina, un po come accade con gmail quando eliminiamo un email, compare solo un avviso ma la pagina non cambia e non viene caricata. Potete darmi una mano?
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
potresti fare tutto in una stessa pagina
PHP:
<?php
if(isset($_POST['pinco'])){//il submit
//qui tutta la parte di lettura dei post dal form
//e la query di inserimento
//con un eventuale refresh della pag
echo "<meta http-equiv='Refresh' content='0; URL=".htmlspecialchars($_SERVER['PHP_SELF'])."'>";
}else{
//e qui tutto il form (in php con echo o entrando/uscendo da php in html puro
}
?>
oppure nella pag in cui inserisci mettendo alla fine
PHP:
echo "<meta http-equiv='Refresh' content='0; URL=pagina_col_form.php'>";
dove al posto di pagina_col_form.php metti il nome della tua pag col form
 

Eliox

Utente Attivo
25 Feb 2005
4.390
3
0
Potresti anche effettuare l'inserimento tramite Ajax, in questo modo ti eviteresti anche il caricamento della pagina.
 

Bivio

Utente Attivo
19 Mag 2010
91
0
6
Grazie ragazzi per l'attenzione. Allora al momento gia utilizzo il secondo metodo del primo post, ma quello che vorrei fare e quello che dice Eliox, inserire i dati evitando di caricare la pagina.

Borgo, nel tuo ultimo messaggio hai inserito qualche esempio? perchè non mi compare nulla :confused:

thx
 

Bivio

Utente Attivo
19 Mag 2010
91
0
6
ah ok :). Nel frattempo sto provando a fare qualche ricerca :D

Ne approfitto per fare un altra domanda, ditemi se va bene oppure e opportuno che apra un altra discussione. In pratica lo script che ho creato e per l'ufficio dove lavoro per la gestione di pagamenti e pratiche ecc..(prima facevamo tutto con excel :( ) In pratica tutti i dati vanno divisi per settimane, quindi ogni settimana ci sono dei dati diversi. Attualmente ho creato delle tabelle "contenitore" dove poi tramite delle query estraggo i dati che mi servono. Ora siccome sto aggiornando lo script secondo voi mi conviene tenere la stessa struttura oppure fare per ogni settimana la sua tabella?


PS: lo capisco se la voglia di lavorare non c'è :dipser:


:byebye:
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
ti converrebbe postare nella sezione database (usi mysql con php?).
comunque, così a naso, non ti conviene fare innumerevoli tabelle, ma nella contenitore agggiungere il campo settimana che poi userei nella query per estarre i dati della settimana
 

Bivio

Utente Attivo
19 Mag 2010
91
0
6
ok, ora provo a fare un prova se i dati verrebbero suddivisi bene. Per il database si uso mysql. Lo script attualmente e online, ma il nuovo dovrà girare in locale, mi consigli qualche alternativa a mysql?
 

Bivio

Utente Attivo
19 Mag 2010
91
0
6
Salve ragazzi, nessuno sa consigliarmi nulla? ho fatto varie ricerca ma non ho trovato nulla...forse sbaglio io a cercare :(
 

criric

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
21 Ago 2010
5.607
54
48
TN
Piccolo esempio di chiamata ajax

pagina del form
Codice:
<script type="text/javascript">
    var xmlHttp = getXmlHttpObject();

    function insert_con_ajax(valore){    
        // attenzione a metere l'indirizzo giusto della pagina che elabora la richiesta
        xmlHttp.open('GET', 'request.php?valore='+valore, true);
    
        xmlHttp.onreadystatechange = function inserisci() {
   
            if(xmlHttp.readyState == 4) {
        
                if (xmlHttp.status == 200) {            
                    // stampa nel div con id messaggio tutto ciò che va in output nella pagina reques.php 
                    document.getElementById("messaggio").innerHTML=xmlHttp.responseText;             
           
                }
            }  
        };     
        xmlHttp.send(null);
    }
    
    function prendiValore(campo) {       
        return document.getElementById(campo).value;        
    }  
    
    function getXmlHttpObject() {
        
        var xmlHttp=null;
        if (window.XMLHttpRequest) {
            // IE7+, Firefox, Chrome, Opera, Safari
            xmlHttp = new XMLHttpRequest();
        }
	
        if (window.ActiveXObject) {
            // IE5, IE6
            xmlHttp =  new ActiveXObject("Microsoft.XMLHTTP");
        }
	
        return  xmlHttp;
    }
    
</script>
<input type="text" id="valore" name="valore"/>
<input type="button" value="Inserisci" onclick="insert_con_ajax(prendiValore('valore'));"/>

<!-- qui verrà mostrato il messaggio -->

<div id="messaggio"></div>

pagina che elabora la richiesta

reques.php
PHP:
<?php

$valore = $_REQUEST['valore'];

// qui puoi fare la insert
$query = "INSERT INTO tabella SET valore = '$valore'";


// qui stampi il messaggio
echo "Valore inserito con successo <br/>" . $query . "<br/>";
?>

Nono molto esperto, questo è un semplice esempio che ho imparato e sto usando

Se non ti funziona subito puoi mettere degli alert nel codice javascript per capire dove è l'errore
 

Bivio

Utente Attivo
19 Mag 2010
91
0
6
Piccolo esempio di chiamata ajax

pagina del form
Codice:
<script type="text/javascript">
    var xmlHttp = getXmlHttpObject();

    function insert_con_ajax(valore){    
        // attenzione a metere l'indirizzo giusto della pagina che elabora la richiesta
        xmlHttp.open('GET', 'request.php?valore='+valore, true);
    
        xmlHttp.onreadystatechange = function inserisci() {
   
            if(xmlHttp.readyState == 4) {
        
                if (xmlHttp.status == 200) {            
                    // stampa nel div con id messaggio tutto ciò che va in output nella pagina reques.php 
                    document.getElementById("messaggio").innerHTML=xmlHttp.responseText;             
           
                }
            }  
        };     
        xmlHttp.send(null);
    }
    
    function prendiValore(campo) {       
        return document.getElementById(campo).value;        
    }  
    
    function getXmlHttpObject() {
        
        var xmlHttp=null;
        if (window.XMLHttpRequest) {
            // IE7+, Firefox, Chrome, Opera, Safari
            xmlHttp = new XMLHttpRequest();
        }
	
        if (window.ActiveXObject) {
            // IE5, IE6
            xmlHttp =  new ActiveXObject("Microsoft.XMLHTTP");
        }
	
        return  xmlHttp;
    }
    
</script>
<input type="text" id="valore" name="valore"/>
<input type="button" value="Inserisci" onclick="insert_con_ajax(prendiValore('valore'));"/>

<!-- qui verrà mostrato il messaggio -->

<div id="messaggio"></div>

pagina che elabora la richiesta

reques.php
PHP:
<?php

$valore = $_REQUEST['valore'];

// qui puoi fare la insert
$query = "INSERT INTO tabella SET valore = '$valore'";


// qui stampi il messaggio
echo "Valore inserito con successo <br/>" . $query . "<br/>";
?>

Nono molto esperto, questo è un semplice esempio che ho imparato e sto usando

Se non ti funziona subito puoi mettere degli alert nel codice javascript per capire dove è l'errore

Ciao, ho provato il tuo esempio, ma non mi funziona, potresti spiegarmi meglio i passaggi da fare? e sopratutto puoi farmi un esempio con più valori da gestire?

Grazie mille
 

criric

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
21 Ago 2010
5.607
54
48
TN
Ciao,
per far fuzionare il mio esempio è sufficente copiare e incollare le due pagine in una cartella del tuo server
e indicare al browser la prima pagina

Nella prima pagine c'è sia il form che il codice js per la richiesta ajax

nella seconda il processo php che elabora la richiesta

Ciao, ho provato il tuo esempio, ma non mi funziona

non aiuta a capire il perchè non ti funziona, dovresti postare il codice che hai scritto o almeno gli errori che hai riscontrato
 

Bivio

Utente Attivo
19 Mag 2010
91
0
6
Ciao,
per far fuzionare il mio esempio è sufficente copiare e incollare le due pagine in una cartella del tuo server
e indicare al browser la prima pagina

Nella prima pagine c'è sia il form che il codice js per la richiesta ajax

nella seconda il processo php che elabora la richiesta



non aiuta a capire il perchè non ti funziona, dovresti postare il codice che hai scritto o almeno gli errori che hai riscontrato

Lo script apparentemente funziona correttamente, ma l'errore che ho riscontrato e che non viene inserito nulla nel database. Ho utilizzato il codice da te postato senza modificare nulla....
 

criric

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
21 Ago 2010
5.607
54
48
TN
Beh, avevo omesso la connessione al db e l'esecuzione della query

PHP:
<?php

// ti connetti al tuo db
$conn = mysql_connect('localhost', 'root', '', 'database');
$db = mysql_select_db('database');

// recuperi il valore
$valore = $_REQUEST['valore'];

// prepari la query
$query = "INSERT INTO tabella SET valore = '$valore'";

//la esegui
$res = mysql_query($query);

// qui stampi il messaggio
if ($res) {
    echo "Valore inserito con successo";
} else {
    echo "Errore <br/>" . $query . "<br/>" . mysql_error();
}
// chiudi la connessione
mysql_close();
?>

è normale che non fa la insert se non esegui la query
 

Bivio

Utente Attivo
19 Mag 2010
91
0
6
L'avevo aggiunta io la connessione, facevo un errore stupido non richiamavo il file dal server locale (xampp) quindi la parte in php non funzionava :eek: Ti chiedo un ultima cosa puoi farmi un esempio o spiegarmi, come fare quando si hanno piu valori da inserire?
 
Discussioni simili
Autore Titolo Forum Risposte Data
nim inserire più frasi in un record MySQL 8
L Inserire più record in una sola volta PHP 1
A Inserire tot record per pagina nel .pdf ? PHP 0
Elisacau [Contact form 7] Inserire Numero auto incrementante WordPress 1
gara1 inserire immagine di sfondo in canvas Javascript 0
FDF182 Inserire pdf in db PHP 3
otto9due Inserire o aggiornare tabella my sql controllando una coppia di valori PHP 7
Couting95 inserire dati da un file di testo in una tabella in php PHP 1
D Inserire link PHP 0
L PHPSpreadsheet inserire dati da file .xlsx/.xls su database PHP 2
P inserire due voci in un titolo post wp WordPress 1
R inserire video nel sito HTML e CSS 15
J Inserire blog wordpress in angular CMS (Content Management System) 0
A inserire variabile php colore in div html PHP 2
L inserire dati multi livello PHP 8
G Inserire una scritta Java 1
M Inserire variabile nella value di una hidden PHP 3
S Inserire foto in ogni cella di una tabella Javascript 0
G inserire dati automaticamente in mysql PHP 0
B Vorrei inserire una finestra con messaggio ad un history.back PHP 16
Shyson Inserire placeholder nel campo cerca PHP 5
M Lanciare alert se il codice fiscale è già presente nel db e lasciare la scelta di inserire all'utente PHP 42
atipika INSERIRE ICONE DOWNLOAD E STAMPA WORDPRESS WordPress 10
F Creare un set di date a seconda del frazionamento scelto da inserire in MySQL PHP 6
B inserire valori da una tabella a un altra mysql PHP 34
D [Javascript] inserire uno script in un file php Javascript 6
napuleone [HTML] type="file" inserire path di partenza HTML e CSS 4
Monital [Javascript] inserire dati estratti dal db in html fisso Javascript 1
R [WordPress] Inserire campi aggiuntivi ad un Submit Form già dato dal template (front-end) WordPress 0
M inserire i dati ottenuti da una jquery in una tabella già esistente jQuery 1
G Inserire "Leggi il resto dell'articolo" con link al post sul sito preso via RSS Email Marketing 0
M [PHP] Come inserire codice html in un ciclo while PHP 2
P [PHP] Inserire stringhe in input(text),memorizzarle e stamparle in file successivo PHP 0
J [Javascript] Inserire un caricamento con animazione prima dell'esecuzione di un'azione Javascript 1
Shyson [PHP] Inserire testo nel codice PHP 2
D Mailchimp - Possibile inserire doppia condizione per i triggers? Email Marketing 0
A [MS Access] Pulsante per inserire allegati in campo maschera MS Access 0
Shyson [HTML] Inserire nuovo font con @font-face HTML e CSS 5
Alex_70 Inserire photo in php PHP 0
D [Javascript] [HTML] Inserire slash dopo 3 numeri Javascript 5
F INSERIRE IN UN'UNICA CASELLA DI TESTO REPORT ACCESS I VALORI DELLA TABELLA DI UN'INTERA COLONNA MS Access 2
A [HTML] Come inserire google review stars nelle pagine del mio sito HTML e CSS 0
spider81man Connettersi ad un DB ed inserire dati con Javascript Javascript 3
spider81man [PHP] Inserire file .pdf in db PHP 6
P [WordPress] Inserire codice in pagina dinamica WordPress 0
A [PHP] Ciclare array multidimensionale e inserire valori in DB PHP 2
M [PHP] Inserire array nel db PHP 6
andreas88 [HTML] come inserire 3 riquadri in un unico rigo (vedere img allegata) HTML e CSS 11
G [PHP] inserire risultato di una query in una tabella PHP 3
P [Javascript] Inserire una nuova condizione in una funzione Javascript 3

Discussioni simili