[RISOLTO]inserire dati nel database

Fabio90

Utente Attivo
29 Feb 2012
507
0
16
Ciao forum,
non riesco a far funzionare l'inseirmento dei campi del form nel databse con jquery ajax..
L'integrazione con la pagina php è corretto solo che non riesco ad arrivarci perchè vado nella condizione di errore ("non va")

Questo è il codice che ho scritto:

<form class="dettaglio_intervento" name="intervento" id="intervento" method="post">

<input type="text" name="testo" value="testo" id="dati_descr" />

</form>

$(function() {

$("#save").click(function() {



var descr = $("#dati_descr").val();
var dataString = 'dati_descr='+ descr;



$.ajax({
url: 'save_intervento.php',
type: "POST",
data: dataString,
cache: false,

success: function() {
alert("Grazie per aver salvato i dati");
},
error: function() {
alert("Non va");
}
}); //click

}); //fine #save

}); //fine Jquery

Grazie dell'aiuto!
 

criric

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
21 Ago 2010
5.607
54
48
TN
Ciao, metti questo nel error, ti dovrebbe stampare l'errore che rileva
Codice:
error: function(er) {		
                var status = er.status;
                var text = er.statusText;			
                var message = status + ': ' + text;
                alert(message);		
            }
 

criric

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
21 Ago 2010
5.607
54
48
TN
Mai sentito prima
Ho provato il codice e funziona
HTML:
<script src="http://code.jquery.com/jquery-latest.min.js" type="text/javascript"></script>
<script>
    $(function() {
        $("#save").click(function() {

            var descr = $("#dati_descr").val();
            var dataString = 'dati_descr='+ descr;
            $.ajax({
                url: 'save_intervento.php',
                type: "POST",
                data: dataString,
                cache: false,

                success: function() {
                    alert("Grazie per aver salvato i dati");
                },
                error: function(er) {		
                    var status = er.status;
                    var text = er.statusText;			
                    var message = status + ': ' + text;
                    alert(message);		
                }
            }); //click

        }); //fine #save

    }); //fine Jquery 
</script>
<form class="dettaglio_intervento" name="intervento" id="intervento" method="post">
    <input type="text" name="testo" value="testo" id="dati_descr" />
    <input type="button" value="salva" id="save"/>
</form>
Sicuramente ci sono degli errori nella pagina php
Prova a cercare l'errore che ti restituisce qui
 

Fabio90

Utente Attivo
29 Feb 2012
507
0
16
ok grazie mille per le info! Adesso però ho apportato altre modifiche al form e il bottone salva non restituisce più nulla...
non va sia nella condizione di successo sia quella di errore...

HTML:
<form class="dettaglio_intervento" name="intervento" id="intervento" method="post">

<table class="w100">
<tr>
	<th class="ta_l va_m w5 th">ID</th>
	<td class="w5 td">
		<?php echo $intervento->getIdInterventi(); ?>
		<input id="idInterventi" type="hidden" name="idInterventi" value="<?php echo $intervento->getIdInterventi(); ?>" class="w80 ta_c" />
	</td>
	
	<th class="ta_l va_m w7 th">Stato</th>
	<td class="w10 td">
		<select id="Stato" name="Stato" disabled="disabled">
			<?php 
				$Stati = Intervento::getStates();
				foreach($Stati as $s) { 
					if($s=="Assegnato"||$s=="Chiuso"||$s=="Appuntamento") continue;
			?>
				<option value="<?php echo $s; ?>" <?php echo $s==$intervento->getStato()?"selected=\"selected\"":""; ?> ><?php echo $s ?></option>
			<?php } ?>
		</select>
       <textarea id="dati_descr" name="Note" placeholder="Empty" class="w95 color-2" rows="12"><?php echo $intervento->getNote(); ?></textarea>
<input type="button" value="salva" id="save"/>
</form>


Codice:
//altro codice..

$("#save").click(function() {
	
	var idInterventi = $("#idInterventi").val();
	var stato = $("#Stato").val();
	var descr = $("#dati_descr").val();

	


$.ajax({
        url: 'save_intervento.php',
        type: "POST",
		data: {idInterventi: idInterventi, stato: Stato, descr: Descrizione }, 
		cache: false,		
        success: function() {
           alert("Grazie per aver salvato i dati");
        },
       error: function(er) {		
                var status = er.status;
                var text = er.statusText;			
                var message = status + ': ' + text + '\nError: ' + objToString(er);
                alert(message);		
            }
    });
}); //fine #save

save_intervento.php
if(isset(
$_REQUEST['idInterventi'],
$_REQUEST['Stato'],
$_REQUEST['DataFineSLA'],
$_REQUEST['TipoIntervento'],
$_REQUEST['Note'],
$_REQUEST['Descrizione'],
$_REQUEST['Task'])
)
{
$param_ststo = sanitize($_REQUEST['Stato']);
$param_id = sanitize($_REQUEST['idInterventi']);
$param_dataSLA = sanitize($_REQUEST['DataFineSLA']);
$param_id = sanitize($_REQUEST['TipoIntervento']);
$param_note = sanitize($_REQUEST['Note']);
$param_desc = sanitize($_REQUEST['Descrizione']);
$param_task = sanitize($_REQUEST['Task']);
}
else {
sendError(HTTP_ERROR_412,'Non sono stati inviati tutti i parametri richiesti');
}

//collegamenti db ecc..

Cosa sbaglio?
 

criric

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
21 Ago 2010
5.607
54
48
TN
questa riga è sbagliata
Codice:
data: {idInterventi: idInterventi, stato: Stato, descr: Descrizione },
modificala
Codice:
data: {idInterventi: idInterventi, Stato: stato, Descrizione: descr },
 

Fabio90

Utente Attivo
29 Feb 2012
507
0
16
Grazie criric!
adesso funziona però mi restituisce ancora un errore. Se non lo interpreto male non riceve tutti i campi che però mi sembrano essere settati tutti correttamente..
Riposto tutto il codice

HTML:
<form class="dettaglio_intervento" name="intervento" id="intervento" method="post">

<table class="w100">
<tr>
	<th class="ta_l va_m w5 th">ID</th>
	<td class="w5 td">
		<?php echo $intervento->getIdInterventi(); ?>
		<input id="idInterventi" type="hidden" name="idInterventi" value="<?php echo $intervento->getIdInterventi(); ?>" class="w80 ta_c" />
	</td>
	
	<th class="ta_l va_m w7 th">Stato</th>
	<td class="w10 td">
		<select id="Stato" name="Stato" disabled="disabled">
			<?php 
				$Stati = Intervento::getStates();
				foreach($Stati as $s) { 
					if($s=="Assegnato"||$s=="Chiuso"||$s=="Appuntamento") continue;
			?>
				<option value="<?php echo $s; ?>" <?php echo $s==$intervento->getStato()?"selected=\"selected\"":""; ?> ><?php echo $s ?></option>
			<?php } ?>
		</select>
	</td>
	
	<th class="ta_l va_m w8 th">Priorit&agrave;</th>
	<td class="w5 td">
		<img src="<?php echo $folder_images; ?>priorita-<?php echo $intervento->getPriorita(); ?>_20px.png" alt="<?php echo $intervento->getPriorita(); ?>" />
		<input type="hidden" name="priorita" value="<?php echo $intervento->getPriorita(); ?>" class="w80 ta_c" />
	</td>

	<th class="ta_l va_m w13 th">Data fine SLA</th>
	<td class="w10 td">
		<input id="DataFineSLA" type="date" name="DataFineSLA" value="<?php echo printData($intervento->getDataFineSLA()); ?>" class="w80 ta_c" disabled="disabled" />
	</td>
	
	<th class="ta_l va_m w5 th">Tipo</th>
	<td class="w10 td"><select id="TipoIntervento" name="TipoIntervento" disabled="disabled">
			<option value="<?php echo $intervento->getTipoIntervento(); ?>" selected="selected">Classe <?php echo $intervento->getTipoIntervento(); ?></option>
			
		</select></td>
	
	<th class="ta_l th-2">Note</th>
</tr>
<tr>
	<th colspan="10" class="ta_l th-2">Descrizione</th>
	<td rowspan="4" class="va_t w30 td-2"><textarea id="dati_descr" name="Note" placeholder="Empty" class="w95 color-2" rows="12"><?php echo $intervento->getNote(); ?></textarea></td>
</tr>
<tr>
	<td colspan="10" class="va_t w100 pr_5 pl_5 td-2"><textarea name="Descrizione" placeholder="Empty" class="w100 color-2" rows="4" disabled="disabled"><?php echo $intervento->getDescrizione(); ?></textarea></td>
</tr>
<tr>
	<th colspan="10" class="ta_l th-2">Task</th>
</tr>
<tr>
	<td colspan="10" class="va_t w100 pr_5 pl_5 td-2"><textarea id="Task" name="Task" placeholder="Empty" class="w100 color-2" rows="4" disabled="disabled"><?php echo $intervento->getTask(); ?></textarea></td>
</tr>
</table>
<input type="button" value="salva" id="save"/>
</form>

HTML:
$("#save").click(function() {
	
	var idInterventi = $("#idInterventi").val();
	var stato = $("#Stato").val();
	var data = $("#DataFineSLA").val();
	var tipo = $("#TipoIntervento").val();
	var note = $("#Note").val();
	var descr = $("#dati_descr").val();
	var task = $("#Task").val();

	


$.ajax({
        url: 'save_intervento.php',
        type: "POST",
	    data: {
			   idInterventi: idInterventi, 
		       Stato: stato, 
			   DataFineSLA: data, 
			   TipoIntervento: tipo, 
			   Note:note,  
			   Descrizione: descr, 
			   Task: task, 
			   }, 
		cache: false,		
        success: function() {
           alert("Grazie per aver salvato i dati");
        },
       error: function(er) {		
                var status = er.status;
                var text = er.statusText;			
                var message = status + ': ' + text + '\nError: ' + objToString(er);
                alert(message);		
            }
    });
}); //fine #save
save_intervento.php

PHP:
if(isset(
			$_REQUEST['idInterventi'],
			$_REQUEST['Stato'],
			$_REQUEST['DataFineSLA'],
			$_REQUEST['TipoIntervento'],
			$_REQUEST['Note'],
			$_REQUEST['Descrizione'],
			$_REQUEST['Task'])
		) 
	{
		$param_id = sanitize($_REQUEST['idInterventi']); 
		$param_ststo = sanitize($_REQUEST['Stato']); 		
		$param_dataSLA = sanitize($_REQUEST['DataFineSLA']);   
		$param_id = sanitize($_REQUEST['TipoIntervento']);   
		$param_note = sanitize($_REQUEST['Note']);   
		$param_desc = sanitize($_REQUEST['Descrizione']);   
		$param_task = sanitize($_REQUEST['Task']);   
	}
		else {
		sendError(HTTP_ERROR_412,'Non sono stati inviati tutti i parametri richiesti');
	}
	
	$result = GestioneInterventi::setDatiBase($mysqli,$param_ststo, $param_dataSLA, $param_id, $param_note, $param_desc, $param_task);

Grazie della pazienza e cortesia
 

criric

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
21 Ago 2010
5.607
54
48
TN
meglio se posti anche l'errore
 

criric

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
21 Ago 2010
5.607
54
48
TN
puoi comunque utilizzare la funzione serialize() che recupera tutti i campi del form indicato
Codice:
$("#save").click(function() {        
        $.ajax({
            url: 'save_intervento.php',
            type: "POST",
            data: $("#intervento").serialize(), 
            cache: false,		
            success: function() {
                alert("Grazie per aver salvato i dati");
            },
            error: function(er) {		
                var status = er.status;
                var text = er.statusText;			
                var message = status + ': ' + text + '\nError: ' + objToString(er);
                alert(message);		
            }
        });
    });
 

Fabio90

Utente Attivo
29 Feb 2012
507
0
16
A wao!! molto comoda direi non la conoscevo :)

adesso che ho modificato con la tua porzione di codice mi stampa l'alert col messaggio di successo "grazie per aver salvato i dati" però in realtà non salva niente..

Adesso presumo che sia solo un problema della pagina php.. Tu che dici?
 

criric

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
21 Ago 2010
5.607
54
48
TN
potrebbe andare in errore la query per qualche motivo, ti conviene stamparla con gli eventuali errori SQL
 

Fabio90

Utente Attivo
29 Feb 2012
507
0
16
Ho provato a fare così il debug:
stampare la varibiale php $result però stampa esattamente quello che ho scritto..
HTML:
$("#save").click(function() {        
        $.ajax({
            url: 'save_intervento.php',
            type: "POST",
            data: $("#intervento").serialize(), 
            cache: false,		
            success: function() {
                alert ("<? echo $result ?> ");
                alert("Grazie per aver salvato i dati");
            },
            error: function(er) {		
                var status = er.status;
                var text = er.statusText;			
                var message = status + ': ' + text + '\nError: ' + objToString(er);
                alert(message);		
            }
        });
    });
 

Fabio90

Utente Attivo
29 Feb 2012
507
0
16
ok ok ho risolto però la variabile $result è vuota
eppure la pagina la legge xk se cambio nome mi dice 404 not found

HTML:
$("#save").click(function() {        
        $.ajax({
            url: 'save_intervento.php',
            type: "POST",
            data: $("#intervento").serialize(), 
            cache: false,		
            success: function() {
                var myVar = "<?php echo ($result); ?>";
		alert (myVar);
                alert("Grazie per aver salvato i dati");
            },
            error: function(er) {		
                var status = er.status;
                var text = er.statusText;			
                var message = status + ': ' + text + '\nError: ' + objToString(er);
                alert(message);		
            }
        });
    });
 

criric

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
21 Ago 2010
5.607
54
48
TN
Mi ero perso questa discussione, hai risolto?, se no devi mettere gli echo nella pagina save_intervento.php non nel codice javascript
 
Discussioni simili
Autore Titolo Forum Risposte Data
T [risolto]Inserire in una variabile del codice HTML e poi cercare in quella variabile con getelements Javascript 8
L [RISOLTO]inserire funzione in un oggetto (HTML5+canvas) Javascript 2
L (risolto) MySQL 0
B getElementById su piu id(Risolto) Javascript 7
L Esercitarsi con Js [RISOLTO] Javascript 4
C [RISOLTO]Inserimento variabile php in input html PHP 20
L risolto visualizzazione e ordinamento dati PHP 1
moustache [RISOLTO] SQL PHP IIS PHP 8
Sergio Unia Ricezione email con destinatari multipli [Risolto] PHP 2
L update tabelle in php mysql [risolto] PHP 6
M Semplice visualizzatore di immagini [risolto con plugin wp] PHP 7
L [RISOLTO] Stampa a video risultato count in html PHP 13
L [RISOLTO] Eliminare una discussione creata PHP 3
tomorc [HTML] Problema con scroll bar (risolto) HTML e CSS 0
A [PHP] Problema query insert [RISOLTO] PHP 14
B [PHP] recuperare IP dei server in load balancing [RISOLTO] PHP 3
K [RISOLTO] Problema Griglia Php+Mysql PHP 13
S [RISOLTO] aggiorna tabella da select option asp classic Classic ASP 7
elpirata [RISOLTO][Javascript] Datapicker e autocompletamento campo input Javascript 2
elpirata [RISOLTO][Mysql] Problema insert valori apostrofati MySQL 1
elpirata [RISOLTO][Mysql] Contare le occorrenze in un campo tipo varchar MySQL 2
G [MS Access] Gestione biglietti [RISOLTO] MS Access 2
G [MS Access] Casella combinata & Query [RISOLTO] MS Access 4
G [MS Access] Query mese corrente con conteggio [RISOLTO] MS Access 2
M [RISOLTO]Windows media player non mi funziona più su win 10 pro 64 bit Windows e Software 2
C [RISOLTO][PHP] Errore di sintassi PHP 8
IT9-Gpp [RISOLTO] Leggere variabile restituita da success Ajax 3
Kolop [RISOLTO][PHP] Problema Pagination PHP 2
C [RISOLTO][PHP] Funzione ONclick PHP 14
C [RISOLTO][PHP] Conteggio righe di una tabella PHP 4
N [PHP] Utilizzo variabili di sessione [Risolto] PHP 13
Tommy03 [RISOLTO][PHP] Webserver o devserver? PHP 2
Sergio Unia Recupero dati da una vecchia versione MySql [Risolto] MySQL 4
spider81man [PHP] Problemi cancellazione dato su DB [RISOLTO] PHP 1
A [RISOLTO]Inserimento Immagini da pc a MySql PHP 15
A [PHP] RISOLTO Invio Mail con Tabella PHP 2
felino Risolto - [Wordpress][WooCommerce] PayPal Checkout e campi di fatturazione WordPress 2
elpirata [PHP][RISOLTO] Sommare gli importi estratti da un ciclo while PHP 3
elpirata [PHP][RISOLTO] Effettuare la somma dei tempi di lavorazione PHP 3
elpirata [PHP] [RISOLTO]Sovrascrivere testo in una tabella PHP 2
A [RISOLTO]Recuperare dati inviati con json tramite php PHP 4
C [RISOLTO][PHP] Passaggio variabili senza refresh di pagina PHP 7
elpirata [PHP][RISOLTO] Errore di tipo Notice: Undefined index - Come risolvere quando si hanno tante var PHP 10
S Problema in PHP per invio file XML - RISOLTO- PHP 8
A [Javascript] [RISOLTO] Doppio "submit", in uno stesso "Form" , che puntino ad "action" diversi Javascript 1
marino51 [Risolto]videochat di messenger ha smesso di funzionare sul telefonino Smartphone e tablet 1
A [Javascript] [HTML] RISOLTO...Allungare un box all'apertura della pagina No Mouse over Javascript 9
ken_korn [Javascript][Risolto] browser.tab.Tabs.favIconUrl non funziona Javascript 5
A [RISOLTO] HighChart e PHP PHP 4
A [RISOLTO] PHP Selezionare tutti i file con stessa estensione PHP 2

Discussioni simili