Salve a tutti, ho un problema con questa stringa che ho realizzato in php. Ho lasciato solo un elemento qui in basso (giorno), tuttavia tengo a precisare che se oltre a giorno nel form metto username, Nome, ecc; gli aggiornamenti avvengono perfettamente, tutti ad eccezzione di giorno che non riesco neanche a stampare nella pagina. Inoltre se provo il form con mese o anno il risultato è lo stesso. Il form serve per quelle sezioni dove occorre modificare una data o crearne una dove non ci sia; nel database giorno, mese e anno non sono messi come una data unica, ma separati in 3 parti, ognuna di tipo int, con un massimo di 2 caratteri per mesi e giorni e 4 per anno. Nel modo sotto descritto riesco a modificare anche l' id (tipo int e chiave e primaria), tuttavia non riesco nenache a stampare il giorno contenuto nel database. Se qualcuno potesse darmi una spiegazione ne sarei felice.
Codice PHP:
<?php if(isset($_SESSION['username'])){ $username = mysql_real_escape_string($_POST['username']); $giorno = mysql_real_escape_string($_POST['giorno']); $id = mysql_real_escape_string($_POST['id']); echo '<input type="hidden" name="id" value="'.$_SESSION["id"].'" />'; echo '<table width=100% height=100%><tr>'; echo '<td width="20%"><label for="giorno">Giorno</label></td><td><input type="text" name="giorno" value="'.$_SESSION["giorno"].'" /></td></tr>'; echo '<tr><td width="80%"><input type="submit" id="submit" value="Invia" /></td></tr></table>'; if($username == "" || $id == ""){ }else{ $recuperauseremail = mysql_query("SELECT id FROM utenti WHERE (username='.$username.' OR id='.$id.') AND username!='".$_SESSION['username']."'"); $contausermail = mysql_num_rows($recuperauseremail); if($contausermail > 0){ } else { $inviautenti = mysql_query("UPDATE utenti SET giorno='$giorno' WHERE id = '$id' AND username = '$username'"); if($inviautenti){ $_SESSION["giorno"] = $giorno; }} } } ?>
Ciao!!