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.