- Home
- Categorie
- Coding e Sistemistica
- PHP
- [Tutorial] Area privata
-
Non sò cosa hai fatto, comunque l'errore indica che non hai inserito un valore di default per il campo provincia. Modifica la tabella inserendo un valore di default altrimenti devi passare un valore nella query di inserimento.
-
Ma io*** non ho creato la tabella provincia*** perchè non la so fare mi aiuteresti?
p.s. controlla l'altro post (quello su l'upload).
-
Perfetto mi sembra funzionare a meraviglia adesso!! grazie thed! posso sottoporti un'altro caso o vuoi un po' di tempo per riposarti? =D
-
Zomer ma io mica sò cosa vuoi fare...
BlueDragon89, se senti al TG che un poveretto si è sucidato, beh quello sono io.
Io una mano ve la dò volentieri, però il tutorial sarebbe per imparare voi, non posso farvi i siti interamente io. Quanto meno dove provarci...
-
Purtroppo hai ragione... comunque ho creato uno script per l'update del profilo utente.
Lo script mi visualizza tutte i campi che sono già presenti sul Database però quando vado a inserire i campi vuoti con i miei dati e clicco su salva o update lui mi dice che il campo e-mail e tutti i campi già nel Database dal momento della registrazione sono già registrati da un'altro utente.. per cui dovrei cancellare tutti i valori che vedo a schermo e inserire solo i campi che mi ricordo vuoti per avere poi un profilo completo sul database. E' un po' lungo come discorso mi sono spiegato?
-
Se il valore rimane invariato è inutile fare un update di quel campo.
Puoi fare una cosa così:
[php]
if(isset($_POST['invio']))
{// Dati Inviati dal modulo $v1 = (isset($_POST['v1'])) ? trim($_POST['v1']) : ''; // Metto nella variabile 'v1' il dato inviato dal modulo, se non viene inviato dò di default '' $v2 = (isset($_POST['v2'])) ? trim($_POST['v2']) : ''; // Metto nella variabile 'v2' il dato inviato dal modulo, se non viene inviato dò di default '' // Filtro i dati inviati se i magic_quotes del server sono disabilitati per motivi di sicurezza if (!get_magic_quotes_gpc()) { $v1 = addslashes($v1); $v2 = addslashes($v2); } $setquery = ''; if($attualev1 != $v1) $setquery = ((isset($setquery)) ? $setquery.",campov1 = '$v1'" : "campov1 = '$v1'");// IF in forma contratta, sintassi: ((CONDIZIONE) ? RETURN_TRUE : RETURN_FALSE)
if($attualev2 != $v2)
$setquery = ((isset($setquery)) ? $setquery.",campov2 = '$v2'" : "campov2 = '$v2'");// IF in forma contratta, sintassi: ((CONDIZIONE) ? RETURN_TRUE : RETURN_FALSE)mysql_query("UPDATE tabella SET $setquery WHERE id = '$mioid'");
}
[/php]
-
Nelle pagine precedenti ho letto qeusto topic scritto da gigi e volevo sapere come devo fare le tabelle perchè io non ne sono capace mi potresti aiutare?
Ora, sono tornato alla pagina di registrazione, e tanto per complicarmi di più la vita ho deciso di inserire un menu a tendina con tutte le province italiane..
Per non sprecare spazio nel database ho creato una nuova tabella 'province' con i campi "id" e "nome", in modo da registrare come dato nella tabella utenti solo il numero id della provincia, e rendere visibile sulle pagine *php *(e nel menù a tendina) il nome per intero.
Nella vecchia tabella 'utenti' ho aggiunto il campo residenza.in poche parole mi potreste dare queste 2 tabelle? per creare il menu a tendina?
-
Zomer io cosa vuoi fare ancora non l'ho capito vedi... Se non lo spieghi è difficile aiutarti.
Comunque per creare le tabelle puoi entrare nel phpmyadmin, una volta entrato nel database dal menu a tendina, in fondo trovi crea tabella.
-
A ok grazie ora volevo sapere come devono essere strutturate le tabelle?
Cosi?CREATE TABLE provincia (
id VARCHAR(20),
napoli VARCHAR(20),
id VARCHAR(20),
roma VARCHAR(20),
id VARCHAR(20),
milano VARCHAR(20),);
:bho:
-
Dovresti creare id e provincia.
Dopo devi inserire un record per ogni provincia.
-
Mi potresti fare una tabella di esempio con due o tre provincie?
-
CREATE TABLE provincia ( id VARCHAR(2), provincia VARCHAR(20) );
Poi dal phpmyadmin, entri nella tabella e fai inserisci e inserisci ad esempio id=MI provincia=Milano.
-
Ho capito cosi?
CREATE TABLE provincia (
MI VARCHAR(2),
Milano VARCHAR(20),
NA VARCHAR (2),
NAPOLI VARCHAR (20)
);E continuo così per tutte le regioni
-
Ti ho scritto qui come fare...
-
Si ma non ho capito fammi un esempio più lungo, con più città.
-
Devi fare inserisci per tutte le città per inserire i record.
Trovi una guida utile per te qui.
-
Errore
-
Ecco una screen di quello che ho fatto ora come posso creare il munu a tendina? mi daresti il codice php?
h**p://img443.imageshack*us/img443/4093/cartaidentitai.jpg
-
@Thedarkita said:
[...]
Ciao Thedarkita allora ho installato il codice che mi hai dato...però non mi registra le modifiche...
Poi ero anche interessato a vedere i dati che erano già presenti sul database. Mi spiego meglio nella registrazione chiedo: nome, cognome, username, password obbligatori e telefono, fax etc.. non obbligatori.
per cui se un utente volesse in un secondo momento inserire, modificare o cancellare queste informazioni per il momento mi si presenta un form che è uguale a quello di registrazione e se io fossi l'utente l'avrei ricompilato interamente. Per ovviare questo problema ho inserito nel campo input del mio form di ogni voce questo:<input name="name" class="inputform" type="text" id="name" value="<?php echo $USER["name"];?>" onFocus="if(this.value=='Nome') this.value='Nome';" /> ```ed è effettivamente il risultato che volevo. Ora però se io vado a fare l'update del campo vuoto devo cancellare tutti gli altri dati che mi si visualizzano... come fare? [php]<?php // Includo la connessione al database require('config.php'); // Se non è stata definita la variabile manda l'utente alla homepage if(!isset($_SESSION['login'])) { header('Location: login.php'); exit; } // Se il modulo viene inviato... if(isset($_POST['invio'])) { // Dati Inviati dal modulo $username = (isset($_POST['username'])) ? trim($_POST['username']) : ''; // Metto nella variabile 'username' il dato inviato dal modulo, se non viene inviato dò di default '' $password = (isset($_POST['password'])) ? trim($_POST['password']) : ''; // Metto nella variabile 'password' il dato inviato dal modulo, se non viene inviato dò di default '' $mail = (isset($_POST['mail'])) ? trim($_POST['mail']) : ''; // Metto nella variabile 'mail' il dato inviato dal modulo, se non viene inviato dò di default '' $name = (isset($_POST['name'])) ? trim($_POST['name']) : ''; // Metto nella variabile 'name' il dato inviato dal modulo, se non viene inviato dò di default '' $surname = (isset($_POST['surname'])) ? trim($_POST['surname']) : ''; // Metto nella variabile 'surname' il dato inviato dal modulo, se non viene inviato dò di default '' $azienda = (isset($_POST['azienda'])) ? trim($_POST['azienda']) : ''; // Metto nella variabile 'azienda' il dato inviato dal modulo, se non viene inviato dò di default '' $occupazione = (isset($_POST['occupazione'])) ? trim($_POST['occupazione']) : ''; // Metto nella variabile 'occupazione' il dato inviato dal modulo, se non viene inviato dò di default '' $indirizzo = (isset($_POST['indirizzo'])) ? trim($_POST['indirizzo']) : ''; // Metto nella variabile 'indirizzo' il dato inviato dal modulo, se non viene inviato dò di default '' $citta = (isset($_POST['citta'])) ? trim($_POST['citta']) : ''; // Metto nella variabile 'citta' il dato inviato dal modulo, se non viene inviato dò di default '' $comune = (isset($_POST['comune'])) ? trim($_POST['comune']) : ''; // Metto nella variabile 'comune' il dato inviato dal modulo, se non viene inviato dò di default '' $provincia = (isset($_POST['provincia'])) ? trim($_POST['provincia']) : ''; // Metto nella variabile 'provincia' il dato inviato dal modulo, se non viene inviato dò di default '' $cap = (isset($_POST['cap'])) ? trim($_POST['cap']) : ''; // Metto nella variabile 'cap' il dato inviato dal modulo, se non viene inviato dò di default '' $telefono = (isset($_POST['telefono'])) ? trim($_POST['telefono']) : ''; // Metto nella variabile 'telefono' il dato inviato dal modulo, se non viene inviato dò di default '' $fax = (isset($_POST['fax'])) ? trim($_POST['fax']) : ''; // Metto nella variabile 'fax' il dato inviato dal modulo, se non viene inviato dò di default '' // Filtro i dati inviati se i magic_quotes del server sono disabilitati per motivi di sicurezza if (!get_magic_quotes_gpc()) { $username = addslashes($username); $password = addslashes($password); $mail = addslashes($mail); $azienda = addslashes($azienda); $occupazione = addslashes($occupazione); $indirizzo = addslashes($indirizzo); $citta = addslashes($citta); $comune = addslashes($comune); $provincia = addslashes($provincia); $cap = addslashes($cap); $telefono = addslashes($telefono); $fax = addslashes($fax); } $setquery = ''; if($attualeusername != $username) $setquery = ((isset($setquery)) ? $setquery.",campousername = '$username'" : "campousername = '$username'");// IF in forma contratta, sintassi: ((CONDIZIONE) ? RETURN_TRUE : RETURN_FALSE) if($attualepassword != $password) $setquery = ((isset($setquery)) ? $setquery.",campopassword = '$password'" : "campopassword = '$password'");// IF in forma contratta, sintassi: ((CONDIZIONE) ? RETURN_TRUE : RETURN_FALSE) if($attualemail != $mail) $setquery = ((isset($setquery)) ? $setquery.",campomail = '$mail'" : "campomail = '$mail'");// IF in forma contratta, sintassi: ((CONDIZIONE) ? RETURN_TRUE : RETURN_FALSE) if($attualeazienda != $azienda) $setquery = ((isset($setquery)) ? $setquery.",campoazienda = '$azienda'" : "campoazienda = '$azienda'");// IF in forma contratta, sintassi: ((CONDIZIONE) ? RETURN_TRUE : RETURN_FALSE) if($attualeoccupazione != $occupazione) $setquery = ((isset($setquery)) ? $setquery.",campooccupazione = '$occupazione'" : "campooccupazione = '$occupazione'");// IF in forma contratta, sintassi: ((CONDIZIONE) ? RETURN_TRUE : RETURN_FALSE) if($attualeindirizzo != $indirizzo) $setquery = ((isset($setquery)) ? $setquery.",campoindirizzo = '$indirizzo'" : "campoindirizzo = '$indirizzo'");// IF in forma contratta, sintassi: ((CONDIZIONE) ? RETURN_TRUE : RETURN_FALSE) if($attualecitta != $citta) $setquery = ((isset($setquery)) ? $setquery.",campocitta = '$citta'" : "campocitta = '$citta'");// IF in forma contratta, sintassi: ((CONDIZIONE) ? RETURN_TRUE : RETURN_FALSE) if($attualecomune != $comune) $setquery = ((isset($setquery)) ? $setquery.",campocomune = '$comune'" : "campocomune = '$comune'");// IF in forma contratta, sintassi: ((CONDIZIONE) ? RETURN_TRUE : RETURN_FALSE) if($attualeprovincia != $provincia) $setquery = ((isset($setquery)) ? $setquery.",campoprovincia = '$provincia'" : "campoprovincia = '$provincia'");// IF in forma contratta, sintassi: ((CONDIZIONE) ? RETURN_TRUE : RETURN_FALSE) if($attualecap != $cap) $setquery = ((isset($setquery)) ? $setquery.",campocap = '$cap'" : "campocap = '$cap'");// IF in forma contratta, sintassi: ((CONDIZIONE) ? RETURN_TRUE : RETURN_FALSE) if($attualetelefono != $telefono) $setquery = ((isset($setquery)) ? $setquery.",campotelefono = '$telefono'" : "campotelefono = '$telefono'");// IF in forma contratta, sintassi: ((CONDIZIONE) ? RETURN_TRUE : RETURN_FALSE) if($attualefax != $fax) $setquery = ((isset($setquery)) ? $setquery.",campofax = '$fax'" : "campofax = '$fax'");// IF in forma contratta, sintassi: ((CONDIZIONE) ? RETURN_TRUE : RETURN_FALSE) mysql_query("UPDATE tabella SET $setquery WHERE id = '$id'"); } ?>[/php] Dato che il codice è molto lungo metto in spoiler.
-
Dovresti fare:
[php]
if($attualeusername != $username && $username != '')
[/php]