redirect a altra pagina php dopo commit su postgresql con PDO

  • Creatore Discussione Creatore Discussione Fredyss
  • Data di inizio Data di inizio

Fredyss

Nuovo Utente
6 Ott 2017
2
0
1
42
ciao a tutti,
premetto che ho iniziato da poco a programmare e sono principlamente un autodidatta.
sostanzialmente ho un problema con la pagina che fa la commit dei dati su db postgresql.
quello che vorrei è che alla fine della commit (che va a buon fine, ho verificato), la pagina mi rindirizzi automaticamente ad una nuova pagina.
ho provato ad inserire la header in vari punti dove mi sembrava logico andasse, ma continua a dare errore, ne senso che: fa la commit su db ma non mi rimanda alla pagina finale.
sicuramente sto sbagliando qualcosa, ma non ho l'eperienza per capire dove.
qualche consiglio?

di seguito il codice incriminato

<?php
// read the .ini file and create an associative array
$db_param = parse_ini_file("config-file.ini");

$user = $db_param['user'];
$pwd = $db_param['pwd'];
$db = $db_param['db'];
$host = $db_param['host'];
$port = $db_param['port'];


$dsn = "pgsql:host=$host;port=$port;dbname=$db;user=$ user ;password=$pwd";


try{
// create a PostgreSQL database connection
$conn = new PDO($dsn);

// display a message if connected to the PostgreSQL successfully
/*if($conn){ --DEBUG
echo "Connected to the <strong>$db</strong> database successfully!";
}*/

// Stampa i valori dalla POST --DEBUG
/*echo 'data_scheda: ' . $_POST['dat_scd'];
echo "<br />\n";
echo 'id_user: ' . $_POST['id_user'];
echo "<br />\n";*/

// inizio transazione
$conn->beginTransaction();

//*********************** INSERIMENTO scheda ********************************

// crea query
$query_lettura = "INSERT INTO letture (fk_matricola, fk_letturista, rit_stato_cod, rit_data_let, rit_lettura, rit_note, rit_gps_y, rit_gps_x) VALUES ('{$_POST['fk_matricola']}', '{$_POST['operatore']}', '{$_POST['id_stato']}', '{$_POST['rit_data_let']}', '{$_POST['rit_lettura']}', '{$_POST['rit_note']}', '{$_POST['latitude']}', '{$_POST['longitude']}')";
//echo "query_lettura : $query_lettura";
//echo "<br />\n";
//inserisce utente in tabella
if($conn->exec($query_lettura)) {
$id_let = $conn->lastInsertId('letture_id_let_seq');
//echo 'id_let: ' . $id_let;
//echo "<br />\n";

}

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

// commit finale
$conn->commit();
$conn = null;
}

catch (PDOException $e){
// report error message
echo $e->getMessage();
exit;
}


header("location: inserimento_riuscito.php");

?>
 
qualche consiglio?
si certo, impara a leggere il log degli errori di php,
aiuti te stesso a capire immediatamente dove sono gli errori e se non sei in grado di risolverli,
aiuti noi a capire dove può annidarsi l'errore

visto che hai verificato il funzionamento fino alla penultima riga dello script, potrei dirti che
1. è sbagliato il nome dello script richiamato,
2. e sbagliato il percorso dove lo script si trova
3. c'è un errore nello script richiamato che ne impedisce l'esecuzione
4. qualche altra ragione ....

per certezza, metti le istruzioni seguenti, all'inizio degli script in modo da essere sicuro di registrare nel log tutti gli errori,
PHP:
ini_set('error_reporting', E_ALL | E_STRICT);
ini_set('display_errors', FALSE);
ini_set('log_errors', TRUE);
 

Discussioni simili