• User

    ok scusami e tutto li perfetto ....sei stato un grande non ce che dire gentilisso nel seguirmi passo passo grazie.

    se adesso io volessi creare una registrazione con molte piu parti ..la mia domanda e : basta aggiungere nel db cio che voglio inserire ossia le domande da me proposte nel form


  • ModSenior

    si basta aggiugnere altri campi nella tabella, e modificare la query del file php...


  • User

    scusa ultima cosa e poi ti giuro che non ti rompo piu ...(per adesso)

    volevo sapere se volessi tutto quello che ha compilato l'utente
    ossia :
    nome :
    cognome:
    citta:
    ecc..

    in modo ordinato come sto elencando io come devo fare ?


  • ModSenior

    nel form aggiungi gli altri input...

    modifichi la tabella del database aggiugneno gli altri campi

    nel file registrati.php
    devi aggiugnere, per ogni campo:
    [php]
    $cognome = (isset($_POST['cognome'])) ? trim($_POST['cognome']) : ''; // Metto nella variabile 'cognome' il dato inviato dal modulo, se non viene inviato dò di default ''
    [/php]

    e devi modificare la query:
    [php]
    $strSQL = "INSERT INTO utenti (user,pass,mail, cognome)";
    $strSQL .= "VALUES('$user', '$pass', '$mail', '$cognome')";
    [/php]

    il tutto per ogni campo aggiuntivo...


  • User

    quindi se ho capito bene
    se io volessi agiungere il cognome inserisco :
    $cognome = (isset($_POST['cognome'])) ? trim($_POST['cognome']) : ''; // Metto nella variabile 'cognome' il dato inviato dal modulo, se non viene inviato dò di default ''

    se voglioa ggiungere il codice fiscale faccio cosi:

    	 			 $codfiscale = (isset($_POST['codfiscale'])) ? trim($_POST['codfiscale']) : '';    // Metto nella variabile 'cognome' il dato inviato dal modulo, se non viene inviato dò di default ''  
    

    poi
    $strSQL = "INSERT INTO utenti (user,pass,mail, cognome , codfiscale)";
    $strSQL .= "VALUES('$user', '$pass', '$mail', '$cognome','$codfiscale')";

    giusto.


  • User

    cmq grazie tantissimo sei stato di grandissimo aiuto .....grazie .


  • ModSenior

    si esatto...

    prego...
    alla prossima 😉


  • User

    unaltra cosa come faccio ha controllare se il numero della p.inva e di max 11 e che nel database non sia presente la stessa p.iva?
    grazie .:)


  • ModSenior

    max 11 intendi lungo 11 caratteri?
    per controllare se è presnet ela partita iva puoi usare il pezzo di codice che controlla se il nome utente sia già usato...


  • User

    quindi devo inserire prima
    [php] // Controllo la P.Iva
    elseif(strlen($p_iva) < 11 || strlen($p_iva) > 11)
    die('P.Iva non corretta max 11 numeri');[/php]e poi inserisco
    [php]// Controllo se la P IVA non sia già CONTENUTA NEL DB
    elseif(mysql_num_rows(mysql_query("SELECT p_iva FROM utenti WHERE p_iva = '$p_iva' LIMIT 1")) == 1)
    die('Questo P.IVA ; risulta già registrata ad un altro utente');[/php]in phpmyadmin se inserisco
    nome .iva
    tipo:int lunghezza 11
    azione :unica

    mi esce in automatico uno zero "0" nella sezione predefinito e quando vado a registrare un utente con partita iva che inizia con qualsiasi numero, il primo di questi numeri non mi viene visualizzato nella sezione "mostra" di phpmyadmin.
    mentre se inserisco:
    nome:.iva
    tipo:varchar lunghezza 11
    azione:unica

    tutto fila alla perfezzione ossia contrallo se ce un doppione di p.iva e la segnala e in "mostra" mi visualizza la p.iva per intero con tutti i numeri inseriti durante la registrazione.

    ma poi come posso fare per dire all'utente che si sta registrando che se sbadatamente inserisce una lettera al posto di un numero sta sbagliando?

    grazie mille dinuovo TheDarkIta.:)


  • User

    grazie mille dinuovo TheDarkIta.:)


  • ModSenior

    Per controllare se è un numero:
    [php]
    if(!is_numeric($p_iva)) die('Partita iva non valida')
    [/php]


  • User

    grazie vado subito a controllare !!!!!


  • User

    perfect. come alsolito.....
    grazie dinuovo. :smile5:


  • User

    grazie a TheDarkIta e alla sua area utenti sono riuscito a fare un quasi bel lavorino....il quasi e rivolto al fatto che adesso per avere tutti campi compilati in maniera ordinata magari inviati verso un emai e in formato tipo:
    nome:aaa
    cognome:aaa
    pass:aaaa
    p.iva:aaaa
    ragione sociale:aaaa
    ecc.......
    non so propio come riuscire a farlo...ossia inpacchettare il tutto e ritrovarmelo ordinato nella mia email ..... :mmm:


  • ModSenior

    [php]
    // Invio l'email all'utente
    $subject = "Titolo email";
    $headers = "Content-Type: text/html; charset=ISO-8859-1\r\n";
    $message = "Ciao $user ti diamo il Benvenuto su sito!<br>
    <br>
    Informazioni utente:<br>
    <br>

    • Nickname: $user<br>
    • Email: $email<br>
    • Partita iva: $p_iva
      <br>
      <br>
      <br>
      <br>
      Grazie per esserti registrato.<br>
      ";
      mail($email,$subject,$message, $headers);
      [/php]

  • User

    ho provato a inserire il tuo invia email nel file registrati.php
    ma mi restituisce un errore ......
    dimenticavo ho modificato i seguenti file per inviarmi una email per vedere se funzionava tutto i file mod sono
    APACHE (php.ini)
    CONF_FILES (php.ini)
    PHP (php.ini php.ini-recommended php.ini-dist)

    e di preciso ho modificato questo campo

    [mail function]
    ; For Win32 only.
    SMTP = localhost
    smtp_port = 25
    ; For Win32 only.
    sendmail_from = [email protected]
    che si trova in tutti i file elencati prima

    in

    [mail function]
    ; For Win32 only.
    SMTP = smtp.tiscali.it
    smtp_port = 25
    ; For Win32 only.
    sendmail_from = [email protected]

    e l'errore che mi da quando invio il modulo e :

    Warning: mail(): Failed to connect to mailserver at "smtp.tiscali.it" port 25, verify your "SMTP" and "smtp_port" setting in php.ini or use ini_set() in c:\programmi\easyphp1-8\www\registrati.php on line 189

    Warning: Cannot modify header information - headers already sent by (output started at c:\programmi\easyphp1-8\www\registrati.php:189) in c:\programmi\easyphp1-8\www\registrati.php on line **193

    non vorrei forse devo inserire il cod per le email in un altro file tipo registrato.php?

    cmq aspetto tue notizie grazie per la pazienza.:)
    **


  • ModSenior

    Il problema è la configurazione, comunque non ho mai dovuto inviare email da locale quindi non saprei darti una soluzione sicura su come far inviare le email...

    prova a fare un giro su google magari trovi come configurare... in alternativa prova su un hosting gratuito che tutto funzioni....


  • User

    mille grazie TheDarkIta sono riuscito da solo:o incredibile vero !!!! e sono riuscito ad inviare un email grazie per la pazienza 😉

    sbagliavo sul smtp ho dovuto inserire quello del mio provider con il quale mi connetto altrimenti non andava e poi ho fatto le mod ai php.ini ed e andato tutto liscio questo grazie anche al tuo scrip per invio email..che mi hai dato prima;)


  • ModSenior

    ok 😄

    prego 😉