script che funziona in remoto e non in locale!!

Ciao

Stavo provando un mio vecchio lavoro (creazione e stampa di fatture + archiviazione delle stesse)

Mi sono accorto ora che c' un problema che prima in locale non si verificava e non si verifica nemmeno adesso online (sui server di altervista) dove ce l'ho caricato...e sto parlando dello stesso identico script (ho modificato solo i dati di connessione ovviamente)!!!!.

La parte incriminata questa:

function conferma($id2,$not,$aspetto) {
$righe = $_SESSION[righe];

if(($id2 != 0)&&($righe!=0)){
global $numero, $tot_fatt;

$oggi= mktime(0,0,0,date("m"),date("d"),date("Y"));

$sql3 = mysql_query("INSERT INTO fatture (numero_fatt, id_cliente, totale, data, annotazioni, aspetto, giorno)
VALUES ('$numero', '$id2', '$tot_fatt', '$oggi', '$not', '$aspetto', NOW());");

$id_fatt=mysql_insert_id();
echo $id_fatt."num fatt";
$_SESSION[id_fatt] = $id_fatt;
$sql4 = mysql_query("SELECT * FROM carrello");

while( $row2 = mysql_fetch_array($sql4) )
{
$codi = $row2['codice'];
$desc = $row2['descrizione'];
$qua = $row2['quantita'];
$prezzou = $row2['prezzo_un'];
$iv = $row2['iva'];


$sql5 = mysql_query("INSERT INTO prodotti_acquistati (codice, descrizione, quantita, prezzo_un, iva, id_fattura)
VALUES ('$codi', '$desc', '$qua', '$prezzou', '$iv', '$id_fatt');");
 }
delete_all();
}
else {
echo "<b><font color=\"#FF0000\">ATTENZIONE. Conferma non riuscita: intestazione fattura non inserita
o nessun articolo presente</font></b>";}
}

Questa funzione richiamata dal tasto "Conferma" presente nella pagina che visualizza la fattura per intero.

Gli articoli inseriti di volta in volta dall'utente in fattura vengono prima caricati in una tabella del db momentaneamente e poi una volta che ha finito cliccando sul tasto conferma la funzione (di cui sopra) crea in un'altra tabella i dati principali della fattura (con i dati dell'utente)

viene reso disponibili l'id di quest'ultima operazione con il comando:

$id_fatt=mysql_insert_id(); //mi sa che questo il responsabile :tichedoff:

che poi viene caricato con il resto dei dati dei prodotti (nel ciclo while) in un'altra tabella in modo tale che ogni prodotto possa essere associato alla sua fattura di appartenenza .

Il problema che questo in locale non avviene. L'id fattura sempre zero (anche se qualche tempo fa ne avevo caricate nello stesso modo ben 17 con 17 id differenti e tutto funzionava anche le operazioni successive che avevano bisogno di queto ID).

Ho messo anche un echo (echo $id_fatt."num fatt";) nel punto critico che infatti mi restituisce zero.

Non ho capito il motivo e soprattutto perch online la funzione FUNZIONA!.

Potete aiutarmi?

Grazie

inviato 6 anni fa
frankphp
X 0 X

risolto!!

Accidenti a me!!

Mancava un campo nel db..avevo caricato un sql vecchio che non aveva una modifica che avevo fatto successivamente.

Ciao

risposto 6 anni fa
frankphp
X 0 X
Effettua l'accesso o registrati per rispondere a questa domanda