Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 20
  1. #1

    [phpMyadmin] Creare un campo di tipo Email

    Ciao a tutto il forum scrivo qui per scoprire se è fattibile quanto segue:
    Vorrei creare una tabella e impostare un campo di tipo Email.

    Ovviamente tra i tipi di dato non esiste, ma c'è un modo per poter mettere come dato di default l'email?

    Ho creato un piccolo CMS e sto permettendo l'import di email tramite un campo textarea e non conoscendo la struttura della tabella mi servirebbe una campo, di tipo email, da utilizzare per fare l'import in modo corretto.

    Grazie

  2. #2
    Utente di HTML.it L'avatar di Ironmax
    Registrato dal
    Dec 2008
    Messaggi
    1,026
    Ciao a tutto il forum scrivo qui per scoprire se è fattibile quanto segue: Vorrei creare una tabella e impostare un campo di tipo Email.
    In effetti non esiste un campo definito escluivamente email, quello che puoi fare e dare il nome del campo email e come tipo di dato un varchar impostato a 255 come set di lunghezza in modo che puoi contenere tutte le lunghezze delle stringhe email e tutti i tipi di caratteri.

    Quello che puoi fare è un controllo a priori che si tratta di un indirizzo email prima che venga salvato nella tua tabella.

  3. #3
    Ti pongo le problematiche della tua soluzione.

    la tabella viene creata dinamicamente dal cliente impostando lui stesso la struttura per questo motivo non posso verificare il nome del campo che sia uguale a email perchè rischio che non ci sia proprio.

    Se ci fosse stata la possibilità di associare qualsiasi cosa che lo renda diverso da tutti gli altri campi allora lo posso considerare un campo Email ma non ho idea di cosa poter applicare al campo.

    Altrimenti darò al cliente la possibilità di indicare il nome a una tabella già impostata, e a quest'ultima non può apportare modifiche sulla struttura.

    Ma limita le operazioni...

  4. #4
    Utente di HTML.it L'avatar di Ironmax
    Registrato dal
    Dec 2008
    Messaggi
    1,026
    Ti pongo le problematiche della tua soluzione.
    Potresti giocare proprio sulla lunghezza del set, al posto di mettere 255, potresti metterne meno, ad esempio 241 e lo usi come se fosse una costante.
    Poi dovresti estrarti le proprietà set della tabella o dei campi che se equivale al valore 241 il campo sarà di tipo email.

    Sto cercando di arrivare per logica. Al momento non ho costruito alcun CMS

  5. #5
    Potrebbe essere un'idea la lunghezza diverse per il campo email mettendo quindi un fitizio campo email e se seleziona quella viene creato un campo di 240 o cose simili...

    Ci proverò

  6. #6
    Utente bannato
    Registrato dal
    Nov 2011
    Messaggi
    150
    Quale sarebbe il problema?
    Metti un campo varchar (che per inciso può essere anche più di 255 caratteri), e buonanotte.
    Gli indirizzi e-mail SONO varchar

  7. #7
    Utente di HTML.it L'avatar di Ironmax
    Registrato dal
    Dec 2008
    Messaggi
    1,026
    Quale sarebbe il problema? Metti un campo varchar (che per inciso può essere anche più di 255 caratteri), e buonanotte. Gli indirizzi e-mail SONO varchar
    Adesso ho consultato l'ultimo set della lunghezza caratteri che può contenere un campo varchar fino a 65535.
    Ma a parte questo se ho capito bene , @simone.marchese deve controllare che tipo di dato possa passare nel campo e non cosa contiene il campo.
    Credo che comunque affinchè funzioni correttemente anche il valore del campo, una volta popolato, deve essere di tipo "email"

  8. #8
    x lanciafiamme se il cliente mette due campi varchar in quale dei due metto la lista di email?

  9. #9
    Utente di HTML.it
    Registrato dal
    Apr 2012
    Messaggi
    91
    Non puoi creare dinamicamente un trigger che vada a fare il controllo sulla corretta sintassi del campo quando l'utente sceglie il tipo "Email" da CMS/Creazione Tabella?

    Una soluzione potrebbe essere:

    User sceglie campo con tipo di dato Email in fase di creazione da GUI.

    Se tipo di dato == Email --> creo trigger on before insert (che fa controllo su nome campo scelto da user)
    trigger --> richiama una SP che faccia il controllo sintattico del campo . Se il campo non è corretto tramite SIGNAL raise dell'errore o quello che ti serve
    altrimenti COMMIT del dato.

  10. #10
    Utente bannato
    Registrato dal
    Nov 2011
    Messaggi
    150
    Originariamente inviato da simone.marchese
    x lanciafiamme se il cliente mette due campi varchar in quale dei due metto la lista di email?
    Se non ho capito male puoi avere più campi, ognuno dei quali può contenere tanti dati, immagino numeri di telefono ed email.

    non sono un granchè esperto, però se vuoi essere sicuro l'unica risposta è...
    metti un campo "flagtipo" che specifica che cosa sono i campi che seguono.

    puoi invece operare meno precisamente esaminando il contenuto del campo: se trovi esattamente una @ ed almeno un . allora puoi presumere che sia una email
    se invece sono tutti numeri puoi pensare a un numero di telefono e così via.

    certamente però la "sicurezza" ce l'hai solo specificando espressamente il tipo del campo.

    potresti addirittura (qui mi sto lanciando) memorizzare dentro il campo il tipo stesso; ovvero email=pippo@pippo.com.
    Lato applicazione poi fai "saltar via" (rimpiazzi) lo specificatore


    PS si vede che sto studiando come un dannato mysql?

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2026 vBulletin Solutions, Inc. All rights reserved.