Problema con update

Nefyt

Utente Attivo
17 Apr 2012
1.102
0
0
A posto dell'email ci posso mettere l'id o lo usernsname ??? Quale mmi conviene adoperare ????

Ri-perdonami,

per il recupero tu intendi così giusto:

PHP:
$email = mysql_real_escape_string(strtolower(trim ($_POST['email'])));

Le variabili vengono già esportate da $_POST sicure, inoltre non mettere una credenziale dell'utente nel form, ma usa eventualmente una sessione
 

paperinik4

Utente Attivo
29 Mag 2011
1.811
0
36
Roma
www.ricetteagogo.it
Ciao

Ciao,

Considera che questo era un sempplice form per capire dove sbagliavo ma continua a non volerne sapere, inoltre mi da un triangolino giallo sull'if non so il perchè....
 

Mr. PHP

Utente Attivo
31 Gen 2013
141
0
0
Scusa forse sbaglio ma ho visto un po il codice e usi un metoto Post nel form, invece nel file aggiornaprofilo.php usi il metodo GET e per questo che non va. Prova ad usare il metodo Post nel file aggiornaprofilo.php.
 

Nefyt

Utente Attivo
17 Apr 2012
1.102
0
0
Ciao,

Considera che questo era un sempplice form per capire dove sbagliavo ma continua a non volerne sapere, inoltre mi da un triangolino giallo sull'if non so il perchè....

Serve una variabile di autenticazione, ad esempio una sessione dove memorizzi l'id dell'utente, come esegui il controllo se è loggato scusa?

Se provi manualmente dovrebbe andare infatti
PHP:
$qry = "UPDATE utenti SET 
    datadinascita='$datadinascita', 
    citta='$citta', 
    provincia='$provincia' 
    WHERE email = '[email protected]'";

Ovviamente togliendolo anche dall'isset
PHP:
if(isset($datadinascita,$citta,$provincia))
 

paperinik4

Utente Attivo
29 Mag 2011
1.811
0
36
Roma
www.ricetteagogo.it
Ciao

Serve una variabile di autenticazione, ad esempio una sessione dove memorizzi l'id dell'utente, come esegui il controllo se è loggato scusa?

Se provi manualmente dovrebbe andare infatti
PHP:
$qry = "UPDATE utenti SET 
    datadinascita='$datadinascita', 
    citta='$citta', 
    provincia='$provincia' 
    WHERE email = '[email protected]'";

Ovviamente togliendolo anche dall'isset
PHP:
if(isset($datadinascita,$citta,$provincia))

Dunque il controllo del ogin c'è sull'intero listato che ti avevo mandato nelle pagine precedenti, ora quesato era un form di sola prova per vedere dove sbagliavo e se faceva il suo update. Che intendi per manualmente via phpmyadmin nella finestra sql ????
 

Nefyt

Utente Attivo
17 Apr 2012
1.102
0
0
Dunque il controllo del ogin c'è sull'intero listato che ti avevo mandato nelle pagine precedenti, ora quesato era un form di sola prova per vedere dove sbagliavo e se faceva il suo update. Che intendi per manualmente via phpmyadmin nella finestra sql ????

Intendo come mostrato sopra mettere la mail relativa all'account manualmente per verificare che va
 

paperinik4

Utente Attivo
29 Mag 2011
1.811
0
36
Roma
www.ricetteagogo.it
Ciao

Ho provato anche come dici t ema non va ugualmente :( Mi spiace

Abbiamo partorito yuppiiiiiiiiiiiiiiiiiiiiiiiiiii l'ha fatto:

PHP:
if(isset($datadinascita,$citta,$provincia)){

if(preg_match('/^[0-9]{2}\/[0-9]{2}\/[0-9]{4}$/',$datadinascita)){ 
    $data = explode('/',$datadinascita); 
    if(checkdate($data[1],$data[0],$data[2])) $datadinascita = $data[1].'/'.$data[0].'/'.$data[2] ; 
    else die('Errore, data invalida');
} //else die('Errore formato invalido');

echo "<h1> Esecuzione in corso dell'aggiornameto profilo... </h1>"; 


if($datadinascita!='error')
$qry = "UPDATE utenti SET 
    datadinascita='$datadinascita', 
    citta='$citta', 
    provincia='$provincia' 
    WHERE email = '[email protected]'";

Ora lo debbo applicare a quello con la session sei sempre disponibile a darmi una mano ?????

P.S.: Come presumevo la data di nascita se scritta erroneamente non la prende. Quindi deve essere scritta in formato americano e poi trasformata con un format in formato italiano gg/mm/aaaa
 
Ultima modifica:

Nefyt

Utente Attivo
17 Apr 2012
1.102
0
0
P.S.: Come presumevo la data di nascita se scritta erroneamente non la prende. Quindi deve essere scritta in formato americano e poi trasformata con un format in formato italiano gg/mm/aaaa
Beh dato che la data tipica americana è mm/gg/aaaa ti è sufficiente invertirla come ti ho fatto vedere
 

paperinik4

Utente Attivo
29 Mag 2011
1.811
0
36
Roma
www.ricetteagogo.it
Ciao

La cosa bella è la seguente, con i text box eravamo riusciti a partorire ed a ottenere l'update bene o male di due campi su tre, Invece con la selezione <select> <option>. Niente da fare. Nessun aggiornamento del campo. Ma c'è una tecnica diversa ???? QUando metti la lista di selezione ???? Questo è il codice:

aggiornaprofilo.php:

PHP:
<?php
require_once("connetti.php"); 

echo '<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">'; 

$email = mysql_real_escape_string(strtolower(trim ($_POST['email']))); 

foreach($_POST as $key => $value) $_POST[$key] = mysql_real_escape_string(strtolower(trim ($value)));

extract($_POST,EXTR_SKIP);


//$email NON VIENE RECUPERATA DA NESSUNA PARTE, RIVEDILA

if(isset($datadinascita,$citta,$provincia)){

if(preg_match('/^[0-9]{2}\/[0-9]{2}\/[0-9]{4}$/',$datadinascita)){ 
    $data = explode('/',$datadinascita); 
    if(checkdate($data[1],$data[0],$data[2])) $datadinascita = $data[1].'/'.$data[0].'/'.$data[2] ; 
    else die('Errore, data invalida');
} //else die('Errore formato invalido');

echo "<h1> Esecuzione in corso dell'aggiornameto profilo... </h1>"; 


if($datadinascita!='error')
$qry = "UPDATE utenti SET 
    datadinascita='$datadinascita', 
    citta='$citta', 
    provincia='$provincia' 
    WHERE email = '[email protected]'";  


if (mysql_query($qry)){ 
    echo "... Aggiornamento effettuato correttamente...."; 
     
} else die('Errore formato invalido');{ 
    echo "Errore: Non è stato possibile effettuare l'aggiornamento richiesto";         //or die (mysql_error()); 
} 

}

?>

E questo è con la select index.php (diverso da quello di prima):

PHP:
<?php
require_once("connetti.php");

echo '<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">';

?>
<form action= 'aggiornaprofilo.php' method="POST">

<?php

echo '<p align="left">';

echo "Data di Nascita Giorno: ";


//giorno

echo "<select name=\"giorno\">";
echo "<option value=\"\"> seleziona </option>";
for($gg=1; $gg<=31; $gg++){
 if(strlen($gg)< 2){$gg = "0".$gg;}  
 echo "<option value=\"$gg\"> $gg </option>";
}
echo "</select>";


echo '<align="left">';


require_once("arraylistecitta.php");

echo "Mese: ";
echo "<select name=\"mese\">";
foreach($mese as $chiave => $valore){
    echo "<option value=\"$chiave\">$valore";
echo "</option> ";
}
 echo "</select>";

 echo " Anno: ";
 
//anno
$da=1960;
$al=2014;
echo "<select name=\"anno\">";
echo "<option value=\"\"> seleziona </option>";
for($aa=$da; $aa<=$al; $aa++){
    echo "<option value=\"$aa\"> $aa </option>";
}
echo "</select>";
 
echo '<align="left">';

echo "<br>";
echo '<p align="left">';

echo "Città: ";

echo "<select name=\"citta\">";
foreach($citta as $chiave => $valore){
    echo "<option value=\"$chiave\">$valore";
echo "</option> ";
}
 echo "</select>";
 
echo '<align="left">';

echo "Provincia: ";


echo "<select name=\"province\">";
foreach($province as $chiave => $valore){
    echo "<option value=\"$chiave\">$valore";
echo "</option> ";
}
 echo "</select>";
 

    echo "<center> <br><br>";
                    echo '<input type="submit"  value="Aggiorna Profilo" />';
?>
    
        <input type="button" onClick="window.location.href='logout.php';" style='padding:10px' value="Logout" />
    </center> </form>
 

Nefyt

Utente Attivo
17 Apr 2012
1.102
0
0
Beh in questo caso la data di nascita è data da 3 campi che poi unisci, quindi ti basta fare un checkdate e metterlo direttamente nel formato americano
 

paperinik4

Utente Attivo
29 Mag 2011
1.811
0
36
Roma
www.ricetteagogo.it
Ciao

Beh in questo caso la data di nascita è data da 3 campi che poi unisci, quindi ti basta fare un checkdate e metterlo direttamente nel formato americano

In parole molto semplice ma in pratica ??? Sono quasi al digiuno (total direi anche se mi avete aiutato molto elo riconosco e ho imparato parecchio anche se non si vede), ma purtroppo con i diuretici e tutte le altre medicine che prendo mi si chiude il cervello completamente...
 

Nefyt

Utente Attivo
17 Apr 2012
1.102
0
0
Controlli cosi

PHP:
$datadinascita = false;
if(checkdate($mese,$giorno,$anno)) $datadinascita = $mese.'/'.$giorno.'/'.$anno;

E aggiungi all'isset
PHP:
if(isset($citta,$provincia,$giorno,$mese,$anno))


E magari prima di eseguire la query
PHP:
if($datadinascita!=false){ //esegui la query.....
 

paperinik4

Utente Attivo
29 Mag 2011
1.811
0
36
Roma
www.ricetteagogo.it
Ciao

Ma mi sai dire perchè non mi fa l'aggiornamento imettendo i campi select e usando lo stesso codice che avevo usato prima per i campi text ??? Mi fa rodere non capisco dove cavolo sbaglio.
 

Nefyt

Utente Attivo
17 Apr 2012
1.102
0
0
Ma mi sai dire perchè non mi fa l'aggiornamento imettendo i campi select e usando lo stesso codice che avevo usato prima per i campi text ??? Mi fa rodere non capisco dove cavolo sbaglio.
Te l'ho spiegato sopra, la data di nascita è suddivisa in 3 campi invece di uno e li devi unire correttamente
 
Discussioni simili
Autore Titolo Forum Risposte Data
C Problema con update di un file PHP 6
K Problema con update di un database in un ciclo Classic ASP 1
C Problema con Update di una tabella di un db PHP 3
A Problema con UPDATE table SET username = $_SESSION["username"] PHP 22
blips Problema con Update multiplo PHP 1
P problema con l'update della data PHP 30
R Problema con UPDATE su DB mysql MySQL 1
G problema con insert e update PHP 2
jan267 Problema con UPDATE Classic ASP 3
O problema con dvr dahua xvr5116 IP Cam e Videosorveglianza 0
G Problema con Xampp Web Server 1
andrea barletta Problema con miniature comandi Photoshop 0
I problema con alice Posta Elettronica 0
N Problema con position absolute e overflow HTML e CSS 4
L Problema con inner join PHP 11
K [php] Problema con inner join PHP 4
K [PHP] Problema con variabili concatenate. PHP 1
O problema con query PHP 4
I problema con 2 account Posta Elettronica 1
L problema collegamento file css con html HTML e CSS 1
E Problema accesso a file con app sviluppata con MIT APP INVENTOR 2 Sviluppo app per Android 0
M Problema con Try Catch PHP 0
Sergio Unia Problema con gli eventi del mouse su una data table: Javascript 2
T PROBLEMA CON SESSIONI PHP 3
T ALTRO PROBLEMA CON ARRAY PHP PHP 1
R problema con else PHP 0
T PROBLEMA CON ARRAY PHP 8
L problema con query select PHP 2
R Problema query con ricerca id numerico PHP 2
F Problema con risposta PHP 0
S problema con recupero dati tabella mysql PHP 2
Z Problema con il mio tp-l i nk Reti LAN e Wireless 1
L Problema RAM con Tomcat 8 Apache 0
napuleone problema con sort e asort PHP 4
Z Problema con INT MySQL PHP 1
Z Problema database MySQL con XAMPP PHP 0
M Problema con controllo form in real time jQuery 6
Z Problema di sincronizzazione PAYPAL con PHP PHP 1
G Problema con Get page PHP 4
P Problema con require once PHP 6
P Problema con i package Java 1
A Problema login con Safari PHP 14
F INDESIGN: problema esportazione esecutivo per la stampa con foto B/N Webdesign e Grafica 0
S problema con css bootstrap3 HTML e CSS 4
M .load() problema con caricamenti dinamici di js Javascript 0
G Problema con eccessiva nitidezza apertura Camera Raw Photoshop 0
G Problema ------- con Query PHP 1
G Problema con Query PHP 1
T problema con select dinamica con jquery Javascript 0
S Problema con spazi bianchi HTML e CSS 5

Discussioni simili