Campi personalizzati profilo (unico)

Area dedicata al phpBB 3.3.X
Rispondi
Avatar utente
PaoloG
Nuovo Utente
Nuovo Utente
Messaggi: 3
Iscritto il: 16/04/2021, 22:30
Link del Forum: No

Campi personalizzati profilo (unico)

Messaggio da PaoloG »

Ho provato a creare un nuovo campo personalizzato nel modulo di iscrizione, solo che il dato inserito dovrebbe essere di tipo unico.
Ovviamente, impostando un indice unico sul campo nella tabella tab_profile_fields_data, questo non genera nessun messaggio di avviso ma il messaggio di errore :

Errore Generale
SQL ERROR [ mysqli ]

Duplicate entry 'xxxxxx' for key 'pf_campo' [1062]

Questo dato in realtà, non sarebbe necessario che lo inserisse l'utente perché lo avrei memorizzato in una variabile di sessione, ma purtroppo non riesco a passarlo alla funzione che aggiunge i valori nel db.

In sostanza nell'ucp_register.php ho inserito :

Codice: Seleziona tutto

session_start();
$MioCampo = $_SESSION['Valore'];
e nell'array

Codice: Seleziona tutto

$user_row = array(
'Campo' => $MioCampo,
'username'				=> $data['username'],
........
Questo non genera nessun errore e l'iscrizione va a buon fine ma nel db il nuovo Campo (nuovo campo creato nella tab_users) rimane vuoto.
Ho provato ad inserire anche in

Codice: Seleziona tutto

$sql_ary = array( 'Campo' => $MioCampo 
del functions_user, ma niente.

Qualche suggerimento in particolare su come passare il valore della variabile di sessione?
Avatar utente
PaoloG
Nuovo Utente
Nuovo Utente
Messaggi: 3
Iscritto il: 16/04/2021, 22:30
Link del Forum: No

Re: Campi personalizzati profilo (unico)

Messaggio da PaoloG »

Risolto, un pò più complesso di quanto pensassi, ma con un pò di pazienza ci si riesce.
In sostanza, lo riporto perché potrebbe essere utile a qualcun' altro, da quel che ho capito facendo vari tentativi è che in primis non accetta la variabile $MioCampo ma accetta $_SESSION['Valore'] e non ho capito perché, quindi ho trasformato

Codice: Seleziona tutto

$user_row = array(
'Campo' => $MioCampo,
'username'				=> $data['username'],
........
in

Codice: Seleziona tutto

$user_row = array(
'Campo' => $_SESSION['Valore'],
'username'				=> $data['username'],
........
e poi in functions_user.php va implementata una funzione del tipo

Codice: Seleziona tutto

function validate_Campo($MioCampo)
altrimenti genera un errore.
Rispondi