imart Inviato 11 Luglio 2009 Segnala Condividi Inviato 11 Luglio 2009 Ciao ragazzi e' la prima volta che mi trovo alle prese con questo tipo di codice... Ho creato un sito con registrazione e la possibilita' di modificare il proprio profilo ma qualcosa non mi torna... Quando clicco "Modifica profilo" mi si presentano i campi modificabili, che sono 5. -Password -Citta' -Provincia -Musica Preferita -Avatar Ma se io cambio solo la password e gli altri campi li lascio vuoti, diventano vuoti nel DB... Il codice che dovrebbe controllare il tutto e' il seguente... non fateci caso non sono esperto... <?php $nuova_pwd = md5($nuova_password); if ($conferma_password != $nuova_password) { echo "Le password non combaciano!"; } elseif ($conferma_email != $nuova_email) { echo "Le E-mail non combaciano!"; } else { if (isset($_POST['nuova_password'])); if (isset($_POST['conferma_password'])); if (isset($_POST['nuova_email'])); if (isset($_POST['conferma_email'])); if (isset($_POST['nuovo_avatar'])); if (isset($_POST['musica_preferita'])); $modifica_profilo = "UPDATE utenti SET password='$nuova_pwd',email='$nuova_email',avatar='$nuovo_avatar',musica_preferita='$musica_preferita' WHERE username='$username'"; $result = mysql_query($modifica_profilo); echo "Profilo aggiornato!"; } ?> Belli come la vita, neri come la morte. FOLGORE!!! Link al commento Condividi su altri siti Altre opzioni di condivisione...
dieguito Inviato 11 Luglio 2009 Segnala Condividi Inviato 11 Luglio 2009 Ciao, spero di aver interpretato bene il tuo post.. ma ti "azzera" gli altri campi anche se passi alla query solo i campi da modificare? cioè se tu vuoi modificare ad esempio solo la password, passi come parametro alla query solo la nuova pwd o anche gli altri campi vuoti? Comunque credo che tu debba recuperare tutti i campi(in modo da presentare all'utente il form già compilato con i valori attuali) e ripassare il tutto alla query, quindi campi aggiornati e non... portfolio:http://www.diegocostantino.com Link al commento Condividi su altri siti Altre opzioni di condivisione...
Cicciokr Inviato 11 Luglio 2009 Segnala Condividi Inviato 11 Luglio 2009 ma è ovvio.. devi fare una cosa.. devi mettere un select dove vuoi modificare i campi.. aspe ti scrivo il codice: <?php $quert = "SELECT * FROM utenti SET password='$nuova_pwd',email='$nuova_email',avatar='$nuovo_avatar',musica_preferita='$musica_preferita' WHERE username='$username'"; ?> <form name="" src=""> //il form name e src lo devi scrivere tu.. perchè io non so il nome del tuo file.. e ne tantomeno se lo stesso file esegue l'update.. //qui sotto con il select ho preso i dati dal database.. se l'utente vuole modificarli.. basta ch eli cambia.. altrimenti li lascia cosi.. e nel database //nn perdi nulla.. Password: <input name="nuova_password" value="<?= $quert['password'] ?>" /> Conferma Password: <input name="conferma_password" value="<?= $quert['password'] ?>" /> Email: <input name="nuova_email" value="<?= $quert['email'] ?>" /> Conferma Email: <input name="conferma_email" value="<?= $quert['email'] ?>" /> guardati il codice.. e spero tu riesca a risolvere il problemuccio.. Ciao ^^ Link al commento Condividi su altri siti Altre opzioni di condivisione...
imart Inviato 11 Luglio 2009 Autore Segnala Condividi Inviato 11 Luglio 2009 ma è ovvio.. devi fare una cosa..devi mettere un select dove vuoi modificare i campi.. aspe ti scrivo il codice: <?php $quert = "SELECT * FROM utenti SET password='$nuova_pwd',email='$nuova_email',avatar='$nuovo_avatar',musica_preferita='$musica_preferita' WHERE username='$username'"; ?> <form name="" src=""> //il form name e src lo devi scrivere tu.. perchè io non so il nome del tuo file.. e ne tantomeno se lo stesso file esegue l'update.. //qui sotto con il select ho preso i dati dal database.. se l'utente vuole modificarli.. basta ch eli cambia.. altrimenti li lascia cosi.. e nel database //nn perdi nulla.. Password: <input name="nuova_password" value="<?= $quert['password'] ?>" /> Conferma Password: <input name="conferma_password" value="<?= $quert['password'] ?>" /> Email: <input name="nuova_email" value="<?= $quert['email'] ?>" /> Conferma Email: <input name="conferma_email" value="<?= $quert['email'] ?>" /> guardati il codice.. e spero tu riesca a risolvere il problemuccio.. Ciao ^^ si infatti l'ho pensato anche io ieri di mettere come values il valore attuale cosi si inserisce sempre lo stesso sempre se non lo cambia... Grazie a tutti e due, in questo modo so gia' che risolvo Belli come la vita, neri come la morte. FOLGORE!!! Link al commento Condividi su altri siti Altre opzioni di condivisione...
Messaggi raccomandati
Archiviato
Questa discussione è archiviata e chiusa a future risposte.