Problema update con data di nascita
Salve ragazzi,
Ho il seguente problema. Avete presente com'è composta la data di nascita che si compila nei vai forum ??? In genere ci sono tre campi con tre menu a discesa. Ebbene, il problema è proprio questo, quando vado ad aggiornare il campo, siccome nel database di mysql è in formato americano quindi yyyy-gg-mm (o mm-gg nonm ricordo), invece nella fase di visualizzazione viene italianizzato ossia gg/mm/aaaa. Ovviamente quando vado ad aggiornare nonmi aggiorna un bel tubo. Posto una parte di codice, non so come risolvere il problema spero ch emi date una mano voi. Il codice è il seguente:
Codice PHP:
//Giorno
echo "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>";
//Mese
echo " Mese: ";
echo "<select name=\"mese\">";
foreach($mese as $valore){
echo "<option value=\"$valore\">$valore";
//echo "<option value=\"$valore\">$valore";
echo "</option> ";
}
echo "</select>";
//Anno
echo " Anno: ";
$da=1972;
$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>" ;
Questo che ho postato, fa vedere solo la parte del menù a tendine a discesa. Invece questo è il file che si occupa di fare l'update di tutti i campi richiesti.
aggironaprofilo.php
Codice PHP:
<?php
require_once("connetti.php");
echo '<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">';
foreach($_POST as $key => $value) $_POST[$key] = mysql_real_escape_string(strtolower(trim ($value)));
extract($_POST,EXTR_SKIP);
//formatta la data di nascita
//$email NON VIENE RECUPERATA DA NESSUNA PARTE, RIVEDILA
if(isset($datadinascita, $citta, $provincia)){
echo "<h1> Esecuzione in corso dell'aggiornameto profilo... </h1>";
$qry = "UPDATE utenti SET
datadinascita='$datadinascita',
citta='$citta',
provincia='$provincia',
anno_diploma='$anno_diploma'
WHERE email = 'miaemail@gmail.com'";
//$qry="UPDATE utenti SET datadinascita='$datadinascita', citta='$citta', provincia='$provincia' WHERE email='".$email."";
if (mysql_query($qry)){
echo "... Aggiornamento effettuato correttamente....";
} else {
echo "Errore: Non è stato possibile effettuare l'aggiornamento richiesto" or die (mysql_error());
}
}
?>
Considerate una cosa, questo è un form di prova, per non incasinare l'originale. Come vedete non c'è nessun login e passqword per entrare. Quindi un semplice form. Invece una volta che ho risolto il problema, dovrò fare in modo che ogni utente possa continuare a modificare il suo profilo senza che viene visualizzato i dati dell'altro utente. Mi hanno consigliato a posto di questa riga:
Codice PHP:
WHERE email = 'miaemail@gmail.com'"; //'laggiornamento avviene solo se metto la mia emal non so il perchè....
A posto dell'email dovrei controlla re il tuoo con id_session. Spero in un vostro aiuto, sono rimasto bloccato e non riesco ada ndare avanti. Grazie.