[PHP] Update in search.

cris8380

Moderatore
Membro dello Staff
MOD
3 Giu 2016
261
14
18
38
Salve amici del forum posso sapere dove sbaglio per favore mi da errore all'aggiornamento dei dati


$strSearch = $_POST["search_term"];
$objConnect = mysql_connect("localhost","","") or die("Error Connect to Database");
$objDB = mysql_select_db("");
$strSQL = "SELECT * FROM Profilo WHERE Tessera = $strSearch";
$objQuery = mysql_query($strSQL) or die ("Error Query [".$strSQL."]");
$Num_Rows = mysql_num_rows($objQuery);
$objQuery = mysql_query($strSQL);

?>
//QUI INVECE AGGIORNO

<?php


$query = "UPDATE Profilo SET Tessera='{$_POST['Tessera']}', Nome='{$_POST['Nome']}', Cognome='{$_POST['Cognome']}', Codice_fiscale='{$_POST['Codice_fiscale']}', Data_di_nascita='{$_POST['Data_di_nascita']}',Comune='{$_POST['Comune']}', Indirizzo='{$_POST['Indirizzo']}' ";

if (mysql_query ($query, $connessione))
echo ("Modifica dei dati avvenuta correttamente!");
 
Ultima modifica:

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.043
150
63
PR
www.borgo-italia.it
ciao
scusa il ritardo, ma ho visto il post solo oggi.
comunque hai risolto?
se non hai risolto intanto posta l'errore che ti da poi un paio di cose
da dove salta fuori quella variabile $connessione nella query di update?
devi aggiornare un particolare record o tutti? se solo uno manca il WHERE per dirgli quale
ultimo passa alle nuove istruziono php mysqli, le vecchie mysql sono deprecate
 

cris8380

Moderatore
Membro dello Staff
MOD
3 Giu 2016
261
14
18
38
Grazie per la tua risposta, tranquillo, rispetto le regole del forum,
ho creato un altro script chè il seguente ma neanche questo funziona te lo posto
l'altro script di cui sopra non prenderlo piu in considerazione:

PHP:
<?php
 if(isset($_POST['update'])) {
 $dbhost = 'localhost';
 $dbuser = 'mia user';
 $dbpass = 'mia password';
 
 $conn = mysql_connect($dbhost, $dbuser, $dbpass);
 
 if(! $conn ) {
 die('Could not connect: ' . mysql_error());
 }
 
 $Tessera = $_POST['Tessera']; 
 $Codice_agenzia = $_POST['Codice_agenzia']; 
 $Agenzia = $_POST['Agenzia'];
 $Cognome = $_POST['Cognome'];
 $Nome = $_POST['Nome']; 
 $Cap = $_POST['Cap'];
 $Codice_fiscale = $_POST['Codice_fiscale'];
 $Codice_cliente = $_POST['Codice_cliente'];
 $Indirizzo = $_POST['Indirizzo']; 
 $Sesso = $_POST['Sesso'];
 $Comune = $_POST['Comune'];
 $Data_di_nascita = $_POST['Data_di_nascita'];
 $Indirizzo_email = $_POST['Indirizzo_email'];
 $Telefono = $_POST['Telefono'];
 $Username = $_POST['Username'];
 $Password = $_POST['Password']; 
 $Comune_di_nascita = $_POST['Comune_di_nascita']; 
 
$sql = "UPDATE Profilo ". "SET Tessera = $Tessera , Codice_agenzia = $Codice_agenzia , Agenzia = $Agenzia , Cognome = $Cognome ,Nome = $Nome , Codice_fiscale = $Codice_fiscale , Codice_cliente = $Codice_cliente , Indirizzo = $Indirizzo , Sesso = $Sesso , Comune = $Comune , Data_di_nascita = $Data_di_nascita , Indirizzo_email = $Indirizzo_email , Telefono = $Telefono , Username = $Username , Password = $Password ". "WHERE Tessera = $Tessera" ;

 mysql_select_db('mio_db');
 $retval = mysql_query( $sql, $conn );
 
 if(! $retval ) {
 die('Could not update data: ' . mysql_error());
 }
 echo "Aggiornamento avvenuto correttamente\n";
 
 mysql_close($conn);
 }else {
 ?>
 

cris8380

Moderatore
Membro dello Staff
MOD
3 Giu 2016
261
14
18
38
ho provato ad aggiungere un'altra parentesi e ora si connette ma alla fine dell'aggiornamento di dice:
COULD NOT UPDATE:
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.043
150
63
PR
www.borgo-italia.it
ciao
prova a fare queste correzioni, leggi i commenti
PHP:
<?php
if(isset($_POST['update'])) {
     $dbhost = 'localhost';
     $dbuser = 'mia user';
     $dbpass = 'mia password';
     $conn = mysql_connect($dbhost, $dbuser, $dbpass) OR die('Could not connect: ' . mysql_error());
     //metti qui la selzione db
     mysql_select_db('mio_db') OR die('non trovato: ' . mysql_error());
    //ti conviene mettere dei controlli sui dati che ti provengono dal form
     $Tessera = $_POST['Tessera'];
     $Codice_agenzia = $_POST['Codice_agenzia'];
    //....non riscrivo tutti i $_POST ...
     $Comune_di_nascita = $_POST['Comune_di_nascita'];
     //gli apici sulle stringhe e a che ti serviva cuel concatenamento?
    //poi sarebbe meglio che il WHERE fosse eseguito sull'id del record
     $sql = "UPDATE Profilo SET Tessera = '$Tessera' , Codice_agenzia = '$Codice_agenzia' , Agenzia = '$Agenzia' , Cognome = '$Cognome' ,Nome = '$Nome' , Codice_fiscale = '$Codice_fiscale' , Codice_cliente = '$Codice_cliente' , Indirizzo = '$Indirizzo' , Sesso = '$Sesso' , Comune = '$Comune' , Data_di_nascita = '$Data_di_nascita' , Indirizzo_email = '$Indirizzo_email' , Telefono = '$Telefono' , Username = '$Username ', Password = '$Password' ". "WHERE Tessera = '$Tessera'" ;
     //qui metti un var_dump per vedere se la querystringa si forma come dovrebbe
    //o se manca qualcosa
     var_dump($sql);//poi lo togli
     $retval = mysql_query( $sql);//togli la $conn non serve
     if(! $retval ) {
         die('Could not update data: ' . mysql_error());
     }
     echo "Aggiornamento avvenuto correttamente\n";
     mysql_close($conn);
}else {//dopo immagino che ci sia il form
?>
 

cris8380

Moderatore
Membro dello Staff
MOD
3 Giu 2016
261
14
18
38
else } l'ho eliminato perche il form si trova in un altro file

ma non ho capito come fare queste manovre cio provato ma forse nn so fare io!!! o_Oo_Oo_Oo_O:(:(:(
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.043
150
63
PR
www.borgo-italia.it
ciao
allora se il var_dump non ti riporta nulla vuol dire che probabilmente nessuna di quelle isturzioni viene eseguita.
da quello che hai detto hai diviso la pagina (metto i nomi a caso)
form.php dove hai il form di inserimento dati che punta alla pagina modifica.php
giusto?
per prima cosa allora togli l'if iniziale
if(isset($_POST['update'])) {
e la sua graffa di chiusura poi poi verificha esattamente che il form punti alla modifica.php (dove ti converra mettere un lik di ritorno al form o dove vuoi tu)
fatto questo verifica sempre conun var_dump che i dati siano inviati es
Codice:
<?php
//le righe da <pre> a </pre> poi le togli
//il <pre> sereve a organizzare meglio la visualizzazione del var_dump
echo "<pre>";
var_dump($_POST);
echo "</pre>";
$dbhost = 'localhost';
$dbuser = 'mia user';
$dbpass = 'mia password';
//ecc... tutto il reso di script
?>
e verifica che i dati vengano trasmessi e che anche tutti i nomi deli input, campi della tabella corrispondano esattamente
 

cris8380

Moderatore
Membro dello Staff
MOD
3 Giu 2016
261
14
18
38
Ciao, ecco cosa mi stampa

array (0) {
}
Aggiornamento avvenuto con successo!
 

cris8380

Moderatore
Membro dello Staff
MOD
3 Giu 2016
261
14
18
38
SI infatti il form è in un altro file
ti posto tutto il codice completo che ho modificato ancora per l'ennesima volta
PHP:
<?php
echo "<pre>";
var_dump($_POST);
echo "</pre>";
$servername = "localhost";
$username = "";
$password = "";
$dbname = "";

// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);
   
    }

 $Tessera = addslashes($_POST['Tessera']); 
 $Codice_agenzia = addslashes($_POST['Codice_agenzia']); 
 $Agenzia = addslashes($_POST['Agenzia']);
 $Cognome = addslashes($_POST['Cognome']);
 $Nome = addslashes($_POST['Nome']); 
 $Cap = addslashes($_POST['Cap']);
 $Codice_fiscale = addslashes($_POST['Codice_fiscale']);
 $Codice_cliente = addslashes($_POST['Codice_cliente']);
 $Indirizzo = addslashes($_POST['Indirizzo']); 
 $Sesso = addslashes($_POST['Sesso']);
 $Comune = addslashes($_POST['Comune']);
 $Data_di_nascita = addslashes($_POST['Data_di_nascita']);
 $Indirizzo_email = addslashes($_POST['Indirizzo_email']);
 $Telefono = addslashes($_POST['Telefono']);
 $Username = addslashes($_POST['Username']);
 $Password = addslashes($_POST['Password']); 
 $Comune_di_nascita = addslashes($_POST['Comune_di_nascita']); 



$sql = "UPDATE Profilo ". "SET  Tessera = '$Tessera' , Codice_agenzia = '$Codice_agenzia' , Agenzia = '$Agenzia' , Cognome = '$Cognome' ,Nome = '$Nome' , Codice_fiscale = '$Codice_fiscale' , Codice_cliente = '$Codice_cliente' , Indirizzo = '$Indirizzo' , Sesso = '$Sesso' , Comune = '$Comune' , Data_di_nascita = '$Data_di_nascita' , Indirizzo_email = '$Indirizzo_email' , Telefono = '$Telefono' , Username = '$Username' , Password = '$Password' ". "WHERE Tessera = '$Tessera' " ;

if ($conn->query($sql) === TRUE) {
    echo "Aggiornamento avvenuto con successo!";
} else {
    echo "Error updating record: " . $conn->error;
}

$conn->close();
?>
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.043
150
63
PR
www.borgo-italia.it
ciao
vista così (ma poi la guardo meglio) non mi sembra di vedere errori, il var_dump del POST ti restituisce qualcosa?
poi un piccolo dubbio vedo che giustamente usi mysqli: hai abilitato mysqli su php.ini?
 

cris8380

Moderatore
Membro dello Staff
MOD
3 Giu 2016
261
14
18
38
no ho ancora mysql

e mi restituisce questo

Ciao, ecco cosa mi stampa

array (0) {
}
Aggiornamento avvenuto con successo!
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.043
150
63
PR
www.borgo-italia.it
ciao
hai un errore di trasmissione dei dati se fosse corretto il var_dump dovrebbe restituirti
esempio
array(18) {//se hai riempito tutti i campi di input o il numero di quanti ne hai riempiti
["Tessera"]=>
string(2) "aa256bbhy"
["Codice_agenzia"]=>
string(2) "cia"
//i nomi e i valori di tutti gli altri input
["invia"]=>//e il nome e valore del submit
string(5) "Invia"
}
verifica l'esatta corrispondenza del/dei nome/i che hai nei vari campi di input e i nomi che hai scritto nei vari $_POST
 
Discussioni simili
Autore Titolo Forum Risposte Data
elpirata Update dinamico informazioni scritte in una pagina php jQuery 11
L update tabelle in php mysql [risolto] PHP 6
M [PHP] Query UPDATE che non mi aggiorna campi seconda tabella PHP 3
P [PHP] INSERT e UPDATE PHP 1
Monital [PHP] query update e select insieme ma frazionando l'arrray PHP 12
D [PHP] Update non trasferisce condizione where PHP 1
L [PHP] Errore UPDATE su tabella DB PHP 22
giancadeejay [PHP] istruzione UPDATE SQL PHP 2
giancadeejay [PHP] UPDATE DATO , SE ESISTE IN DB .. PHP 14
giancadeejay [PHP] Update tabella da file csv PHP 3
webmachine [PHP] SELECT, UPDATE VERIFICARNE IL RISULTATO PHP 2
R Update PHP dalla 5.3.3 alla 5.3.4 PHP 0
N PHP Update immagine di un utente PHP 56
Komix Errore sintassi SQL "UPDATE" in file PHP PHP 10
G [PHP/MySQL] Pagina di UPDATE PHP 2
D [PHP-MySql] Update che non mi funziona PHP 2
F Php e fatturazione elettronica PHP 0
P lanciare script asp (o php) da jquery Javascript 1
Couting95 inserire dati da un file di testo in una tabella in php PHP 1
P Data scraping in PHP non funziona PHP 4
C Calcoli matematici in php PHP 5
F Scrivere dei dati in word con php PHP 0
D PHP leggere cartella di Windows PHP 2
I dominio aruba versione php server linux Domini 3
G Colorare menu select attraverso ricerca php PHP 0
L PHP motore di ricerca nel sito PHP 1
S PHP e Mysqli PHP 0
Y Stampare da php su un foglio A6 attraverso una stampante esterna PHP 1
M Visulizzare immagine con php PHP 8
G [PHP] Creare script di prenotazione con controllo disponibilità. PHP 7
G leggere file txt e stampare con php il contenuto a video PHP 7
F Ricreare struttura php+mysql su Xampp Apache 0
Z PHP.INI - STMP per invio email con PHP Server Dedicati e VPS 0
M Array associativi php su 2 campi mysql PHP 10
G Invio form con PHP PHP 3
T fatture con voci fattura in php PHP 0
T ALTRO PROBLEMA CON ARRAY PHP PHP 1
M Collegamento tra form html e script php PHP 4
M Visualizzazione a video risultati query php PHP 0
M Problemi con la stampa dei valori in php PHP 1
W [Cerco collaborazioni] Sviluppatore Web (PHP) Offerte e Richieste di Lavoro e/o Collaborazione 1
D passare valori da database sql a php PHP 1
L Ricezione dei dati su file php da modulo html PHP 6
E Inviare variabile a PHP da ciclo in JS Javascript 0
A form PHP prenotazione tramite query PHP 2
A Form php prenotazione di un azienda sanitaria locale presso studio medico PHP 1
F menù select dinamico da db in php PHP 3
L Problemi form Pagina php HTML e CSS 3
L php mysql non salva solo id PHP 21
L php mysql cerca e visualizza pagina PHP 0

Discussioni simili