[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.042
148
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.042
148
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.042
148
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.042
148
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.042
148
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
G Invio form con PHP PHP 1
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 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
F Il codice php è giusto? PHP 2
R Aggiornare record mysql con Ajax, jQuery e php Ajax 2
A invio massivo dati a file php Javascript 4
Z MySql injection PHP PHP 1
V PHP form intersecate PHP 0
I [Offro][Retribuito] Programmatore Php Offerte e Richieste di Lavoro e/o Collaborazione 0
P Funzione jQuery Ajax invio file a php jQuery 1
C Dopo chiusura del tag php la stringa html va a capo PHP 1
E Transaction php PHP 11
B ciclare file xml con PHP PHP 1
L Estrazione dati php Database 6
A Aiuto per pagina php PHP 0
E Php select option e ajax PHP 23
I Aiuto php Dependent Lookup PHP 0
T arretramento versione PHP... PHP 3
D problema php mysql PHP 1
D problema php mysql PHP 1
E Barra di avanzamento codice PHP PHP 4
G creazione menu a tendina e invio a pagina php PHP 1

Discussioni simili