Registrazione automatica aggiungere campi
Autore: Adriano A.
Visite 1854,
Followers 3,
Condiviso 0
Ciao a tutti,
nel modulo automatico che si crea quando imposto la registrazione automatica dell'utente,
è possibile aggiungere dei campi ulteriori al form?
Grazie
Adriano
Postato il
certo, puoi aggiungere modificando nel tuo database.
no... dovresti modificare anche la pagina di registrazione...
Autore
Sapreste indicarmi qual'è il file che viene generato in automatico?
Grazie
Adriano
credo sia imlogin.php ma la genera automaticamente website e finchè non esporti il progetto, non viene generata...
Autore
Ok grazie...
Vediamo un po se riesco ad inserire un paiodi campi senza fare troppi danni...
facci sapere se hai dei risultati...
Autore
il campo l'ho aggiunto facilmente replicando lo uno spezzone di codice e sostituendo le parti in grassetto
<div class="imLoginBlock">
<label for="imLastname"><span>Cognome:*</span></label><br />
<input type="text" name="imLastname" id="imLastname" class="mandatory"><br />
</div>
Quello che non riesco adesso a fare e non credo di riuscire è creare il nuovo campo sul db automaticamente come avviene per gli altri, ho dato un occhio al codice ma non credo di essere abbastanza competente da trovare una soluzione.
Viene generato il db ma del mio nuovo campo neanche l'ombra....
Inoltre ho notato che la validazione dell'indirizzo, a prescindere dall'inserimento del nuovo campo non funziona,
quando valido dall'email ricevuta mi inotra alla seguente pagina: http://www.ortopedianovarese.it//imlogin.php?err=-6
La validazione dal pannello di controllo di web site funziona regolarmente.
Questa è la pagina di registrazione protetta che al momento non ho reso fisibile: http://www.ortopedianovarese.it/area_clienti.php
Glia accessi al pannello di controllo sono i seguenti:
***
ortopedia_2014
Suggerimenti :((((
Grazie
Io ho già provato con la versione 13 ad aggiungere dei campi con esito positivo.
Naturalmente con pagine PHP esterne e non con il programma.
La tabella degli iscritti è meglio che sia creata da website, quindi prima di aggiungere un campo occorre fagliela creare.
Ciao
Autore
Ciao Giorgio,
grazie per la risposta.
Non ho ben capito il tuo messaggio.
Se intendi di utilizzare degli script php che interagiscono con il modulo email di web site nessun problema...
Non ho ben capito "quindi prima di aggiungere un campo occorre fagliela creare."
Cmq modifiche al codice a parte (che comprendo possano essere più complesse) non capisco perchè
la validazione non funzioni essendo una funzione integrata nel programma.
Ciao Adriano, non ho mai provato a modificare il file imlogin, anche perchè credo che ci siano dei controlli per validare i dati inseriti che esulano dalle mie competenze.
Sicuramente un'altro limite è che ogni volta il programma rigenera quella pagina che andrebbe modificata sul server.
Io ho semplicemente inserito una pagina utente che una volta loggati va completata con dati aggiuntivi.
Ciao
ciao Giorgio, quindi con la 13 hai implementato una pagina php esterna di atterraggio dopo la registrazione automatica in cui hai inserito i campi aggiuntivi : ma come hai memorizzato gli ulteriori campi al corrispondente record utilizzando l'username id?
perché è un casino di codice php e mysqli in questo modo
Potresti postare il codice che ho una urgenza?
grazie mille!
Questo è un'esempio di un mio script (vers 13 per quello che può servire al di fuori del contesto...) che aggiunge un campo (boleano) ai dati dell'utente.
Attenzione a far aggiungere dati agli utenti che se non filtrati adeguatamente possono creare problemi di sicurezza e integrità al database.
Ciao
<?php
$pa = Configuration::getPrivateArea();
$user = $pa->whoIsLogged();
$username=$user['username'];
//$realname=$user['realname'];
$newl = ($_REQUEST['newl']); //dato da aggiungere che proviene da un form
$qchiave = array_keys($imSettings['databases']);
$qdati = getDbData($qchiave[0]);
$host = $qdati['host'];
$db_user = $qdati['user'];
$db_psw = $qdati['password'];
$db_name = $qdati['database'];
$qfolder = $imSettings['general']['public_folder'];
$tabella = $imSettings['access']['dbtable'];
$db = new mysqli ($host, $db_user, $db_psw, $db_name);
$db ->autocommit(FALSE);
if ($db->connect_error) { die("Connessione fallita: " . $db->connect_error); }
//controlla l'esistenza del campo newl e se non esiste lo crea
$sql = "SELECT newl FROM $tabella WHERE username ='$username'";
$result = $db->query($sql);
if ($result->num_rows == 0)
{$sql = "ALTER TABLE $tabella ADD newl BOOLEAN DEFAULT 0 NOT NULL";
$result = $db->query($sql);
}
$sql = "UPDATE $tabella SET newl='$newl' WHERE username ='$username' ";
$result = $db->query($sql);
if ($db->query($sql) === TRUE) {
echo "comando eseguito con successo!";
} else {
echo "Error updating record: " . $db->error;
}
$db->close();
?>
Grazie Giorgio!!
Ciao Giorgio. Ma con la 14 e con registrazione automatica come si fa a far "atterrare" l'utente su una pagina utente specifica dove far inserire i dati aggiuntivi? Purtroppo Incomedia ha rimosso la funzione Pagina di ingresso sulla 14. Dopo il login si va in automatico sulla home page (cosa per me inconcepibile). C'é una soluzione per far "atterrare" l'utente su una pagina specifica con la 14? Grazie
P.S. Incomedia... Ma perché con ogni nuova versione ci complicate sempre un po' la vita sulle funzioni che andavano alla grande sulle vecchie versioni? Che vi abbiamo fatto di male?
d
di questo vorrei sapere di piu anche io. complicate un po? no Giuseppe ... direi un po tanto. togliendo funzionalita a cui si abbitua nel tempo , cosi di nuovo dovremo aggiungere degli script.
@Giorgio, quando affermi cose funzionanti, imposta nel post tutte le informazioni. ti consiglierei anche di fare video youtube , pure per gli utenti che sono meno capaci di te!
@Giorgio, ma come si modifica il codice php per farlo funzioanre con la v14 dal moment che hanno cambiato i campi di accesso settando come chiave l'email al posto dell'username?
Grazie
@Giuseppe, quando esporti il sito, devi cambiare manualmente il nome della pagina a cui si atterra, e questo lo devi fare ogni volta che fai una mofidica al progetto.
C'era un post Idea dove l'abbiamo appoggiato ed invitato ncoemdia risolverlo al più presto
SitiWeb App... Ogni volta modificare manualmente il nome della pagina ad ogni modifica? No, vabbè... Assolutamente no... Andrebbe reintrodotta tale funzione per la scelta della Pagina di ingresso dopo la registrazione. Credo sia la cosa più sensata da fare. Ma non dipende da noi, purtroppo.
@Giorgio, ma come si modifica il codice php per farlo funzioanre con la v14 dal moment che hanno cambiato i campi di accesso settando come chiave l'email al posto dell'username?
Grazie
ciao Giorgio, ho provato il codice con la v14 e non và...ho anhe sostituito il cmapo "username" con "email" ma non và...